Académique Documents
Professionnel Documents
Culture Documents
Sommaire
1. Introduction ____________________________________________________________ 2
2. Contraintes ____________________________________________________________ 2
2.1. Contraintes d'Intgrit des Donnes _________________________________________ 2
2.2. DEFAULT ______________________________________________________________ 4
2.3. La contrainte NOT NULL _________________________________________________ 4
2.4. La Contrainte PRIMARY KEY _____________________________________________ 4
2.4.1. IDENTITY (proprit) ________________________________________________________ 4
2.5. La Contrainte de Cl UNIQUE _____________________________________________ 5
2.6. La Contrainte FOREIGN KEY _____________________________________________ 5
2.6.1. Exemples de dfinitions de contrainte rfrentielle __________________________________ 7
2.7. La contrainte CHECK ____________________________________________________ 7
2.8. Ajout d'une Contrainte ____________________________________________________ 8
2.9. Suppression d'une Contrainte ______________________________________________ 9
2.10. Dsactivation et Activation d'une Contrainte _______________________________ 10
2.11. Affichage des contraintes dfinies ________________________________________ 11
3. Rsum ______________________________________________________________ 11
1. Introduction
Dans ce chapitre, vous allez apprendre implmenter des rgles de
gestion en utilisant les contraintes d'intgrit quelles soient rfrentielles
ou sur domaine.
A la fin de ce chapitre, vous saurez :
Dfinir les contraintes
Crer des contraintes et les maintenir
2. Contraintes
SQL Server fait appel des contraintes pour empcher l'entre de
donnes incorrectes dans des tables. Il sagit dune approche non
spcifique SQL Server mais mis en uvre par tous les SGBD conformes
au modle relationnel et la norme SQL.
Appliquer des rgles au niveau d'une table chaque fois qu'une ligne
est insre, mise jour ou supprime dans cette table. La
contrainte doit tre satisfaite pour que l'opration russisse.
Empcher la suppression d'un enregistrement si il y a une
dpendance avec un autre enregistrement de la table en relation.
Eviter la suppression d'une table dont dpend une autre table.
Appliquer des rgles aux valeurs insres dans une colonne pour
vrifier quelles sont conformes aux rgles dfinies
2.2. DEFAULT
Spcifie la valeur fournie pour la colonne lorsque vous n'avez pas spcifi
explicitement de valeur lors d'une insertion. Les dfinitions de valeurs par
dfaut peuvent s'appliquer toutes les colonnes, except aux colonnes
Timestamp, ou celles dfinies avec la proprit IDENTITY.
Les dfinitions de valeurs par dfaut sont abandonnes lorsque la table
est supprime.
Seule une valeur constante, telle qu'une chane de caractres, une
fonction systme comme SYSTEM_USER() ou la valeur NULL, peut tre
utilise comme valeur par dfaut.
Vous pouvez affecter un nom de contrainte une valeur DEFAULT.
ON DELETE CASCADE
ON UPDATE CASCADE
Spcifie qu'en cas de tentative de mise jour, dans une ligne, d'une
valeur de cl rfrence par des cls trangres dans des lignes d'autres
tables, toutes les valeurs de cl trangre sont galement mises jour et
remplaces par la nouvelle valeur spcifie pour la cl.
Si des actions d'intgrit rfrentielle en cascade ont galement t
dfinies sur les tables cible, ces actions sont galement excutes pour
les valeurs de cl mettre jour dans ces tables.
FOREIGN KEY
Dfinit la colonne dans la table dtail dans une contrainte de
niveau table
REFERENCES
Identifie la table et la colonne de la table matre
ON DELETE CASCADE
Autorise la suppression dune ligne dans la table matre et des
lignes dpendantes dans la table dtail
Vous pouvez ajouter des contraintes dans une table existante en utilisant
l'ordre ALTER TABLE avec la clause ADD.
Syntaxe :
Conseils :
L'exemple ci-dessus cre une contrainte FOREIGN KEY dans la table EMP.
Cette contrainte vrifie qu'un manager existe en tant qu'employ valide
dans la table EMP.
Syntaxe
ALL
Spcifie que toutes les contraintes sont dsactives l'aide de l'option
NOCHECK ou actives l'aide de l'option CHECK.
3. Rsum
Vous pouvez crer des contraintes de type :
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
Site Dvelopper.com
Site de SupInfo