13
SQL SQL Partie 1 Partie 1

SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

Embed Size (px)

Citation preview

Page 1: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

SQLSQLPartie 1Partie 1

Page 2: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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 …

Page 3: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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. .

Page 4: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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.

Page 5: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

Les types de données : Les types de données :

Page 6: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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

Page 7: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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.

Page 8: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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

Page 9: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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, … ;

Page 10: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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;;

Page 11: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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 »);

Page 12: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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()

Page 13: SQL Partie 1. Le SGBDR Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle. (théorie

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.