5 Cours BD [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

ENCG de Kenitra Semestre Autonome S5 Pr S.MOQQADDEM AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

IV. Algèbre relationnelle IV.5. Exercices Nom_imb

Adresse

Nb_étage

Année

Nomgérant

Annakhil

22 Rue Azrou, Rabat

10

2009

Alami

Firdaous

15 bd des Far, Fès

5

2000

Dahbi

Table Immeuble

Nom

Age

Profession

Alami

54

Architecte

Atif

39

Médecin

Barhoum

58

Avocat

Dahbi

65

Retraité

Table Personne Nom_imb

No_app

Superficie

Etage

Annakhil

1

150

10

Annakhil

2

100

1

Annakhil

10

90

9

Firdaous

5

120

2

Firdaous

10

100

Firdaous

11

80

Table Appartement

Pr S.MOQQADDEM

Nom_imb

No_app

Nom_occ

Année_h

Annakhil

1

Alami

2009

Annakhil

2

Dahbi

2009

5

Firdaous

5

Atif

2001

3

Firdaous

10

Barhoum

2005

Table Occupant

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

IV. Algèbre relationnelle IV.5. Exercices Ecrire en algèbre relationnelle les requêtes: • 1. Nom des immeubles ayant strictement plus de 8 étages. • 2. Nom des personnes ayant emménagé avant 1994. • 3. Nom des habitants d’Annakhil. • 4. Nom des Architectes de plus de 25 ans. • 5. Nom des immeubles ayant un appartement de plus de 150 m2. • 6. Qui gère l’appartement où habite Atif? • 7. Dans quel immeuble habite un retraité? • 8. Qui habite un appartement de moins de 70 m2? • 9. Nom des personnes qui habitent au dernier étage de leur immeuble. • 10. Profession du gérant du Firdaous? • 11. Age et profession des occupants de l’immeuble géré par Alami? • 12. Qui habite, dans un immeuble de plus de 10 étages et un appartement de plus de 100 m2? Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

IV.5. Algèbre relationnelle: Correction •

Ecrire en algèbre relationnelle les requêtes: – 1. Nom des immeubles ayant strictement plus de 8 étages. – ΠNom_imb(σNb_etage>8(Immeuble)); – 2. Nom des personnes ayant emménagé avant 1994. – ΠNom_occ(σAnnée_h25(Personne)); – 5. Nom des immeubles ayant un appartement de plus de 150 m2. – Πnom_imb(σsuperficie>150(Appartement)); – 6. Qui gère l’appartement où habite Atif? – Πnomgérant(σNom_occ= " Atif " (Immeuble  Nom_imb Nom_imb Occupant))

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

IV.5. Algèbre relationnelle: Correction 7. Dans quel immeuble habite un retraité? Πnom_imb(σProfession= " Retraité " (Personne  Nom  Nom_occ Occupant)) 8. Qui habite dans un appartement de moins de 70 m2? Πnom_occ(σSperficie10 ^ Superficie>100)( – – – – –

(Occupant  Nom_imb  Nom_imb (Immeuble  Nom_imb  Nom_imb Appartemen t))))

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

