Profitez des promotions incroyables de nos cours en pdf!! Ignorer
Le LDD est le sous langage SQL qui permet de définir les données dans un SGBDR.
CREATE DataBase nom_BD ; |
Exemple: CREATE DataBase GStagiaire;
Pour utiliser une base de données, on utilise la syntaxe : Use nombd ;
CHAR(N) : Déclare un champ chaine de caractères de taille fixe (taille=n caractères)
VARCHAR(N) : Déclare un champ chaine de caractères de taille variable (max=n caractères)
Remarque : pour un champ auto incrémentale, on utilise la clause IDENTITY (grain, pas)
Grain : valeur de départ
Pas : valeur d’incrémentation
Syntaxe : Pour créer une table, on fait recours à l’instruction suivante :
create table nom_table(
nom_champ type [liste de contraintes d’attribut],
nom_champ type [liste de contraintes d’attribut],
nom_champ type [liste de contraintes d’attribut],
…..
liste de contraintes de la table) ;
avec :
– le type peut être : varchar(n),date,int,time…..
– les contraintes d’attributs ou de la table (appelées aussi contraintes d’integrités) : les règles à suivre (on va les détailler dans la suite du cours)
On peut ajouter une contrainte au niveau d’attribut, comme on peut l’ajouter au niveau de la table (dans des cas, on aurra pas le choix, et l’une des deux options est le plus correcte).
L’écriture d’une telle contrainte est liée au type de l’option (contrainte d’attribut ou de table) . par exemple :
La contrainte d’attribut :
Primary key
S’écrit comme contrainte de table :
[CONSTRAINT nom_contrainte ]PRIMARY KEY (attribut1, attribut2, …)
La contrainte d’attribut :
FOREIGN KEY (attribut_clé_étrangère) REFERENCES
nom_table (attribut_référence)
S’écrit comme contrainte de table :
CONSTRAINT nom_contrainte FOREIGN KEY (attribut_clé_étrangère) REFERENCES
nom_table (attribut_référence)
La contrainte d’attribut :
unique
S’écrit comme contrainte de table : (cette écriture est obligatoire dans le cas d’un couple qui doit etre unique et non pas un seul champ)
CONSTRAINT nom_contrainte UNIQUE (colonne1, colonne2,..)
La contrainte d’attribut :
check(condition)
S’écrit comme contrainte de table :
CONSTRAINT nom_contrainte check(condition)
Exercice : Trouver comment peut-on écrire la contrainte not null comme étant une contrainte de table.
Exemple:
CREATE TABLE TPERSONNE
(PRS_ID INTEGER,
PRS_NOM VARCHAR(32),
PRS_PRENOM VARCHAR(32),
PRS_SEXE CHAR(1) DEFAULT ‘M’,
PRS_DATE_NAISSANCE DATETIME DEFAULT GETDATE(),
CONSTRAINT pk_personne PRIMARY KEY (PRS_ID)) ;
Module (NumM, Intitule, Coef)
Evaluation (#NumM, #CNE , DateN ,Note)
Stagiaire (CNE,Nom,Filiere)
SQL2 permet de spécifier les actions à entreprendre pour le maintien de l’intégrité référentielle, lors d’une suppression ou d’une modification d’un tuple référencé.
CASCADE : cascader les suppressions ou modifications
SET NULL : rendre nul les attributs référençant
RESTRICT : rejet de la mise à jour. c’est l’option par défaut
Au cours de déclaration des clés étrangères, On ajoute : on delete cascade /set null Et on update cascade/set null
Remarque :
ON DELETE CASCADE : indique que si une ligne est supprimée de la table maître, les lignes dépendantes de la table détail seront également supprimées.
CREATE TABLE table ( définition des colonnes : colonne type [ NOT NULL [UNIQUE] ] [ DEFAULT valeur ] [ PRIMARY KEY ] [ REFERENCES table ] [ CHECK condition ] … contraintes de table : [ PRIMARY KEY (liste de colonnes) ], [ UNIQUE (liste de colonnes) ] … [ FOREIGN KEY (liste de colonnes) REFERENCES table [ ON DELETE {RESTRICT | CASCADE | SET NULL} ] [ ON UPDATE {RESTRICT | CASCADE | SET NULL} ] , … [ CHECK condition ] … ) |
Et voilà : vous pouvez maintenant faire le TP1 pour voir la partie pratique de ce cours. Puis , rendez-vous dans la partie suivante du cours : SQL : Modification/Suppression d’une table (l’ordre alter et l’ordre drop)
Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.