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.

RDB$FILTERS

Contient des données sur les filtres `BLOB'.

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

RDB$FUNCTION_NAME

CHAR(63)

Le nom unique du filtre est BLOB.

RDB$DESCRIPTION

BLOB TEXT

Documentation écrite par l’utilisateur sur le filtre `BLOB' et les deux sous-types utilisés.

RDB$MODULE_NAME

VARCHAR(255)

Nom de la bibliothèque dynamique / objet partagé où se trouve le code du filtre BLOB.

RDB$ENTRYPOINT

CHAR(255)

Le point d’entrée dans la bibliothèque de filtres pour ce filtre est BLOB.

RDB$INPUT_SUB_TYPE

SMALLINT

Le sous-type BLOB des données à convertir.

RDB$OUTPUT_SUB_TYPE

SMALLINT

Le sous-type BLOB dans lequel les données d’entrée sont converties.

RDB$SYSTEM_FLAG

SMALLINT

Indication

filtre défini en externe
(c.-à-d. défini par l’utilisateur = valeur 0 ;
défini en interne = valeur 1 ou plus)

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 filtre BLOB.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur est le propriétaire (créateur) du filtre BLOB.

RDB$FORMATS

La table RDB$FORMATS stocke les données relatives aux modifications des métadonnées de la table. Chaque fois que les métadonnées de la table sont modifiées, la table reçoit un nouveau numéro de format. Lorsque le numéro de format d’une table atteint 255 (ou 32000 pour les vues), la base de données entière devient inaccessible. Dans ce cas, vous devez effectuer une sauvegarde avec l’utilitaire gbak, puis restaurer cette copie et continuer à travailler avec la base de données nouvellement créée.

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

RDB$RELATION_ID

SMALLINT

L’identifiant de la table ou de la vue.

RDB$FORMAT

SMALLINT

L’identifiant du format de la table. Il peut y avoir 255 formats pour les tables et 32000 pour les vues.

RDB$DESCRIPTOR

BLOB FORMAT

Affichage BLOB des colonnes et des caractéristiques des données au moment de la création de l’enregistrement de format.