Dictionnaire de données

Définition - Que signifie le dictionnaire de données?

Un dictionnaire de données est un fichier ou un ensemble de fichiers contenant les métadonnées d'une base de données. Le dictionnaire de données contient des enregistrements sur d'autres objets de la base de données, tels que la propriété des données, les relations de données avec d'autres objets et d'autres données.

Le dictionnaire de données est un élément crucial de toute base de données relationnelle. Il fournit des informations supplémentaires sur les relations entre les différentes tables de base de données, aide à organiser les données de manière claire et facilement consultable et évite les problèmes de redondance des données.

Ironiquement, en raison de son importance, il est invisible pour la plupart des utilisateurs de bases de données. En règle générale, seuls les administrateurs de base de données interagissent avec le dictionnaire de données.

Un dictionnaire de données est également appelé référentiel de métadonnées.

Definir Tech explique le dictionnaire de données

Un dictionnaire de données contient des informations sur les attributs ou les champs d'un certain ensemble de données. Dans une base de données relationnelle, les métadonnées du dictionnaire de données incluent les éléments suivants:

  • Noms de toutes les tables de la base de données et de leurs propriétaires.

  • Noms de tous les index et des colonnes auxquelles les tables de ces index se rapportent.

  • Contraintes définies sur les tables, y compris les clés primaires, les relations de clé étrangère avec d'autres tables et les contraintes non nulles.

  • Informations physiques supplémentaires sur les tables, y compris leur emplacement de stockage, leur méthode de stockage, etc.

Par exemple, la base de données d'une banque commerciale contenant des informations sur les clients peut avoir des attributs pour le nom du client, la date de naissance, l'adresse postale, l'épargne financière, le numéro de compte et de carte de crédit, les prêts, etc.

Chaque attribut occupe une ligne dans une feuille de calcul, tandis que diverses colonnes fournissent des éléments supplémentaires qui décrivent cet attribut (qu'il soit facultatif ou obligatoire pour un enregistrement, le type de données, son emplacement, etc.).

Un dictionnaire de données peut ressembler à celui ci-dessous:

Pour la plupart des systèmes de gestion de base de données relationnelle (SGBDR), le logiciel du système de gestion de base de données a besoin du dictionnaire de données pour accéder aux données d'une base de données. Par exemple, le logiciel Oracle DB doit lire et écrire dans une base de données Oracle. Cependant, il ne peut le faire que via le dictionnaire de données créé pour cette base de données particulière.

Par exemple, en suivant l'exemple de base de données de la banque ci-dessus, l'administrateur souhaite déterminer quelle table contient des informations sur les prêts. Faisant une supposition éclairée que la table contient très probablement le mot «LOAN», il émettra la requête suivante sur le dictionnaire de données (la première requête concerne une base de données Oracle, tandis que la seconde est une base de données SQL Server):

  • SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE '% LOAN%';

  • SELECT * FROM SYSOBJECTS WHERE TYPE = 'U' ET NOM COMME '% LOAN%';

Un dictionnaire de données peut être actif ou passif. Il peut arriver que la structure de la base de données doive être modifiée, par exemple pour ajouter de nouveaux attributs ou pour supprimer certains attributs obsolètes. Si ces modifications sont mises à jour automatiquement dans le dictionnaire de données par le dictionnaire de gestion de base de données, alors le dictionnaire de données est actif.

Inversement, si le gestionnaire de base de données gère le dictionnaire de données en tant qu'entité distincte qui doit être mise à jour manuellement, il est appelé dictionnaire de données passif. Outre la nécessité de synchroniser un travail supplémentaire, les dictionnaires de données passifs sont sujets à des erreurs lorsque les données de la base de données et du dictionnaire ne correspondent plus.