FirebirdSQL logo
 Structure du langage SQLÉléments communs du langage 

Types de données personnalisé — domaines

Les domaines dans Firebird implémentent l’outil `Types de données définis par l’utilisateur', qui est largement connu dans de nombreux langages de programmation.Lorsque plusieurs tables d’une base de données contiennent des champs ayant les mêmes caractéristiques ou presque, il est utile de créer un domaine dans lequel décrire un ensemble de propriétés de champ et d’utiliser cet ensemble de propriétés, décrit une fois, dans plusieurs objets de la base de données.Les domaines peuvent être utilisés en plus de la description des champs de table et des vues (VIEW) et lors de la déclaration des paramètres d’entrée et de sortie, ainsi que lors de la déclaration des variables dans le code PSQL.

Attributs du domaine

La définition du domaine contient des attributs obligatoires et facultatifs.Les attributs obligatoires comprennent le type de données.Les attributs facultatifs comprennent :

  • valeur par défaut ;

  • Capacités nulles pour le domaine ;

  • Contrôler les contraintes pour les données du domaine ;

  • Jeu de caractères (pour les types de données en caractères et les champs BLOB) ;

  • ordre de tri (pour les types de données de type caractère).

Example 1. Créer un domaine
CREATE DOMAIN BOOL3 AS SMALLINT
			CHECK (VALUE IS NULL OR VALUE IN (0, 1));
Voir aussi:

Conversion explicite des types de données, qui décrit les différences dans le fonctionnement du mécanisme de conversion des données lorsque l’on spécifie des domaines pour les options TYPE OF et TYPE OF COLUMN.

Remplacer les propriétés du domaine

Lors de la description des tables de base de données, certaines propriétés des colonnes basées sur le domaine peuvent être remplacées. Les possibilités de remplacer les attributs des colonnes basées sur le domaine sont indiquées dans le tableau.

Table 1. Options de remplacement des attributs des colonnes basées sur le domaine
Attribut Annulation ? Notes

type de données

non

Valeur par défaut

Oui

Jeu de caractères du texte

Oui

peut également être utilisé pour réinitialiser la colonnevaleurs par défaut pour la base de données

Ordre de tri du texte

oui

vérifier les conditions CHECK

non

pour ajouter de nouvelles conditions à la vérification, il est possible d’utiliser enles instructions CREATE et ALTER au niveau de la table, avec les instructionsSuggestions de "contrôle".

NOT NULL

none

Dans de nombreux cas, il est préférable de laisser la description du domainela possibilité de NULL et de contrôler sa validitédans les descriptions des champs au niveau de la table.

Création de domaines

Vous pouvez créer un domaine à l’aide de l’instruction CREATE DOMAIN.

Syntaxe courte :
CREATE DOMAIN name [AS] <type>
[DEFAULT {<literal> | NULL | <context_var>}]
[NOT NULL] [CHECK (<condition>)]
[COLLATE collation];
Voir aussi:

CREATE DOMAIN.