Sommaire

Domaines

Un domaine de données est une extension d’un type de données, associé à des contraintes et des vérifications qui permettent de ne définir qu’une fois cet ensemble et de le réutiliser dans plusieurs tables. Par exemple, un champ adresse_email peut être défini comme domaine et réutilisé dans toute une application.

1. Création d’un domaine

Le synopsis de la commande est le suivant :

CREATE DOMAIN nom [AS] typedonnee  
    [ DEFAULT expression ]  
    [ [ CONSTRAINT contrainte ]  
{ NOT NULL | NULL | CHECK (expression) } ] 

La création d’un domaine de données est très proche de la définition d’un attribut, les différentes options étant les mêmes.

2. Modification d’un domaine

La modification d’un domaine est similaire à la modification d’un attribut en utilisant la commande ALTER DOMAIN. La différence est que la plupart des modifications ne s’appliquent pas aux données des tables utilisant le domaine. Le synopsis de la commande est le suivant :

ALTER DOMAIN nom { SET DEFAULT expression | DROP DEFAULT } 
ALTER DOMAIN nom { SET | DROP } NOT NULL 
ALTER DOMAIN nom ADD contrainte [ NOT VALID ] 
ALTER DOMAIN nom DROP CONSTRAINT [ IF EXISTS ] contrainte 
[ RESTRICT | CASCADE ] 
ALTER DOMAIN nom RENAME CONSTRAINT contrainte TO contrainte2 
ALTER DOMAIN nom VALIDATE CONSTRAINT contrainte 
ALTER DOMAIN nom OWNER ...