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

Const Col Tab

Le document décrit les différentes contraintes d'intégrité sur une colonne et une table dans une base de données, notamment les clés primaires, uniques, référentielles, CHECK et DEFAULT. Chaque contrainte est expliquée avec des exemples de requêtes SQL illustrant leur utilisation. Ces contraintes garantissent l'unicité, la validité et l'intégrité des données dans les tables.

Transféré par

4hzw4g6n7z
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)
0 vues11 pages

Const Col Tab

Le document décrit les différentes contraintes d'intégrité sur une colonne et une table dans une base de données, notamment les clés primaires, uniques, référentielles, CHECK et DEFAULT. Chaque contrainte est expliquée avec des exemples de requêtes SQL illustrant leur utilisation. Ces contraintes garantissent l'unicité, la validité et l'intégrité des données dans les tables.

Transféré par

4hzw4g6n7z
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

CONTRAINTES D’INTÉGRITÉ SUR UNE COLONNE

Les contraintes d’intégrité sur une colonne sont :

1. PRIMARY KEY : définit l’attribut comme la clé primaire

 A chaque élément d’une table est associé un champ ‘id’, non null, qui identifie
de façon unique l’enregistrement et qui nous sert de référence pour établir

des liens avec d’autres tables. C’est ce que l’on appelle une clé primaire.
 Cette contrainte définit une colonne ou une combinaison de colonnes qui

identifie de manière unique chaque ligne de la table.

 On pourra à la création de la table déclarer un champ (qu’il soit auto-


incrémenté ou pas) comme étant une clé primaire par l’utilisation du mot clé

PRIMARY KEY juste après la déclaration du type du champ.

 Exemple :

 Pour créer une table d’employés avec une contrainte de clé primaire, la
requête serait comme.

Clé primaire au niveau de la colonne :

CREATE TABLE Employe(

id_Emp int PRIMARY KEY,

Nom varchar(30 ) NOT NULL,

Prenom varchar(50) NOT NULL,

Telephone varchar(15) NOT NULL,

Salaire int NOT NULL

);

Raymond J. JEAN Page 1


2. UNIQUE : interdit que deux tuples de la relation aient la même

valeur pour l’attribut.

1. Cette contrainte garantit qu’une colonne ou un groupe de colonnes de

chaque ligne a une valeur distincte. Une ou plusieurs colonnes peuvent


avoir une valeur nulle mais les valeurs ne peuvent pas être dupliquées.

 Exemple :

 Pour créer une table d’employés avec une clé unique, la requête serait

Clé unique au niveau de la colonne :

CREATE TABLE Employe2(

Code_Emp int PRIMARY KEY,

Nom varchar(30) Not Null,

Prenom varchar(50) Not Null,

dept varchar(10) Not Null,

Email varchar(30) Unique

);

3. REFERENCES () : contrôle l’intégrité référentielle entre l’attribut

et la table et ses colonnes spécifiées

 Cette contrainte identifie toute colonne référençant la PRIMARY KEY dans


une autre table. Il établit une relation entre deux colonnes d’une même

Raymond J. JEAN Page 2


table ou entre des tables différentes. Pour qu’une colonne soit définie en
tant que clé étrangère, elle doit être définie en tant que clé primaire dans

la table à laquelle elle fait référence. Une ou plusieurs colonnes peuvent


être définies comme clé étrangère.

 Exemple

Utilisons la table Employe et Departement pour définir une clé référentielle


au niveau de la colonne

CREATE Table Departement(

Code_Dep int,

Nom_Dep VARCHAR(20),

primary key (Code_Dep),

Id_Emp int, foreign key(Id_Emp) references Employe (Id_Emp)

);

4. CHECK () : contrôle la validité de la valeur de l’attribut spécifié


dans la condition dans le cadre d’une restriction de domaine

 Cette contrainte définit une règle métier sur une colonne. Toutes les lignes
doivent satisfaire à cette règle. La contrainte peut être appliquée pour une
seule colonne ou un groupe de colonnes.

 Le SQL suivant crée une CHECK contrainte sur la colonne "Salaire" lors de la

création de la table " Employe4". La CHECK contrainte garantit que le salaire

d'un employé doit être de 10000 gourdes ou plus :

Raymond J. JEAN Page 3


Exemple
 Contrainte CHECK au niveau de la colonne

CREATE TABLE Employe4(

Id int PRIMARY KEY,

Nom VARCHAR(20),

Prenom VARCHAR(50),

Age int,

Salaire int CHECK (salaire>=100000)

);

5. DEFAULT () : contrôle la validité de la valeur de l’attribut spécifié


dans la condition dans le cadre d’une restriction de domaine

 Cette contrainte est utilisée pour définir une valeur par défaut pour une colonne. La
valeur par défaut sera ajoutée à tous les nouveaux enregistrés, si aucune autre valeur
n'est indiquée.

Exemple :
 Contrainte DEFAULT au niveau de la colonne