IV. Algèbre relationnelle IV.5. Exercices  On considère les relations suivantes:  PERSONNE (CIN, NOM, Prenom, Adresse)  Voiture(NCarteGrise, #CIN, Modele)  Moto(NCarteGrise, #CIN, Modele)

 Ecrire les expressions représentant: 1. Afficher les personnes qui possèdent une voiture mais pas de moto? 2. Afficher les personnes qui possèdent une voiture et une moto? 3. Afficher les personnes qui ne possèdent ni voiture ni moto? Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

Plan du cours: I

Concepts généraux

II

Le modèle E-A

III

Le modèle relationnel de données

IV

L’algèbre relationnelle

V

Langage SQL

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

V

ENCGK

Langage SQL 1.

Présentation du langage SQL;

2.

Types de données;

3.

Requêtes d’action;

4.

Requêtes de sélection;

5.

Requêtes de contrôle.

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.1. Présentation du langage SQL  SQL signifie "Structured Query Language", soit en français "Langage de requêtes structuré "  Il a été développé par IBM au cours des années 70  SQL : langage proche de l’utilisateur et de sa façon de poser les requêtes (formulation proche du langage naturel)  SQL : langage assertionnel (non procédural), facile à apprendre pour rédiger les requêtes, les lire et les comprendre. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.1. Présentation du langage SQL  SQL a été normalisé par l'ANSI (American National Standards Institute) et par l'ISO (International Organization for Standardization).

 Cette normalisation a donné naissance à une 1ère version (SQL1) en 1987 puis à une 2ème version (SQL2) en 1992

 Une troisième norme (SQL3) est sortie en 2003 par l'ANSI et l'ISO. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.1. Présentation du langage SQL  Malgré la normalisation ISO, il existe plusieurs variantes de SQL sur le marché car chaque éditeur de SGBDR tente d’étendre le standard pour accroître l’attrait commercial de son produit

 On distingue 3 types de requêtes: Actions (Création et m.à.j), Sélections (Interrogation) et Contrôle (définir des permissions pour les utilisateurs).

 Chaque requête SQL doit obligatoirement se terminer par un Point Virgule. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.1. Présentation du langage SQL  SQL, C’est à la fois:  Langage de définition de données (LDD) : définir, modifier et supprimer des structures de données dans les tables (CREATE, ALTER..)

 Langage de manipulation des données (LMD) : entrer une nouvelle ligne, modifier des lignes existantes, supprimer des lignes dans la base de données (INSERT, UPDATE…)

 Langage de contrôle de données (LCD) : gère les droit d’accès à la base et aux structure qu’elle contient Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.1. Présentation du langage SQL  Utilisation de SQL :  En mode interactif : L’utilisateur écrit textuellement une commande SQL et récupère le résultat immédiatement.  En mode intégré : Une commande SQL est mélangée avec les instructions d’un programme en langage de haut niveau tel que C, C++, Visual basic, ... Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  INTEGER ou INT : entiers signés.  TEXT(p) ou CHAR(p) : chaîne de caractères de longueur fixe de p caractères.  VARCHAR (p): chaîne de caractères de longueur variable de p caractères maximum.  DATE, TIME, DATETIME: dates et/ou heures.  LOGICAL : valeur logique « oui » ou « non ».  DECIMAL(p, q) : nombres décimaux de p chiffres dont q après le point décimal (par défaut, q = 0).  FLOAT : nombre réel en virgule flottante(il y a aussi Single pour simple et Double pour réel double).  CURRENCY, MONEY : Monétaire.  COUNTER : Compteur (NuméroAuto). Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  Expressions de contraintes d'intégrité en SQL  Une contrainte d'intégrité est une clause permettant d’obliger la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient conformes aux données espérées (assurer la cohérence des données dans une base) est: INTÉGRITÉ DE DOMAINE INTÉGRITÉ DE RELATION(DE CLÉ)  INTÉGRITÉ DE RÉFÉRENCE Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  Expressions de contraintes d'intégrité en SQL Ces contraintes doivent être exprimées dès la création de la table grâce aux mots clés suivants:  NULL / NOT NULL : valeurs non obligatoires/obligatoires.  DEFAULT (Valeur) : pour définir une valeur par défaut*  CHECK (Condition): pour contrôler la validité des valeurs*  UNIQUE : permet de vérifier que la valeur saisie pour un champ n'existe pas déjà dans la table.  PRIMARY KEY : clé primaire.  FOREIGN KEY : clé étrangère. CONSTRAINT : permet de donner un nom à une contrainte ce qui permet de la manipuler. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  Expression de contraintes d'intégrité  NULL / NOT NULL : valeurs non obligatoires/obligatoires.  NOT NULL :Forcer la saisie d'un champ  Le mot clé NOT NULL permet de spécifier qu'un champ doit être saisi, c'est-à-dire que le SGBD refusera d'insérer des tuples dont un champ comportant la clause NOT NULL n'est pas renseigné. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  Expression de contraintes d'intégrité: DEFAULT  Le langage SQL permet de définir une valeur par défaut lorsqu'un champ de la base n'est pas renseigné grâce à la clause DEFAULT.  Cela permet notamment de faciliter la création de tables, ainsi que de garantir qu'un champ ne sera pas vide.

 La clause DEFAULT doit être suivie par la valeur à affecter. Cette valeur peut être un des types suivants : constante numérique constante alphanumérique (chaîne de caractères) le mot clé USER (nom de l'utilisateur) le mot clé NULL le mot clé CURRENT_DATE (date de saisie) le mot clé CURRENT_TIME (heure de saisie) le mot clé CURRENT_TIMESTAMP (date et heure de saisie) Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.2. Types de données  Expression de contraintes d'intégrité  CHECK (Condition): pour contrôler la validité des valeurs Il est possible de faire un test sur un champ grâce à la clause CHECK() comportant une condition logique portant sur une valeur entre les parenthèses. Si la valeur saisie est différente de NULL, le SGBD va effectuer un test grâce à la condition logique.

 UNIQUE : Tester l'unicité d'une valeur La clause UNIQUE permet de vérifier que la valeur saisie pour un champ n'existe pas déjà dans la table. Cela permet de garantir que toutes les valeurs d'une colonne d'une table seront différentes. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données  Expressions de contraintes d'intégrité en SQL  PRIMARY KEY : • Colonne PRIMARY KEY= Clé Primaire de la table. • Identifie chaque ligne(enregistrement)de la table de manière unique. • Une clé primaire ne doit pas accepter:  Les valeurs identiques répétitives  Les valeurs NULL  FOREIGN KEY(clé étrangère) • Une clé étrangère est toujours liée à une clé primaire • Elle doit respecter la contrainte d’intégrité référentielle: la valeur d’une clé étrangère doit toujours être également une des valeurs de la clé référencée(clé primaire) Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.2. Types de données: Conventions  Les conventions relatives aux noms des tables et des champs varient quelque peu d'un SGBD à l'autre:  Le nombre de caractères ne doit pas être trop grand (64 dans Access, 18 à 30 dans d'autres SGBD);  Seuls les lettres, les chiffres et le caractère de soulignement sont autorisés.  Access admet les caractères accentués. Il admet aussi l'espace, mais le nom du champ doit être écrit entre crochets;  Certains SGBD nécessitent que le nom d'un champ commence par une lettre, mais ce n'est pas le cas d'Access;  Les termes faisant partie du vocabulaire du langage SQL sont interdits ("date" par exemple). Ce sont les mots réservés. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Requêtes d’actions: Sont des requêtes qui permettent de créer des tables, d’ajouter, de supprimer des enregistrements d’une table, …  Création d’une Base de données : Cette opération donne comme résultat une BD vide ne contenant aucune table.  CREATE DATABASE permet de créer une nouvelle BD.  Création d’une table : Cette opération donne comme résultat une table vide ne contenant aucun enregistrement. Il faut préciser :  Le nom de la table;  La description de ses colonnes : nom, type de données et contraintes.  CREATE TABLE permet de créer une nouvelle table. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création de table :  Syntaxe SQL pour créer une nouvelle table : CREATE TABLE Nom_table ( Nom_champ1 type_1, Nom_champ2 type_2 , …, Nom_champN type_N );

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création de table :  Syntaxe SQL pour créer une nouvelle table : CREATE TABLE Nom_table ( Nom_champ1 type_1 contrainte_1, Nom_champ2 type_2 contrainte_2 , …, Nom_champN type_N contrainte_N );

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création de table :  Syntaxe SQL pour créer une nouvelle table avec une clé primaire simple : CREATE TABLE Nom_table ( champ1 type [CONSTRAINT nom_contrainte] PRIMARY KEY, champ2 type [NOT NULL], …, ……., champN type [NOT NULL] ); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création de table :  Syntaxe SQL pour créer une nouvelle table avec une clé primaire composée : CREATE TABLE Nom_table ( champ1 type [NOT NULL], champ2 type [NOT NULL], …, champN type, PRIMARY KEY (champ1, champ2,…) ); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création de table :  Syntaxe SQL pour créer une nouvelle table avec une clé primaire composée : CREATE TABLE Nom_table ( champ1 type [NOT NULL], champ2 type [NOT NULL], …, champN type, [CONSTRAINT nom_contrainte1] PRIMARY KEY (champ1, champ2,…) ); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Création de table : Exemples CREATE TABLE Client ( email VARCHAR (50) NOT NULL, nom VARCHAR (20) NOT NULL, prenom VARCHAR (20), motDePasse VARCHAR (60) NOT NULL, anneeNaiss DECIMAL (4) ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Création de table : Exemples CREATE TABLE Client ( email VARCHAR (50) NOT NULL, nom VARCHAR (20) NOT NULL, prenom VARCHAR (20), motDePasse VARCHAR (60) NOT NULL, anneeNaiss DECIMAL (4) UNIQUE(nom) ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Création de table : Exemples CREATE TABLE Cinéma ( nom VARCHAR (50) NOT NULL, adresse VARCHAR (50) DEFAULT ’Inconnue’);

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Création de table : Exemples  CREATE TABLE ETUDIANT( ID INTEGER PRIMARY KEY, NOM TEXT(15), PRENOM TEXT(15), AGE INTEGER CONSTRAINT Contrainte_AGE CHECK(age< 35), BOURSIER LOGICAL); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création d’une table : Exemples  Donnez une requête SQL permettant de créer la table EMPLOYES ( Nemployé: entier, Nom: texte(25), Prénom: texte(20), Fonction: texte(15), Adresse: texte(50), Codeville: entier long) CREATE TABLE EMPLOYES ( Nemployé INTEGER PRIMARY KEY, Nom TEXT(25), Prénom TEXT(20), Fonction TEXT(15), Adresse TEXT(50), Codeville LONG ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création d’une table : Exemples  Créez une requête SQL permettant de créer la table DETAILS ( Ncommande: entier, Réf: texte(30), Pu: réel non nul, Quantité: entier non nul, Remise: réel simple );  CREATE TABLE DETAILS ( Ncommande Integer, Réf Char(30), Pu float NOT NULL, Quantité Integer NOT NULL, Remise Single, PRIMARY KEY ( Ncommande, Réf ) ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création d’une table: Clé étrangère  Créez une requête SQL permettant de créer la table Participe( #Numadh: entier, #Numact: entier, AnneeParticipe: entier);  Numadh est la clé primaire de la table Adherent et Numact est la clé primaire de la table Activite.  CREATE TABLE Participe( Numadh integer, Numact integer, anneeParticipe integer, Primary key (Numadh, Numact, AnneeParticipe), Foreign key (Numadh) references Adherent(Numadh), Foreign key (Numact) references Activite(Numact)); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création d’une table: Clé étrangère  Quatre options sont disponibles pour la suppression des clés étrangères ( la définition de la contrainte d’intégrité référentielle ): • ON DELETE RESTRICT : Pour interdire la suppression d’un enregistrement référencé par un enregistrement d’une autre relation. On trouve également l’expression NO ACTION à la place du mot clé RESTRICT dans certains SGBD. • ON DELETE SET NULL : Affecte la valeur NULL à la clé étrangère. • ON DELETE SET DEFAULT : Affecte la valeur par défaut (selon le type de données) à la clé étrangère. • ON DELETE CASCADE : Indique au SGBD qu’il est possible de détruire la clé étrangère en détruisant toutes les clés étrangères avec la même valeur. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Création d’une table: Clé étrangère CREATE TABLE Film (titre VARCHAR (50) NOT NULL, annee INTEGER NOT NULL, idArt INTEGER, codePays INTEGER, PRIMARY KEY (titre), FOREIGN KEY (idArt) REFERENCES Artiste(idArt) ON DELETE SET NULL, FOREIGN KEY (codePays) REFERENCES Pays(codePays)); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table

 L’instruction ALTER TABLE permet d’ajouter ou de supprimer un seul champ à une table.  Elle permet aussi la création et la suppression des liens entre les tables d’une base de données. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table  Modification de la structure d’une table :  Il y a trois types d’actions concernant la modification de structure d’une table :  Ajouter une ou plusieurs colonnes.  Supprimer une ou plusieurs colonnes.  Modifier les propriétés d’une ou de plusieurs colonnes.  Les commandes SQL relatives à ces actions :  ADD  DROP  MODIFY Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table  Modification de la structure d’une table :  Pour modifier la structure d’une table, on précise tout d’abord le nom de celle-ci en écrivant la commande suivante : ALTER TABLE Nom_table  En suite, on spécifie la nature de l’action de modification (ajout, suppression ou modification).  Pour cela, il faut utiliser l’une des trois commandes : ADD, DROP ou MODIFY. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table  Exemples d’ajout :  Ajouter une colonne « AGE » (entier) dans la table « CLIENT » : ALTER TABLE CLIENT ADD AGE INTEGER;  Ajouter une colonne « DATECOMPTE » (date) dans la table « COMPTE » : ALTER TABLE COMPTE ADD DATECOMPTE DATE; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Modification dans une table  Exemples de suppression :  Supprimer la colonne « ADRAGENCE » de la table « AGENCE» : ALTER TABLE AGENCE DROP ADRAGENCE;  Supprimer la colonne « DATECOMPTE» de la table « COMPTE»: ALTER TABLE COMPTE DROP DATECOMPTE; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Modification dans une table  Exemples de modification de propriétés :  Modifier le type de la colonne « ADRAGENCE » pour qu’il soit un CHAR(100) au lieu de CHAR(40) : ALTER TABLE AGENCE MODIFY ADRAGENCE CHAR(100);  Modifier la colonne « AGE » de la table « CLIENT » pour qu’elle soit obligatoire : ALTER TABLE CLEINT MODIFY AGE NOT NULL; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Modification dans une table  Créez une requête SQL permettant de créer la table VILLES ( Codeville: NuméroAuto, Ville: texte(20))

 CREATE TABLE VILLES ( Codeville Counter PRIMARY KEY, Ville Text(20) ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action CREATE TABLE EMPLOYES ( Nemployé INTEGER PRIMARY KEY, Nom TEXT(25), Prénom TEXT(20), Fonction TEXT(15), Adresse TEXT(50), Codeville LONG ) ;

CREATE TABLE VILLES ( Codeville Counter PRIMARY KEY, Ville Text(20) ) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table  Modifiez la table EMPLOYES en déclarant le champ "CodeVille" comme clé étrangère, puis créez un lien nommé lien_ville sur le champ CodeVille de la table VILLES

 ALTER TABLE EMPLOYES ADD CONSTRAINT Lien_ville FOREIGN

KEY

(CodeVille)

REFERENCES

VILLES

(CodeVille); Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification dans une table  Supprimer le lien nommé lien_ville existant entre la table EMPLOYES et la table VILLES selon le champ Codeville

 ALTER TABLE EMPLOYES DROP CONSTRAINT Lien_ville Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Suppression d’une table  La syntaxe SQL pour supprimer une table est très simple : DROP TABLE Nom_table  Exemples : DROP TABLE CLIENT DROP TABLE AGENCE DROP TABLE COMPTE Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  La commande qui permet d’insérer une ligne dans une table est la suivante :  INSERT INTO Nom_table (champ1, champ2, …) VALUES (valeur1, valeur2, …) ;  Dans la clause “INTO…”, on spécifie le nom de la table ainsi que les noms des colonnes.

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  La commande qui permet d’insérer une ligne dans une table est la suivante :  INSERT INTO Nom_table (champ1, champ2, …) VALUES (valeur1, valeur2, …) ;  Dans la clause “INTO…”, on spécifie le nom de la table ainsi que les noms des colonnes.

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  La commande qui permet d’insérer une ligne dans une table est la suivante :  INSERT INTO Nom_table VALUES (valeur1, valeur2, …) ;  Dans la clause “INTO…”, on spécifie le nom de la table ainsi que les noms des colonnes.  Si l’on veut ajouter une ligne contenant les valeurs pour tous les champs, dans ce cas on peut omettre les noms de colonnes. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  Remarque:  On peut insérer plusieurs lignes à la fois INSERT INTO Nom_table (champ1, champ2, champ3…) VALUES (valeur1_1, valeur2_1, valeur3_1 …) , (valeur1_2, valeur2_2, valeur3_2 …), (valeur1_3, valeur2_3, valeur3_3 …), …………………………………; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  Remarque:  Il est possible de ne pas renseigner toutes les colonnes. Une colonne non renseignée sera vide NULL

 L’ordre des colonnes lors de l’insertion n’est pas important les valeurs à insérer doivent suivre l’ordre des colonnes mentionné dans la clause insert into

Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  Remarque:  Attention à l’ordre de remplissage des tables d’une BD. Il faut prendre en considération les relations clé primaire/clé étrangère.  les valeurs de la clé étrangère doivent se trouver dans la clé primaire référencée Participe( #Numadh: entier, #Numact: entier, AnneeParticipe: entier) Numadh est la clé primaire de la table Adherent et Numact est la clé primaire de la table Activite. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Insertion d’enregistrements dans une table :  Exemple:  Créez une requête permettant d’ajouter l’enregistrement suivant dans la table EMPLOYES: (100, BEN AZOUZ, Aziz, Ingénieur, 90050)  La table EMPLOYES ( Nemployé , Nom, Prénom, Fonction, Adresse, Codeville)  INSERT INTO EMPLOYES Fonction, Codeville)

(Nemployé,

Nom,

Prénom,

VALUES (100, ‘BEN AZOUZ’, ‘Aziz’, ‘Ingénieur’, 90050) ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification d’un enregistrement  L’instruction UPDATE permet la mise à jour d’une table;  On modifie la valeur d’un champ d’un enregistrement qui vérifie une condition précise (critère pour accéder à la ligne qui sera le sujet de la modification);  Syntaxe : UPDATE table SET nouvelles valeurs WHERE critères Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Modification d’un enregistrement UPDATE table SET nouvelles valeurs WHERE critères  Les champs à mettre à jour doivent être écrits dans la clause SET, l’un après l’autre (avec leurs valeurs) et séparés par des virgules.  Les champs non spécifiés après la clause SET ne seront pas modifiés.  Si la clause WHERE est absente, tous les enregistrements de la table seront affectées. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Modification d’un enregistrement  Exemples :  Donner une requête SQL pour modifier l’adresse de l'employé numéro 10 par la nouvelle adresse sera "10 Avenue Mohamed VI, Rabat".  UPDATE EMPLOYES SET Adresse = ‘10 Avenue Mohamed VI, Rabat’ WHERE Nemployé = 10 ;  Donner une requête SQL pour augmenter de 5% le salaire de tous les acteurs : ACTEURS (N_act, Nom, Prénom, Nationalité, Salaire, Age, Films)  UPDATE ACTEURS SET Salaire = Salaire * 1.05 ; Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V.

Langage SQL

V.3. Requêtes d’action  Suppression d’enregistrements  L’instruction DELETE permet d’effacer des enregistrements d’une table.  La syntaxe de la commande est : DELETE * FROM Nom_table WHERE Condition;  Pour supprimer tous les enregistrements d’une table, il suffit de ne pas indiquer la clause WHERE. Pr S.MOQQADDEM

AU: 2021/2022

UNIVERSITE IBN TOFAIL

ENCGK

V. Langage SQL V.3. Requêtes d’action  Suppression d’enregistrements  Exemples : ACTEURS (N_act, Nom, Prénom, Nationalité, Salaire, Age, Films)  Effacez tous les enregistrements de la table ACTEURS; DELETE * FROM ACTEURS ;  Effacez tous les acteurs de nationalité marocaine; DELETE * FROM ACTEURS WHERE Nationalité= ’marocaine ’; Pr S.MOQQADDEM

AU: 2021/2022