0% ont trouvé ce document utile (0 vote)
29 vues2 pages

Module BDD - LDD (Langage de Manipulation Des Données

Transféré par

Mø Hã Męd
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues2 pages

Module BDD - LDD (Langage de Manipulation Des Données

Transféré par

Mø Hã Męd
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Bouira - Facultés des sciences et des sciences appliquées - Département de génie électrique

Module BDD - LDD (Langage de Manipulation des Données

La définition de données dans SQL permet la définition des objets manipulés par le SGBD. Les objets : Table, Vue, Index
Les commandes du LDD sont :
CREATE : Création des objets.
ALTER : Modification de la structure des objets.
DROP : Suppression des objets.
1. Création des tables :
Elle se fait avec la commande : CREATE TABLE
CREATE TABLE nom_table
(
col_1 type [(taille)] [DEFAULT ValeurParDefaut] [NULL/NOT NULL] [contrainte de colonne] ,
col_2 type [(taille)] [DEFAULT ValeurParDefaut] [NULL/NOT NULL] [contrainte de colonne],

col_n type [(taille)] [DEFAULT ValeurParDefaut] [NULL/NOT NULL] [contrainte de colonne]
[contrainte de tables]
);
NB. Les partie mise entre crochets [ ] sont optionnelle (facultatives

Avec :
Types : indique le type de données de la l’attribut (colonne)
Taille : indique la valeur maximale de la longueur de l’attribut
Principaux types de données SQL Exemple
CHAR(n) : Chaine de longueur fixe égale à n caractères. Produit (Numprod, Desprod, Couleur, Poids, Qte_stk, qte_seuil, Prix)
INTEGER : Entier. Avec :
VARCHAR(n) : Chaine de longueur maximale n. Numprod : de type numérique de taille 6,
DECIMAL(m,n) : Numérique sur m chiffres avec n décimales. Desprod : de type caractère variable de taille 15,
DATE : Date avec le jour, le mois, l'année. Couleur : de type caractère sur une position,
TIME : Horaire avec heures, minutes, secondes. Poids : numérique sur huit positions dont trois chiffre après la virgule,
DATETIME : Date et horaire réunis (non ANSI) Qte_stk : numérique sur sept positions dont trois chiffres après la virgule,
TEXT : Texte de longueur quelconque (non ANSI) Qte_seuil : umérique sur sept positions dont trois chiffres après la virgule,
Prix : numérique sur dix positions dont sept chiffres avant la virgule.
CREATE TABLE Produit
(
Numprod integer NOT NULL ,
Desprod varchar (15),
Couleur char,
Poids numeric (8,3),
Qte_stk numeric (7,3),
Qte_seuil numeric (7,3),
Prix numeric (10,3)
);
2. Définition des contraintes d’intégrité :
a) Contrainte de clé primaire : Primary key
Elle peut être définie comme contrainte de table ou comme contrainte de colonne.
Clé primaire comme contrainte de table selon la syntaxe : Clé primaire comme contrainte de colonne :
CREATE TABLE Produit CREATE TABLE Produit
( Numprod integer NOT NULL, ( numprod integer Primary Key,
Desprod varchar(15), Desprod varchar(15),
Couleur char, couleur char,
Poids numeric (8,3), Poids numeric (8,3),
Qte_stk numeric (7,3), Qte_stk numeric (7,3),
Qte_seuil numeric (7,3), Qte_seuil numeric (7,3),
Prix numeric (10,3), prix numeric (10,3)
CONSTRAINT PK_Produit Primary Key (NumProd) );
);

Remarque
Dans le cas de clé primaire multiple, la clé primaire doit être créée comme contrainte de table.
b) Contrainte : UNIQUE et NOT NULL
CREATE TABLE Produit
(
Numprod integer Primary Key,
Desprod varchar (15) UNIQUE , // l’attribut desprod doit etre yunique pour chaque produit
Couleur char NOT NULL, // l’attribut couleur doit avoir obligatoirement une valeur
…..
);
Kamal BAL Avril 2016 1
Université de Bouira - Facultés des sciences et des sciences appliquées - Département de génie électrique

Module BDD - LDD (Langage de Manipulation des Données

c) Contrainte de valeur avec la clause CHECK


Exemple : On suppose que le poids d’un produit doit être positif. La commande de création de la table Produit devient :
CREATE TABLE Produit Comme contrainte sur la colonne
( Numprod integer primary key, CREATE TABLE Produit
Desprod varchar(15), ( Numprod integer primary key,
Couleur char, Desprod varchar(15),
Poids numeric (8,3), Couleur char,
Qte_stk numeric (7,3), Poids numeric (8,3) CHECK (Poids >=0),
Qte_seuil numeric (7,3), Qte_stk numeric (7,3),
Prix numeric (10,3), Qte_seuil numeric (7,3),
CONSTRAINT Ck1_Produit CHECK (Poids >=0) Prix numeric (10,3) );
);
d) Contrainte de clé étrangère : Foreign Key
Soit le schéma suivant : MAGASIN(NumMag, Adresse, Surface) , PRODUIT(NumProd, DesProd, Couleur, Poids, Qte_Stk, CodMag)
La commande pour la création de la table Magasin étant :
CREATE TABLE Magasin
(NumMag numeric(6) primary Key,
Adresse varchar(30),
Surface numeric(7,3)
);
La commande pour la création de la table Produit peut être écrite de deux façons:
CREATE TABLE Produit CREATE TABLE Produit
(Numprod integer primary key, (Numprod numeric(6) primary key,
Desprod varchar(15), Desprod varchar(15),
Couleur char, Couleur char,
Poids numeric ( 8,3), Poids numeric(8,3),
Qte_stk numeric (7,3), Qte_stk numeric(7,3),
Qte_seuil numeric (7,3), Qte_seuil numeric(7,3),
Prix numeric (10,3), Prix numeric(10,3),
CodMag numeric (6), CodMag numeric(6) REFERENCES Magasin(NumMag)
CONSTRAINT FK_Produit FOREIGN KEY (CodMag) );
REFERENCES Magasin (NumMag)
);
3. Modification de la structure d’une table : Elle se fait avec la commande ALTER TABLE
Plusieurs possibilités de modification de la structure de table
a) 1ère forme : Ajout de nouvelles colonnes à une table ALTER TABLE Magasin
ADD CONSTRAINT ck1_magasin Check (surface between 10 and 100) ;
ALTER TABLE nom_table
ADD (col1 type [(taille)] [null / not null] ; e) 5eme forme : Suppression d'une contrainte:
Exemple : ajouter une colonne type_clt
ALTER TABLE CLIENT On peut effacer une clé primaire. La commande est :
ADD type_clt char(3) ; ALTER TABLE nom_table DROP PRIMARY KEY
[CASCADE] ;
b) 2emee forme : modification des colonnes d’une table Remarque : L'option cascade est ajoutée pour pouvoir supprimer
une clé primaire référencée.
ALTER TABLE nom_table
ALTER TABLE magasin DROP PRIMARY KEY;
MODIFY (col1 type [(taille)] [null / not null];
Remarque : Pour modifier le nom d'une colonne : Suppression d'une contrainte autre que la clé primaire :
ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte ;
RENAME COLUMN nom_table.ancien_nom TO
nom_table.nouveau_nom ; Où Le nom de la contrainte c'est celui de la contrainte à supprimer
Exemple : Changer le type_clt de char(3) en char(5) : .
ALTER TABLE CLIENT Exemple :
MODIFY type_clt char(5) ; ALTER TABLE produit DROP CONSTRAINT Ck4_Produit ;
On peut supprimer un e contrainte de clé étrangère . La
c) 3ème forme : Suppression de colonnes existantes commande (sous MySQL ) est :
ALTER TABLE nom_table ALTER TABLE nom_table DROP FOREIGN KEY
DROP COLUMN ( col1 , col2 ,…, coln ) ; nom_contrainte ;
Exemple : supprimer le champ ville de la table Magasin : 4. Suppression d’une table
ALTER TABLE Magasin
DROP COLUMN ville ; Elle se fait avec la commande : DROP TABLE
Exemple :
d) 4eme forme: ajout d’une contrainte
DROP TABLE client ;
ALTER TABLE nom_table Pour changer le nom d'une table existante la commande est :
ADD Constraint Def_de_contrainte ; RENAME TABLE ancien_nom TO nouveau_nom
Exemple : Ajouter à la table « Magasin » la contrainte suivante : la
surface doit être comprise entre 10 et 100 m2
Kamal BAL Avril 2016 2

Vous aimerez peut-être aussi