FirebirdSQL logo

RDB$FIELDS

Caractéristiques des colonnes et des domaines, qu’ils soient créés par le système ou par l’utilisateur. Cette table stocke les détails des attributs de toutes les colonnes.

Note

La colonne RDB$FIELDS.RDB$FIELD_NAME fait référence à RDB$RELATION_FIELDS.RDB$FIELD_SOURCE, mais pas à RDB$RELATION_FIELDS.RDB$FIELD_NAME.

Table 1. Description des colonnes de la table RDB$FIELDS
Nom de la colonne Type de données Description

RDB$FIELD_NAME

CHAR(63)

Le nom unique du domaine créé par l’utilisateur, ou le domaine automatiquement construit par le noyau de Firebird pour la colonne de la table. Dans le second cas, le nom commencera par les caractères RDB$.

RDB$QUERY_NAME

CHAR(63)

Non utilisé.

RDB$VALIDATION_BLR

BLOB BLR

Représentation binaire (BLR) de l’expression SQL spécifiant la vérification de la valeur CHECK sur le domaine.

RDB$VALIDATION_SOURCE

BLOB TEXT

Texte source SQL original spécifiant le contrôle des valeurs CHECK.

RDB$COMPUTED_BLR

BLOB BLR

La représentation binaire (BLR) de l’expression SQL utilisée par le serveur de la base de données pour effectuer des calculs lors de l’accès à la colonne COMPUTED BY.

RDB$COMPUTED_SOURCE

BLOB TEXT

