SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée...
-
Upload
emmanuelle-de -
Category
Documents
-
view
107 -
download
3
Transcript of SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée...
SQLSQLPartie 1Partie 1
Le SGBDRLe SGBDRUne base de données relationnelle est Une base de données relationnelle est une une base de donnéesbase de données structurée structurée suivant les principes de l’suivant les principes de l’algèbre relationnellealgèbre relationnelle. (théorie due à . (théorie due à Edgar Frank Edgar Frank CoddCodd))Elle est mise en œuvre au moyen d’un Elle est mise en œuvre au moyen d’un Système de Gestion de Bases de Données Système de Gestion de Bases de Données RelationnellesRelationnelles (SGBDR). (SGBDR).Les données sont exploitées à l’aide Les données sont exploitées à l’aide de SQLde SQL
EXEMPLE : 4D, ACCESS, INFORMIX, EXEMPLE : 4D, ACCESS, INFORMIX, INGRES, MYSQL, ORACLE …INGRES, MYSQL, ORACLE …
Qu'appelle-t-on SQL?Qu'appelle-t-on SQL?
SQL (SQL (Structured Query Language),Structured Query Language), traduisez traduisez Langage de requêtes Langage de requêtes structuréstructuré est un langage de est un langage de définition de données LDD, un définition de données LDD, un langage de manipulation de données langage de manipulation de données LMD et un langage de contrôle de LMD et un langage de contrôle de données LCD, pour les données LCD, pour les bases de données relationnellesbases de données relationnelles. .
Le standard SQL a été normalisé en Le standard SQL a été normalisé en 1986 par l'ANSI pour donner SQL/86. 1986 par l'ANSI pour donner SQL/86.
Puis en 1989 la version SQL/89 a été Puis en 1989 la version SQL/89 a été approuvée.approuvée.
La norme SQL/92 a désormais pour La norme SQL/92 a désormais pour nom SQL 2. nom SQL 2.
Les types de données : Les types de données :
Les autres caractéristiques des Les autres caractéristiques des champschamps
Null (facultatif, par défaut) ou Not null si le Null (facultatif, par défaut) ou Not null si le champ ne peut être indéfinichamp ne peut être indéfini
Unique impose que tous les Unique impose que tous les enregistrements aient une valeur enregistrements aient une valeur différentedifférente
Default indique la valeur prise par défautDefault indique la valeur prise par défaut
Check précise une condition Check précise une condition
Autoinc permet d’auto incrémenter un Autoinc permet d’auto incrémenter un champ numérique entierchamp numérique entier
L’intégrité référentielleL’intégrité référentielle
La modification d’une table st La modification d’une table st soumise à l’intégrité référentielle qui soumise à l’intégrité référentielle qui définit les relations entre les tables à définit les relations entre les tables à travers les références des clés travers les références des clés étrangères aux clés primaires.étrangères aux clés primaires.
SQL est un langage SQL est un langage d’Interrogation de donnéesd’Interrogation de données
Interrogation d’une tableInterrogation d’une table– SELECT * FROM table; (PROJECTION)SELECT * FROM table; (PROJECTION)– SELECT * FROM table WHERE predicat; SELECT * FROM table WHERE predicat;
(SELECTION)(SELECTION)
Prédicat :Prédicat : + - * / + - * /
= > < >= <== > < >= <=
BETWEENBETWEEN
ININ
LIKELIKE
Trier le résultatTrier le résultat– SELECT * SELECT *
FROM table FROM table
(WHERE predicat)(WHERE predicat)
ORDER BY nom_champ1, … ;ORDER BY nom_champ1, … ;
La jointureLa jointure
Opération qui permet de combiner Opération qui permet de combiner les informations provenant de les informations provenant de plusieurs tables.plusieurs tables.
SELECT employe.*, lieuSELECT employe.*, lieu
FROM employe, serviceFROM employe, service
WHERE employe.WHERE employe.NumServiceEmployeNumServiceEmploye = =
service.service.NumServiceNumService;;
Sous-InterrogationSous-Interrogation
SELECT NomEmployeSELECT NomEmploye
FROM employeFROM employe
WHERE NumServEmploye = WHERE NumServEmploye = (SELECT NumService(SELECT NumService
FROM serviceFROM service
WHERE NomService = « labo »);WHERE NomService = « labo »);
Les opérationsLes opérations
Il est possible d’introduire des Il est possible d’introduire des calculqs dans l’instruction SELECT ou calculqs dans l’instruction SELECT ou dans les clause WHERE ou ORDER BYdans les clause WHERE ou ORDER BY– SUM()SUM()– AVG()AVG()– MIN()MIN()– MAX()MAX()– COUNT()COUNT()
Le regroupement des résultatsLe regroupement des résultats
Les opérations présentées auparavant et Les opérations présentées auparavant et exécutées dans l’instruction SELECT seule exécutées dans l’instruction SELECT seule délivreraient un seul enregistrement délivreraient un seul enregistrement résultat. La clause GROUP BY permet résultat. La clause GROUP BY permet d’effectuer des opérations par groupes de d’effectuer des opérations par groupes de données.données.