Partie I
SQL de base
190
© Éditions Eyrolles
Dictionnaire des données
Le dictionnaire des données (metadata ou data dictionary) est une partie majeure d’une base
de données MySQL qu’on peut assimiler à une structure centralisée.
Pour MySQL, 16 vues sont issues de tables système non visibles. Ces vues, qui sont appelées
tables par abus de langage (dans la documentation officielle, dans les livres et sur les forums 1 )
et qui sont situées dans la base INFORMATION_SCHEMA, suffisent à stocker toutes les
informations décrivant tous les objets contenus dans toutes les bases de données. MySQL se
rapproche davantage de DB2 et de SQL Server que d’Oracle (qui possède 600 vues). Les
noms des vues sont similaires et se rapprochent de la spécification ANSI/ISO SQL:2003
standard Part 11 Schemata.
Constitution
Le dictionnaire des données contient :
q
la définition des tables, vues, index, séquences, procédures, fonctions et déclencheurs ;
q
la description de l’espace disque alloué et occupé par chaque objet ;
q
les valeurs par défaut des colonnes (DEFAULT) ;
q
la description des contraintes d’intégrité référentielle (de vérification à venir) ;
q
le nom des utilisateurs de la base ;
q
les privilèges pour chaque utilisateur ;
q
des informations d’audit (accès aux objets) et d’autre nature (commentaires, par exemple).
Toutes les tables du dictionnaire des données ne sont accessibles qu’en lecture seulement.
Elles appartiennent à la base de données INFORMATION_SCHEMA. L’interrogation du dictionnaire des données est permise à tout utilisateur (qui ne verra que les objets qui lui sont toutefois accessibles avec ses propres privilèges) et peut se faire au travers de requêtes SELECT ou
par le biais de la commande SHOW.
Toutes les informations contenues dans les tables du dictionnaire des données sont codées en
minuscules.
Le dictionnaire des données est mis automatiquement à jour après chaque instruction SQL du
LMD (INSERT, UPDATE, DELETE, LOCK TABLE).
Les avantages d’interroger le dictionnaire des données par des requêtes sont les suivants :
1. Je conserve le vocable de « vue » pour être plus près de la réalité. Cependant, parler de table ou de vue est équivalent, puisqu’elles sont interrogeables de la même manière : par SELECT.
SQL de base
190
© Éditions Eyrolles
Dictionnaire des données
Le dictionnaire des données (metadata ou data dictionary) est une partie majeure d’une base
de données MySQL qu’on peut assimiler à une structure centralisée.
Pour MySQL, 16 vues sont issues de tables système non visibles. Ces vues, qui sont appelées
tables par abus de langage (dans la documentation officielle, dans les livres et sur les forums 1 )
et qui sont situées dans la base INFORMATION_SCHEMA, suffisent à stocker toutes les
informations décrivant tous les objets contenus dans toutes les bases de données. MySQL se
rapproche davantage de DB2 et de SQL Server que d’Oracle (qui possède 600 vues). Les
noms des vues sont similaires et se rapprochent de la spécification ANSI/ISO SQL:2003
standard Part 11 Schemata.
Constitution
Le dictionnaire des données contient :
q
la définition des tables, vues, index, séquences, procédures, fonctions et déclencheurs ;
q
la description de l’espace disque alloué et occupé par chaque objet ;
q
les valeurs par défaut des colonnes (DEFAULT) ;
q
la description des contraintes d’intégrité référentielle (de vérification à venir) ;
q
le nom des utilisateurs de la base ;
q
les privilèges pour chaque utilisateur ;
q
des informations d’audit (accès aux objets) et d’autre nature (commentaires, par exemple).
Toutes les tables du dictionnaire des données ne sont accessibles qu’en lecture seulement.
Elles appartiennent à la base de données INFORMATION_SCHEMA. L’interrogation du dictionnaire des données est permise à tout utilisateur (qui ne verra que les objets qui lui sont toutefois accessibles avec ses propres privilèges) et peut se faire au travers de requêtes SELECT ou
par le biais de la commande SHOW.
Toutes les informations contenues dans les tables du dictionnaire des données sont codées en
minuscules.
Le dictionnaire des données est mis automatiquement à jour après chaque instruction SQL du
LMD (INSERT, UPDATE, DELETE, LOCK TABLE).
Les avantages d’interroger le dictionnaire des données par des requêtes sont les suivants :
1. Je conserve le vocable de « vue » pour être plus près de la réalité. Cependant, parler de table ou de vue est équivalent, puisqu’elles sont interrogeables de la même manière : par SELECT.
