FirebirdSQL logo
 DOMAININDEX 

Colonnes de type tableau

Pour tout type de données autre que BLOB, vous pouvez spécifier une dimension de tableau si la colonne doit être un tableau.La dimension du tableau est spécifiée entre crochets.Ils sont indiqués en gras pour éviter toute confusion avec les symboles indiquant des éléments facultatifs.Deux nombres séparés par un deux-points sont spécifiés lors de la spécification de la dimension d’un tableau.Le premier chiffre est le chiffre de départ, le second est le chiffre d’arrivée.Si un seul nombre est spécifié, il s’agit du dernier nombre dans l’élément du tableau, et le premier nombre est 1.Pour un tableau multidimensionnel, les dimensions du tableau sont listées avec une virgule.

Restrictions

Il existe quatre types de restrictions :

  • clé primaire (PRIMARY KEY) ;

  • Une clé unique (UNIQUE) ;

  • clé étrangère (REFERENCES ou FOREIGN KEY) ;

  • vérifier la contrainte (CHECK).

Les contraintes peuvent être spécifiées au niveau de la colonne ("`Column Constraints'") ou au niveau de la table ("`Table Constraints'").Les contraintes au niveau de la table sont nécessaires lorsque les clés (contrainte d’unicité, clé primaire ou clé étrangère) doivent être générées à travers plusieurs colonnes ou lorsqu’une contrainte CHECK implique plusieurs colonnes, c’est-à-direfonctionne à un niveau record.La syntaxe de certains types de contraintes peut varier légèrement selon que la contrainte est définie au niveau de la colonne ou de la table.

  • Une contrainte de niveau colonne est spécifiée après que les autres caractéristiques de la colonne aient été définies. Elle ne peut inclure que la colonne spécifiée dans cette définition.

  • Les contraintes au niveau de la table sont spécifiées après toutes les définitions de colonnes. Les contraintes au niveau de la table sont un moyen plus polyvalent d’écrire des contraintes car elles permettent d’appliquer une contrainte à plus d’une colonne de la table.

  • Vous pouvez mélanger les contraintes de colonne et de table dans une seule instruction CREATE TABLE.

Un index est automatiquement créé par le système pour la clé primaire (PRIMARY KEY), la clé unique (UNIQUE KEY) et la clé étrangère (REFERENCES pour les restrictions au niveau des colonnes, et FOREIGN KEY REFERENCES pour les restrictions au niveau des tables).

Noms des contraintes et de leurs indices

Si un nom de contrainte n’est pas spécifié, il sera automatiquement généré par le système.

Les contraintes de niveau colonne et leurs indices sont automatiquement nommés comme suit :

  • Les noms des contraintes sont de la forme INTEG_<n>n est représenté par un ou plusieurs nombres ;

  • Les noms d’index ont la forme RDB$PRIMARY<n> (pour un index de clé primaire), RDB$FOREIGN<n> (pour un index de clé étrangère) ou RDB$<n> (pour un index de clé unique), où n est représenté par un ou plusieurs chiffres ;

Les schémas de dénomination automatique pour les contraintes de niveau table et leurs index sont les mêmes.

Contraintes nommées

Le nom de la contrainte peut être défini explicitement en le spécifiant dans la clause optionnelle CONSTRAINT.Par défaut, le nom de l’index de la contrainte sera le même que celui de la contrainte elle-même.Si un nom différent est requis pour l’index, il peut être spécifié dans la clause USING.