© Éditions Eyrolles
193
chapitre n° 5
Contrôle des données
DESCRIBE INFORMATION_SCHEMA.VIEWS;
+-----------------+--------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG
| varchar(512) | YES |
| NULL
|
|
| TABLE_SCHEMA
| varchar(64) | NO
|
|
|
|
| TABLE_NAME
| varchar(64) | NO
|
|
|
|
| VIEW_DEFINITION | longtext
| NO
|
|
|
|
| CHECK_OPTION
| varchar(8)
| NO
|
|
|
|
| IS_UPDATABLE
| varchar(3)
| NO
|
|
|
|
| DEFINER
| varchar(77) | NO
|
|
|
|
| SECURITY_TYPE
| varchar(7)
| NO
|
|
|
|
+-----------------+--------------+------+-----+---------+-------+
Interroger la vue
L’interrogation de la vue sur les colonnes choisies est l’étape finale de la recherche de données
dans le dictionnaire. Il convient d’écrire une requête monotable ou multitable (jointures) qui
extrait des données contenues dans la vue. Ces données sont en fait contenues dans des tables
système qui ne sont pas accessibles pour des raisons sécuritaires.
Supposons que je sois root en local et que je désire connaître le nom, l’emplacement et le
caractère contraint de toutes les vues existantes :
SELECT TABLE_SCHEMA,TABLE_NAME,CHECK_OPTION FROM INFORMATION_SCHEMA.VIEWS;
+--------------+-----------------------------+--------------+
| TABLE_SCHEMA | TABLE_NAME
| CHECK_OPTION |
+--------------+-----------------------------+--------------+
| bdnouvelle
| VueDesSocietes
| NONE
|
| bdsoutou
| VueDesPilotesJoursOuvrables | CASCADED
|
+--------------+-----------------------------+--------------+
Si j’avais voulu connaître les vues contenues seulement dans la base bdsoutou, il suffisait
d’ajouter la condition (WHERE TABLE_SCHEMA='bdsoutou').
Vous pouvez noter que MySQL utilise :
q
La colonne TABLE_SCHEMA pour désigner une database.
q
La colonne TABLE_NAME pour stocker le nom de chaque vue des différents schémas. Ici la
norme SQL doit y être pour quelque chose (Oracle nomme la colonne VIEW_NAME).
q
La colonne CHECK_OPTION pour indiquer le caractère restreint de chaque vue (la
première n’est pas restreinte, la seconde l’est).
Classification des vues
Le tableau suivant classifie les vues selon leur fonctionnalité. Notez qu’aucune redondance ni
de synonyme n’existent (si vous voulez réaliser une extraction pour découvrir quelque chose,
il n’y aura pas beaucoup de requêtes différentes possibles).
Précédent

- 215/418

Suivant