Dictionnaire de données Oracle
Rappel :
Le dictionnaire des données contient la description des objets créés et maintenus par le serveur Oracle.
Syntaxe : Lister tous les objets appartenant à l'utilisateur
SELECT * FROM user_objects;
Syntaxe : Lister sélectivement certains objets
SELECT * FROM user_tables;
SELECT * FROM user_sequences;
SELECT * FROM user_views;
SELECT * FROM user_procedures;
SELECT * FROM user_indexes ;
...
Syntaxe : Décrire un objet
DESCRIBE nom_objet
Syntaxe : Lister les contraintes
SELECT table_name, constraint_type AS type, constraint_name, search_condition
FROM user_constraints
ORDER BY table_name, constraint_type
Complément : Recyclebin
Selon la configuration du serveur Oracle, il peut y avoir une gestion de corbeille (recyclebin) qui maintient des objets supprimés en les renommant avec un nom préfixé de BIN$.
Pour exclure ces objets des requêtes au catalogue, ajouter une contrainte de type WHERE adéquate, par exemple :
SELECT table_name, constraint_type AS type, constraint_name, search_condition
FROM user_constraints
WHERE constraint_name NOT LIKE 'BIN$%'
ORDER BY table_name, constraint_type
Il est également possible de purger la corbeille avec la commande : PURGE recyclebin
.
Complément :
Afficher les différents types d'objets appartenant à l'utilisateur :
SELECT object_type FROM user_objects;
Afficher la liste des objets appartenant à l'utilisateur :
SELECT * FROM user_catalog;
Rappel : BD "Gestion des intervenants" : Schéma relationnel
tIntervenant (#pknom:varchar, prenom:varchar, poste:integer)
tCours (#pkannee:2000..2100, #pknum:integer, titre:varchar, type:C|TD|TP, fkintervenant=>tIntervenant, debut:date)
Exemple : BD "Gestion des intervenants" : Utilisation du catalogue
SELECT table_name FROM user_tables;
DESCRIBE tCours;
SELECT table_name, constraint_type AS type, constraint_name, search_condition
FROM user_constraints
WHERE constraint_name NOT LIKE 'BIN$%'
ORDER BY table_name, constraint_type
TABLE_NAME
------------------------------
TINTERVENANT
TCOURS