SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de...

13
SQL SQL partie 3 partie 3

Transcript of SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de...

Page 1: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

SQLSQLpartie 3partie 3

Page 2: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

SQL est un langage de définition SQL est un langage de définition de donnéesde données

SQL est un langage de définition de SQL est un langage de définition de données (données (LDDLDD), c'est-à-dire qu'il ), c'est-à-dire qu'il permet de créer des tables dans une permet de créer des tables dans une base de données relationnelle, ainsi base de données relationnelle, ainsi que d'en modifier ou en supprimer.que d'en modifier ou en supprimer.

Create table / view / constraintCreate table / view / constraint

Alter table / view / constraintAlter table / view / constraint

Drop table / view / constraintDrop table / view / constraint

Page 3: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Un langage de définition de Un langage de définition de donnéesdonnées

La création de table : La création de table :

CREATE TABLE Nom_de_la_table (CREATE TABLE Nom_de_la_table (

champ1 Type_de_donnée,champ1 Type_de_donnée,

champ2 Type_de_donnée, ...champ2 Type_de_donnée, ...

););

Exemple : Exemple :

CREATE TABLE service (CREATE TABLE service (

NumService smallint NumService smallint not nullnot null,,

NomService varchar(25),NomService varchar(25),

Lieu varchar(20)Lieu varchar(20)

););

Page 4: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

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 5: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

La création d’une clé primaireLa création d’une clé primaireCREATE TABLE Nom_de_la_table (CREATE TABLE Nom_de_la_table (

champ1 Type_de_donnée,champ1 Type_de_donnée,

champ2 Type_de_donnée, ...champ2 Type_de_donnée, ...

PRIMARY KEY (champ1, champ2 …)PRIMARY KEY (champ1, champ2 …)

););

Exemple : Exemple :

CREATE TABLE service (CREATE TABLE service (

NumService smallint not null,NumService smallint not null,

NomService varchar(25),NomService varchar(25),

Lieu varchar(20)Lieu varchar(20)

PRIMARY KEY (PRIMARY KEY (NumService)NumService)

););

Page 6: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

La création d’une clé étrangèreLa création d’une clé étrangèreCREATE TABLE Nom_table (CREATE TABLE Nom_table ( champ1 Type_de_donnée,champ1 Type_de_donnée, champ2 Type_de_donnée, ...champ2 Type_de_donnée, ...FOREIGN KEY (champ1) REFERENCES Nom_table (champ1)FOREIGN KEY (champ1) REFERENCES Nom_table (champ1) ););Exemple : Exemple : CREATE TABLE employe (CREATE TABLE employe (NumEmploye smallint not null,NumEmploye smallint not null,NomEmploye varchar(25),NomEmploye varchar(25),……..NumServiceEmploye smallint ,NumServiceEmploye smallint ,PRIMARY KEY (PRIMARY KEY (NumEmploye),NumEmploye),FOREIGN KEY (FOREIGN KEY (NumServiceEmployeNumServiceEmploye) REFERENCES ) REFERENCES serviceservice

((NumServiceNumService))););

Page 7: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Les contraintesLes contraintesCertaines des caractéristiques (PRIMARY Certaines des caractéristiques (PRIMARY KEY, FOREIGN KEY, UNIQUE et CHECK) KEY, FOREIGN KEY, UNIQUE et CHECK) nommées peuvent être des contraintes nommées peuvent être des contraintes nommées afin de faciliter leur gestion.nommées afin de faciliter leur gestion.

Exemple : Exemple : PRIMARY KEY (PRIMARY KEY (NumEmploye),NumEmploye), CONSTRAINT CleEtrangereService CONSTRAINT CleEtrangereService

FOREIGN KEY (NumServEmploye) FOREIGN KEY (NumServEmploye) REFERENCES REFERENCES serviceservice ( (NumServiceNumService))

););

Page 8: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

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 9: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Les vuesLes vues

Une vue est une table virtuelle qui Une vue est une table virtuelle qui stocke les enregistrements résultats stocke les enregistrements résultats d’une requête d’interrogation afin d’une requête d’interrogation afin qu’ils soient en permanence qu’ils soient en permanence disponibles.disponibles.

CREATE VIEW nom_vue AS SELECT * CREATE VIEW nom_vue AS SELECT * FROM EMPLOYE WHERE nom_service FROM EMPLOYE WHERE nom_service = « laboratoire »= « laboratoire »

Page 10: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Suppression de tables ou de vuesSuppression de tables ou de vues

DROP TABLE nom_table DROP TABLE nom_table

DROP VIEW nom_vueDROP VIEW nom_vue

TRUNCATE TABLE nom_table TRUNCATE TABLE nom_table supprime uniquement les données et supprime uniquement les données et conserve sa structure.conserve sa structure.

Page 11: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Modification de tablesModification de tables

Renommer une table : Renommer une table : – Rename ancien_nom_table TO Rename ancien_nom_table TO

nouveau_nom_tablenouveau_nom_table

Renommer un champ :Renommer un champ :– ALTER TABLE nom_tableALTER TABLE nom_table

RENAME ancien_nom_champ TO RENAME ancien_nom_champ TO nouveau_nom_champnouveau_nom_champ

Page 12: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Ajout de champ ou de contrainte à Ajout de champ ou de contrainte à une tableune table

ALTER TABLE nom_tableALTER TABLE nom_table

ADD COLUMN nom_champ ADD COLUMN nom_champ Type_donnée;Type_donnée;

ALTER TABLE nom_tableALTER TABLE nom_table

ADD CONSTRAINT nom_champ ADD CONSTRAINT nom_champ Type_donnée;Type_donnée;

Page 13: SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.

Suppression de champ ou de Suppression de champ ou de contraintecontrainte

ALTER TABLE nom_tableALTER TABLE nom_table

DROP COLUMN nom_champ;DROP COLUMN nom_champ;

ALTER TABLE nom_tableALTER TABLE nom_table

DROP CONSTRAINT nom_contrainte;DROP CONSTRAINT nom_contrainte;

La suppression d’un champ n’est possible La suppression d’un champ n’est possible que si le champ ne fait pas l’objet d’une que si le champ ne fait pas l’objet d’une contrainte d’intégritécontrainte d’intégrité