Le texte source original de l’expression qui définit la colonne `COMPUTED BY'.

RDB$DEFAULT_VALUE

BLOB BLR

Valeur par défaut sous forme de BLR binaire.

RDB$DEFAULT_SOURCE

BLOB TEXT

La valeur par défaut dans le langage SQL d’origine.

RDB$FIELD_LENGTH

SMALLINT

Taille de la colonne en octets. FLOAT, DATE, TIME, INTEGER occupent 4 octets. Les identifiants DOUBLE PRECISION, BIGINT, TIMESTAMP et BLOB — 8 octets. Pour les types de données CHAR et VARCHAR, la colonne indique le nombre maximum d’octets spécifié lors de la déclaration du domaine de la chaîne (colonne).

RDB$FIELD_SCALE

SMALLINT

Un nombre négatif spécifie l’échelle pour les colonnes DECIMAL et NUMERIC — le nombre de décimales après le point décimal.

RDB$FIELD_TYPE

SMALLINT

Code du type de données pour la colonne :

  • 7 - SMALLINT ;

  • 8 - INTEGER ;

  • 10 - FLOAT ;

  • 12 - DATE ;

  • 13 - TIME WITHOUT TIME ZONE ;

  • 14 - CHAR ou BINARY ;

  • 16 - BIGINT ;

  • 23 - BOOLEAN ;

  • 24 - DECFLOAT(16) ;

  • 25 - DECFLOAT(34) ;

  • 26 - INT128 ;

  • 27 - DOUBLE PRÉCISION ;

  • 28 - TIME WITH TIME ZONE ;

  • 29 - TIMESTAMP AVEC FUSEAU HORAIRE ;

  • 35 - TIMESTAMP SANS FUSEAU HORAIRE ;

  • 37 - VARCHAR ou VARBINARY ;

  • 261 - BLOB.

Les codes pour DECIMAL et NUMERIC ont la même taille que les types entiers utilisés pour les stocker.

Pour les types BINARY, VARBINARY le champ RDB$FIELD_SUB_TYPE = 0, pour CHAR et VARCHAR le champ RDB$FIELD_SUB_TYPE = 1.

RDB$FIELD_SUB_TYPE

SMALLINT

Pour le type de données BLOB, définit le sous-type :

  • 0 - non défini ;

  • 1 - texte ;

  • 2 - BLR ;

  • 3 - liste de contrôle d’accès ;

  • 4 - réservé pour une utilisation future ;

  • 5 - description codée des métadonnées de la table ;

  • 6 - description d’une transaction vers plusieurs bases de données qui ne s’est pas terminée normalement.

Pour les ensembles de types de données CHAR :

  • 0 - données non définies ;

  • 1 - données binaires fixes.

Pour les types de données de type entier (SMALLINT, INTEGER, BIGINT, INT128) etnombres à virgule fixe (NUMERIC, DECIMAL) définit un type de données spécifique :

  • 0 ou NULL - le type de données correspond à la valeur du champ RDB$FIELD_TYPE ;

  • 1 - NUMERIC ;

  • 2 - DECIMAL.

RDB$MISSING_VALUE

BLOB BLR

Non utilisé.

RDB$MISSING_SOURCE

BLOB TEXT

Non utilisé.

RDB$DESCRIPTION

BLOB TEXT

Texte de commentaire arbitraire pour le domaine (colonne du tableau).

RDB$SYSTEM_FLAG

SMALLINT

Caractéristique

valeur 1 - domaine créé automatiquement par le système;
valeur 0 - domaine défini par l’utilisateur.

RDB$QUERY_HEADER

BLOB TEXT

Non utilisé.

RDB$SEGMENT_LENGTH

SMALLINT

Pour les colonnes BLOB, définit la longueur du tampon BLOB en octets. Pour les autres types de données, il contient NULL.

RDB$EDIT_STRING

VARCHAR(127)

Non utilisé.

RDB$EXTERNAL_LENGTH

SMALLINT

Longueur de la colonne en octets si elle fait partie d’une table externe. Toujours NULL pour les tables normales.

RDB$EXTERNAL_SCALE

SMALLINT

Valeur de degré pour une colonne d’un type de données entier dans une table externe ; spécifiée par la puissance de 10 par laquelle l’entier est multiplié.

RDB$EXTERNAL_TYPE

SMALLINT

Le type de données du champ tel que présenté dans la table externe.

  • 7 - SMALLINT ;

  • 8 - INTEGER ;

  • 10 - FLOAT ;

  • 12 - DATE ;

  • 13 - TIME WITHOUT TIME ZONE ;

  • 14 - CHAR ;

  • 16 - BIGINT ;

  • 23 - BOOLEAN ;

  • 24 - DECFLOAT(16) ;

  • 25 - DECFLOAT(34) ;

  • 26 - INT128 ;

  • 27 - DOUBLE PRÉCISION ;

  • 28 - TIME WITH TIME ZONE ;

  • 29 - TIMESTAMP AVEC FUSEAU HORAIRE ;

  • 35 - TIMESTAMP SANS FUSEAU HORAIRE ;

  • 37 - VARCHAR.

Les codes pour DECIMAL et NUMERIC ont la même taille que les types entiers utilisés pour les stocker.

RDB$DIMENSIONS

SMALLINT

Spécifie le nombre de dimensions du tableau si la colonne a été définie comme un tableau. Pour les colonnes qui ne sont pas des tableaux, c’est toujours NULL.

RDB$NULL_FLAG

SMALLINT

Indique si la colonne peut prendre une valeur vide (le champ contiendra une valeur NULL) ou non (le champ contiendra une valeur de 1).

RDB$CHARACTER_LENGTH

SMALLINT

Longueur des colonnes CHAR ou VARCHAR en caractères (pas en octets).

RDB$COLLATION_ID

SMALLINT

L’identifiant de l’ordre de tri pour la colonne de caractères ou le domaine. Si elle n’est pas spécifiée, la valeur du champ sera 0.

RDB$CHARACTER_SET_ID

SMALLINT

L’identifiant du jeu de caractères pour une colonne de caractères, une colonne BLOB ou un domaine.

RDB$FIELD_PRECISION

SMALLINT

Spécifie le nombre total de chiffres pour un type de données numériques à virgule fixe (DECIMAL et NUMERIC). La valeur est 0 pour les types de données entiers et NULL pour tous les autres types de données.

RDB$SECURITY_CLASS

CHAR(63)

Peut faire référence à la classe de sécurité définie dans la table RDB$SECURITY_CLASSES pour appliquer des restrictions de contrôle d’accès à tous les utilisateurs de ce domaine.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur qui possède (crée) le domaine.

RDB$FILES

Informations sur les dossiers secondaires et les dossiers de copie opérationnelle.

Table 1. Description des colonnes de la table RDB$FILES
Nom de la colonne Type de données Description

RDB$FILE_NAME

VARCHAR(255)

Chemin d’accès complet et nom du fichier de la base de données secondaire dans une base de données multi-fichiers ou un fichier de copie opérationnelle.

RDB$FILE_SEQUENCE

SMALLINT

Le numéro séquentiel du fichier secondaire dans la séquence ou le numéro du fichier de copie dans le jeu de copies opérationnelles.

RDB$FILE_START

INTEGER

Numéro de page initial du fichier secondaire ou du fichier de copie rapide.

RDB$FILE_LENGTH

INTEGER

Longueur du fichier en pages de base de données.

RDB$FILE_FLAGS

SMALLINT

Pour un usage interne.

RDB$SHADOW_NUMBER

SMALLINT

Le numéro du jeu de copies opérationnelles. Si la chaîne décrit un fichier de base de données secondaire, la valeur du champ sera NULL ou 0.