62
Chapitre 4 • Le langage SQL DDL
L’élimination d’une colonne d’une table s’effectue à l’aide d’une commande
similaire :
alter table PRODUIT
drop column PRIX
Il est également possible de modifier ou de supprimer un domaine (on modifie ici la
valeur par défaut) :
alter table CLIENT
alter column CAT set '00'
Il est également possible de modifier ou supprimer un domaine :
drop domain MATRICULE
4.7 AJOUT ET RETRAIT D'UNE CONTRAINTE
Nous avons rencontré jusqu'ici quatre types de contraintes : les identifiants
primaires, les identifiants secondaires, les colonnes obligatoires et les clés étrangères. Ces contraintes, ou propriétés, sont généralement déclarées lors de la création
de la table qui y est soumise. Il est cependant possible de les ajouter et même de les
retirer a posteriori par une commande alter table.
La demande d’ajout d’un identifiant sera refusée si les données que la table
contient déjà violent cette propriété :
alter table CLIENT
add primary key (NCLI)
Il en va de même pour les identifiants secondaires déclarés via une clause unique :
alter table CLIENT
add unique (NOM,ADRESSE,LOCALITE)
Une colonne obligatoire peut être redéclarée facultative et inversement (si les
données le permettent) :
alter table CLIENT
modify CAT not null
alter table CLIENT
modify ADRESSE null
Enfin, une clé étrangère peut être définie (si les données le permettent) ou retirée
après création de la table source. Cette possibilité est indispensable lorsque le
SGBD n’accepte pas la déclaration d’une clé étrangère vers une table non encore
définie (ce qu’on appelle une référence en avant).
Chapitre 4 • Le langage SQL DDL
L’élimination d’une colonne d’une table s’effectue à l’aide d’une commande
similaire :
alter table PRODUIT
drop column PRIX
Il est également possible de modifier ou de supprimer un domaine (on modifie ici la
valeur par défaut) :
alter table CLIENT
alter column CAT set '00'
Il est également possible de modifier ou supprimer un domaine :
drop domain MATRICULE
4.7 AJOUT ET RETRAIT D'UNE CONTRAINTE
Nous avons rencontré jusqu'ici quatre types de contraintes : les identifiants
primaires, les identifiants secondaires, les colonnes obligatoires et les clés étrangères. Ces contraintes, ou propriétés, sont généralement déclarées lors de la création
de la table qui y est soumise. Il est cependant possible de les ajouter et même de les
retirer a posteriori par une commande alter table.
La demande d’ajout d’un identifiant sera refusée si les données que la table
contient déjà violent cette propriété :
alter table CLIENT
add primary key (NCLI)
Il en va de même pour les identifiants secondaires déclarés via une clause unique :
alter table CLIENT
add unique (NOM,ADRESSE,LOCALITE)
Une colonne obligatoire peut être redéclarée facultative et inversement (si les
données le permettent) :
alter table CLIENT
modify CAT not null
alter table CLIENT
modify ADRESSE null
Enfin, une clé étrangère peut être définie (si les données le permettent) ou retirée
après création de la table source. Cette possibilité est indispensable lorsque le
SGBD n’accepte pas la déclaration d’une clé étrangère vers une table non encore
définie (ce qu’on appelle une référence en avant).