CREATE TABLE Employe5(

Id int PRIMARY KEY,

Raymond J. JEAN Page 4


Nom VARCHAR(20),

Prenom VARCHAR(50),

Age int,

Salaire int,

Adresse VARCHAR(80) DEFAULT 'Port-au-Prince'

);

CONTRAINTES D’INTÉGRITÉ SUR UNE TABLE

1. PRIMARY KEY () : définit les attributs de la liste comme la clé primaire

La clé primaire pourra être déclarée à la fin de la requête de création de table,

notamment si elle implique plusieurs champs comme dans le schéma suivant (si l’on
considère une table où les couples (nom/prenom) sont uniques)

Syntaxe :
CREATE TABLE table_name (

column1 data_type,

...,

[CONSTRAINT constraint_name] PRIMARY KEY (column1, column2)

);

Raymond J. JEAN Page 5


Exemple :
 Contrainte PRIMARY KEY au niveau de la table

CREATE TABLE Employe(

id_Emp int ,
Nom varchar(30) NOT NULL,
Prenom varchar(50) NOT NULL,

Telephone varchar(15) NOT NULL,


Salaire int NOT NULL,

PRIMARY KEY (id_Emp, Telephone)


);

Ou

CREATE TABLE Employe22(

id_Emp int ,

Nom varchar(30) NOT NULL,

Prenom varchar(50) NOT NULL,

Telephone varchar(15) NOT NULL,

Salaire int NOT NULL,

CONSTRAINT PK_Emp PRIMARY KEY (id_Emp)

);

Raymond J. JEAN Page 6


2. UNIQUE () : la contrainte UNIQUE dans une colonne signifie que la
colonne doit avoir des valeurs uniques.

Syntaxe :
CREATE TABLE table_name(
...

column_name1 column_definition,
column_name2 column_definition,

...,
UNIQUE(column_list)

);

Ou

CREATE TABLE table_name(


...

column_name1 column_definition,
column_name2 column_definition,

...,
CONSTRAINT constraint_name UNIQUE(column_list)
);

Exemple :

 Contrainte UNIQUE au niveau de la table

CREATE TABLE Employe9(

Raymond J. JEAN Page 7


id_Emp int PRIMARY KEY,

Nom varchar(30) NOT NULL,

Prenom varchar(50) NOT NULL,

Telephone varchar(15) NOT NULL,

Salaire int NOT NULL,

UNIQUE(Telephone)

);

Ou

CREATE TABLE Employe10(

id_Emp int PRIMARY KEY,

Nom varchar(30) NOT NULL,

Prenom varchar(50) NOT NULL,

Telephone varchar(15) NOT NULL,

Salaire int NOT NULL,

CONSTRAINT UC_Emp UNIQUE(Telephone)

);

Raymond J. JEAN Page 8


3. CHECK () : contrôle la validité de la valeur de l’attribut spécifié dans la
condition dans le cadre d’une restriction de domaine

Exemple

 Contrainte CHECK au niveau de la table

CREATE TABLE Employe41(

Id int PRIMARY KEY,

Nom VARCHAR(20),

Prenom VARCHAR(50),

Age int,

Salaire int,

CONSTRAINT CHK_SAL CHECK (salaire>=100000)

);

4. FOREIGN KEY () REFERENCES () : contrôle l’intégrité référentielle entre


les attributs de la liste et la table et ses colonnes spécifiées

 Cette contrainte identifie toute colonne référençant la PRIMARY KEY dans une autre

table. Il établit une relation entre deux colonnes d’une même table ou entre des tables
différentes. Pour qu’une colonne soit définie en tant que clé étrangère, elle doit être

Raymond J. JEAN Page 9


définie en tant que clé primaire dans la table à laquelle elle fait référence. Une ou
plusieurs colonnes peuvent être définies comme clé étrangère.

 Syntaxe pour définir une clé étrangère au niveau de la table:

CREATE TABLE table_name (

column1 data_type,
column2 data_type,

...,
FOREIGN KEY (column_name)
REFERENCES referenced_table_name (referenced_column_name)

);

Ou

CREATE TABLE table_name (


column1 data_type,
column2 data_type,

...,
CONSTRAINT constraint_name FOREIGN KEY (column_name)

REFERENCES referenced_table_name (referenced_column_name)


);

 Contrainte FOREIGN KEY au niveau de la table

 Utilisons la table Employe4 et Departement pour définir une clé référentielle au


niveau de la colonne

CREATE Table Departement(

Raymond J. JEAN Page 10


Code_Dep int,

Nom_Dep VARCHAR(20),

id_Emp int,

primary key (Code_Dep),

foreign key (id_Emp) references Employe(id_Emp)

);

Ou

CREATE Table Departement1(

Code_Dep int,

Nom_Dep VARCHAR(20),

id_Emp int,

primary key (Code_Dep),

CONSTRAINT FK_Emp_Dep FOREIGN KEY (id_Emp) REFERENCES


Employe(id_Emp)

);

Raymond J. JEAN Page 11

Vous aimerez peut-être aussi