Dictionnaire de données Oracle

Rappel

Le dictionnaire des données contient la description des objets créés et maintenus par le serveur Oracle.

SyntaxeLister tous les objets appartenant à l'utilisateur

SELECT * FROM user_objects;

SyntaxeLister sélectivement certains objets

  • SELECT * FROM user_tables;

  • SELECT * FROM user_sequences;

  • SELECT * FROM user_views;

  • SELECT * FROM user_procedures;

  • SELECT * FROM user_indexes ;

  • ...

SyntaxeDécrire un objet

  • DESCRIBE nom_objet

SyntaxeLister les contraintes

1
SELECT table_name, constraint_type AS type, constraint_name, search_condition
2
FROM   user_constraints
3
ORDER BY table_name, constraint_type

ComplémentRecyclebin

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 :

1
SELECT table_name, constraint_type AS type, constraint_name, search_condition
2
FROM   user_constraints
3
WHERE constraint_name NOT LIKE 'BIN$%'
4
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;

RappelBD "Gestion des intervenants" : Schéma relationnel

1
tIntervenant (#pknom:varchar, prenom:varchar, poste:integer)
2
tCours (#pkannee:2000..2100, #pknum:integer, titre:varchar, type:C|TD|TP, fkintervenant=>tIntervenant, debut:date)

ExempleBD "Gestion des intervenants" : Utilisation du catalogue

1
SELECT table_name FROM user_tables;
2
3
DESCRIBE tCours;
4
5
SELECT table_name, constraint_type AS type, constraint_name, search_condition
6
FROM   user_constraints
7
WHERE constraint_name NOT LIKE 'BIN$%'
8
ORDER BY table_name, constraint_type
9
1
TABLE_NAME                   
2
------------------------------
3
TINTERVENANT                   
4
TCOURS