Introduction
 Les serveurs de données relationnels présentent
aujourd’hui une interface externe sous forme d’un
langage d...
Introduction
 SQL = Structured Query Language
 Langage de requêtes standard pour
l’interrogation de bases de données
rel...
Introduction
 De manière générale, SQL comme les autres
langages qui ont été proposés (e.g., QUEL)
utilisent tous des cri...
 LDD: Langage de Définition de Données: définir le
schéma de la base de données
 La définition d’un schéma logique compr...
 LMD :Langage de Manipulation de Données:
interroger et modifier les données de la base
 •Langage de contrôle d’accès au...
CRÉATION DE TABLE
 CREATION SCHEMA
 CREATE SCHEMA AUTHORIZATION nom-schema
 create table nom_relation (nom_attribut_1
t...
CRÉATION DE TABLES
Un élément de table est soit une définition de
colonne, soit une définition de contrainte,
comme suit :...
Une colonne est définie par un nom et un type
de données. Une valeur par défaut peut
être précisée. Une contrainte de colo...
Type de données
EXEMPLE
CREATE TABLE Internaute
 (email VARCHAR (50) NOT NULL,
 nom VARCHAR (20) NOT NULL,
 prenom VARCHAR (20),
 mot...
LDD
EXPRESSION DES CONTRAINTES D’INTÉGRITÉ
 1)Les contraintes de colonnes permettent de
spécifier différentes contraintes...
 1.Un attribut doit toujours avoir une valeur. C’est la
contrainte NOT NULL vue précédemment.
 2. Un attribut (ou un ens...
Clé de la table (1)
 CREATE TABLE Internaute (email VARCHAR (50)
NOT NULL, nom VARCHAR (20) NOT NULL,
 prenom VARCHAR (2...
 1 CREATE TABLE Notation (idFilm INTEGER NOT
NULL, email VARCHAR (50) NOT NULL,
 note INTEGER DEFAULT 0,
 PRIMARY KEY (...
Clés étrangères
 CREATE TABLE Film (idFilm INTEGER NOT NULL,
 titre VARCHAR (50) NOT NULL,
 annee INTEGER NOT NULL,
 i...
MODIFICATION d’une table
 ALTER TABLE nomTable ACTION description
 ACTION peut être principalement ADD, MODIFY,
DROP ou ...
Modification des attributs
 On peut ajouter un attribut region à la table Internaute
avec la commande :
 ALTER TABLE Int...
LMD
 la recherche (mot clé SELECT ) permet de retrouver
 des tuples ou parties de tuples vérifiant la qualification
cité...
SELECTION
 SELECT [DISTINCT] *FROM table_1 [synonyme_1],
table_2 [synonyme_1], …[WHERE prédicat_1AND
[ou OR] prédicat_2 …
INSERTION
MODIFICATION
SUPPRESSION
Les critères de sélection
 Comparaison à une valeur donnée.
 Pour chaque enregistrement, la valeur d'un champ donné
est ...
 1. Afficher le prénom et le nom de tous les employés du
service "Marketing"
 SELECT fldPrénom, fldNom
 FROM tblEmployé...
 3 Augmentez de la valeur 1 à l'âge de AICHA.
 UPDATE tblEmployés
 SET fldAge=fldAge+1
 WHERE fldNom=‘AICHA';
 4. Eff...
 5. Afficher le nom, le prénom et l'âge de tous les
employés entrés en service à partir du
 1.1.2014
 SELECT fldNom, fl...
Comparaison à un filtre
 • % représente n'importe quelle séquence de 0 ou
plusieurs caractères;
 • _ représente un seul ...
 Afficher le nom et le prénom des employés dont le
prénom contient un trait d'union
 (p.ex. MED-LAMINE)
 SELECT fldNom,...
Les opérateurs logiques
 Il existe 3 opérateurs logiques:
 1. NOT (Négation logique)
 2. AND (Et logique)
 3. OR (Ou l...
 Afficher le prénom et le nom de tous les employés qui ne
travaillent pas dans le service
 "Marketing"
 SELECT fldPréno...
Cours3 gdm sql
Prochain SlideShare
Chargement dans…5
×

Cours3 gdm sql

421 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
421
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cours3 gdm sql

  1. 1. Introduction  Les serveurs de données relationnels présentent aujourd’hui une interface externe sous forme d’un langage de recherche et mise à jour, permettant de spécifier les ensembles de données à sélectionner ou à mettre à jour à partir de propriétés des valeurs, sans dire comment retrouver les données.  Plusieurs langages assertionnels permettant de manipuler des bases de données relationnelles ont été proposés, en particulier QUEL [Zook77], QBE [Zloof77] et SQL [IBM82, IBM87].  le langage SQL est normalisé [ISO89, ISO92] et constitue le standard d’accès aux bases de données relationnelles
  2. 2. Introduction  SQL = Structured Query Language  Langage de requêtes standard pour l’interrogation de bases de données relationnelles (SQL-1 en 1989, puis SQL-2 en 1992, et enfin SQL-3 )  Développé à l’origine pour le protype de SGBD recherche d’IBM SYSTEM/R, qui a débouché sur les produits commerciaux SQL/DS et DB-2  Mélange d’algèbre relationnelle et de calcul relationnel à variables n-uplets
  3. 3. Introduction  De manière générale, SQL comme les autres langages qui ont été proposés (e.g., QUEL) utilisent tous des critères de recherche (encore appelés qualifications)  SQL: construits à partir de la logique des prédicats du premier ordre. Ils comportent:
  4. 4.  LDD: Langage de Définition de Données: définir le schéma de la base de données  La définition d’un schéma logique comprend essentiellement deux parties :  1) d’une part la description des tables et de leur contenu,  2) d’autre part les contraintes qui portent sur les données de la base. La spécification des contraintes est souvent placée au second plan bien qu’elle soit en fait très importante : elle permet d’assurer, au niveau de la base des contrôles sur l’intégrité des données qui s’imposent à toutes les applications accédant à cette base.  3) Un dernier aspect de la définition d’un schéma, est la description de la représentation physique.
  5. 5.  LMD :Langage de Manipulation de Données: interroger et modifier les données de la base  •Langage de contrôle d’accès aux données.
  6. 6. CRÉATION DE TABLE  CREATION SCHEMA  CREATE SCHEMA AUTHORIZATION nom-schema  create table nom_relation (nom_attribut_1 type_attribut_1, …)  CREATE TABLE <nom de table> (<élément de table>+)
  7. 7. CRÉATION DE TABLES Un élément de table est soit une définition de colonne, soit une définition de contrainte, comme suit :  <ÉLÉMENT DE TABLE> ::= <DÉFINITION DE COLONNE> | <CONTRAINTE DE TABLE>
  8. 8. Une colonne est définie par un nom et un type de données. Une valeur par défaut peut être précisée. Une contrainte de colonne peut aussi être définie à ce niveau. On obtient donc la syntaxe suivante : <DÉFINITION DE COLONNE> : := <NOM DE COLONNE> <TYPE DE DONNÉES> [<CLAUSE DÉFAUT>] [<CONTRAINTE DE COLONNE>]
  9. 9. Type de données
  10. 10. EXEMPLE CREATE TABLE Internaute  (email VARCHAR (50) NOT NULL,  nom VARCHAR (20) NOT NULL,  prenom VARCHAR (20),  motDePasse VARCHAR (60) NOT NULL,  AnneeNaiss DECIMAL (4)) CREATE TABLE Cinéma (nom VARCHAR (50) NOT NULL, adresse VARCHAR (50) DEFAULT ’Inconnue’)
  11. 11. LDD EXPRESSION DES CONTRAINTES D’INTÉGRITÉ  1)Les contraintes de colonnes permettent de spécifier différentes contraintes d’intégrité  – valeur nulle impossible (syntaxe NOT NULL),  – unicité de l’attribut (syntaxe UNIQUE ou PRIMARY KEY),  – contrainte référentielle – syntaxe REFERENCES <table référencée> [(<colonne référencée>)]  – contrainte générale (syntaxe CHECK <condition>)spécifier des plages ou des listes de valeurs possibles
  12. 12.  1.Un attribut doit toujours avoir une valeur. C’est la contrainte NOT NULL vue précédemment.  2. Un attribut (ou un ensemble d’attributs) constitue(nt) la clé de la relation.  3. Un attribut dans une table est liée à la clé primaire d’une autre table (intégrité référentielle).  4. La valeur d’un attribut doit être unique au sein de la relation.  5. Enfin toute règle s’appliquant à la valeur d’un attribut (min et max par exemple). LDD EXPRESSION DES CONTRAINTES D’INTÉGRITÉ
  13. 13. Clé de la table (1)  CREATE TABLE Internaute (email VARCHAR (50) NOT NULL, nom VARCHAR (20) NOT NULL,  prenom VARCHAR (20),  motDePasse VARCHAR (60) NOT NULL,  anneeNaiss INTEGER,  PRIMARY KEY (email))
  14. 14.  1 CREATE TABLE Notation (idFilm INTEGER NOT NULL, email VARCHAR (50) NOT NULL,  note INTEGER DEFAULT 0,  PRIMARY KEY (titre, email))  2 CREATE TABLE Artiste(id INTEGER NOT NULL,  nom VARCHAR (30) NOT NULL,  prenom VARCHAR (30) NOT NULL,  anneeNaiss INTEGER,  PRIMARY KEY (id),  UNIQUE (nom, prenom)); Clé de la table (2)
  15. 15. Clés étrangères  CREATE TABLE Film (idFilm INTEGER NOT NULL,  titre VARCHAR (50) NOT NULL,  annee INTEGER NOT NULL,  idMES INTEGER,  codePays INTEGER,  PRIMARY KEY (idFilm),  FOREIGN KEY (idMES) REFERENCES Artiste,  FOREIGN KEY (codePays) REFERENCES Pays);
  16. 16. MODIFICATION d’une table  ALTER TABLE nomTable ACTION description  ACTION peut être principalement ADD, MODIFY, DROP ou RENAME, et description est la commande  de modification associée à ACTION.
  17. 17. Modification des attributs  On peut ajouter un attribut region à la table Internaute avec la commande :  ALTER TABLE Internaute ADD region VARCHAR(10);  On peut modifier La taille de region  ALTER TABLE Internaute MODIFY region VARCHAR(30) NOT NULL;  ALTER TABLE Internaute ALTER region SET DEFAULT ’BLIDA’;  ALTER TABLE Internaute DROP region; //détruire
  18. 18. LMD  la recherche (mot clé SELECT ) permet de retrouver  des tuples ou parties de tuples vérifiant la qualification citée en arguments ;  – l’insertion (mot clé INSERT ) permet d’ajouter des  tuples dans une relation ; les tuples peuvent être fournis par l’utilisateur ou construits à partir de données existant déjà dans la base ;  – la suppression (mot clé DELETE ) permet de supprimer d’une relation les tuples vérifiant la qualification citée en argument ;  – la modification (mot clé UPDATE )permet de  mettre à jour les tuples vérifiant la qualification citée en argument à l’aide de nouvelles valeurs d’attributs ou de résultats d’opérations arithmétiques appliquées aux
  19. 19. SELECTION  SELECT [DISTINCT] *FROM table_1 [synonyme_1], table_2 [synonyme_1], …[WHERE prédicat_1AND [ou OR] prédicat_2 …
  20. 20. INSERTION
  21. 21. MODIFICATION
  22. 22. SUPPRESSION
  23. 23. Les critères de sélection  Comparaison à une valeur donnée.  Pour chaque enregistrement, la valeur d'un champ donné est comparée à une valeur fixe. Cette valeur fixe est généralement une valeur numérique, une date ou un texte.  Voici les opérateurs de comparaison:  = "est égal"  > "strictement supérieur"  < "strictement inférieur"  >= "supérieur ou égal"  <= "inférieur ou égal"  <> "est différent"
  24. 24.  1. Afficher le prénom et le nom de tous les employés du service "Marketing"  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE fldService='Marketing';  2. Afficher le prénom, le nom et l'âge de tous les employés plus jeunes que 50 ans  SELECT fldPrénom, fldNom, fldAge  FROM tblEmployés  WHERE fldAge<50;
  25. 25.  3 Augmentez de la valeur 1 à l'âge de AICHA.  UPDATE tblEmployés  SET fldAge=fldAge+1  WHERE fldNom=‘AICHA';  4. Effacez tous les employés du service Informatique.  DELETE FROM tblEmployés  WHERE fldService='Informatique';
  26. 26.  5. Afficher le nom, le prénom et l'âge de tous les employés entrés en service à partir du  1.1.2014  SELECT fldNom, fldPrénom, fldAge  FROM tblEmployés  WHERE fldEntréeService>=#1/1/14#;
  27. 27. Comparaison à un filtre  • % représente n'importe quelle séquence de 0 ou plusieurs caractères;  • _ représente un seul caractère quelconque.  Exemple: Pour rechercher des personnes dont le nom est ‘ABDrahime' ou ‘ABDrahmene' ou  'SCHMIT' etc. on définit par exemple le filtre suivant : ‘ABD%'  Exemple: Le filtre 'BL__' sélectionne par exemple les valeurs 'BLEU' ou 'BLUE' mais pas 'BLANC'  Les filtres sont utilisés ensemble avec le mot réservé LIKE. Voici la syntaxe:  . . .  WHERE <Nom du champ> LIKE <Filtre>
  28. 28.  Afficher le nom et le prénom des employés dont le prénom contient un trait d'union  (p.ex. MED-LAMINE)  SELECT fldNom, fldPrénom  FROM tblEmployés  WHERE fldPrénom LIKE '%-%';  2. Afficher le nom, le prénom et l'âge des employés dont le nom commence par 'W', est  composé de 5 lettres et se termine par 'R'  SELECT fldNom, fldPrénom, fldAge  FROM tblEmployés  WHERE fldNom LIKE 'W___R';
  29. 29. Les opérateurs logiques  Il existe 3 opérateurs logiques:  1. NOT (Négation logique)  2. AND (Et logique)  3. OR (Ou logique)
  30. 30.  Afficher le prénom et le nom de tous les employés qui ne travaillent pas dans le service  "Marketing"  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE NOT fldService='Marketing';  Formulez une requête qui affiche exactement le même résultat, sans utiliser  l'opérateur NOT.  SELECT fldPrénom, fldNom  FROM tblEmployés  WHERE fldService<>'Marketing';

×