Académique Documents
Professionnel Documents
Culture Documents
M1 IL
KHICHA INES
181831013057
RAPPORT TP
ASGBD
Introduction :
Le dictionnaire de données (DD) est le référentiel unique qui décrit tous les objets
physiques et logiques d'une base de données Oracle. Il est accédé implicitement par le
noyau Oracle et explicitement par les utilisateurs DBA ou non.
Par exemple lorsque l'on crée une table le noyau insère automatiquement une ligne
descriptive dans la table des tables.
Le dictionnaire est organisé en tables et en vues, ce qui implique que son
interrogation peut se faire en SQL !
Réponses :
1. On se connecte en tant que « system » :
a. Lister le catalogue «DICT»
La Requête :
SELECT * FROM DICT ;
Résultat :
b.Nombre d’instances de « DICT » :
Requête :
SELECT * FROM DICT ;
Résultat :
SELECT COUNT(*) FROM DICT ;
TABLE CLIENT :
8. Vérifions qu’il y a une référence de clé étrangère entre la table « PRODUIT »
et « CATEGORIE»
Pour cela on devrait lister les contraintes de la table produit là où se trouve la clé étrangère
qui fait référence à la clé primaire dans la table catégorie
Requête :
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE FROM
USER_CONSTRAINTS WHERE TABLE_NAME='PRODUIT';
Résultat:
9. Toutes les contraintes créées lors du TP1 et les informations qui les
caractérisent (Exploitez la table USER_CONSTRAINTS);
On peut afficher tous les attributs de la table user_constraints comme on peut afficher que
le nom de la contrainte, son type et le nom de la table associée pour que l’affichage soit
plus clair.
Requête :
SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE FROM
USER_CONSTRAINTS;
Résultat:
10. Les informations qui permettent la recréation de la table
Pour pouvoir recréer la table on doit savoir les attributs de cette table ainsi leurs type et
longueur en exploitant la table USER_TAB_COLUMNS, sans oublier les contraintes et
leurs type également avec USER_CONSTRAINTS
Requête :
// Les attributs
SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME='COMMANDE';
// Les contraintes
SQL> SELECT
CONSTRAINT_NAME,R_CONSTRAINT_NAME,CONSTRAINT_TYPE FROM
USER_CONSTRAI
NTS WHERE TABLE_NAME='COMMANDE';
Resultats :
Les attributes :
Les constraints:
11.Les privilèges accordés à l’utilisateur « ADMINCOMPTOIRS»
Afin de pouvoir afficher les privilèges accordés à cet utilisateur on peut faire appel
à la table USER_TAB_PRIVS avec le privilégié « ADMINCOMPTOIRS »
Requête :
SELECT PRIVILEGE, TABLE_NAME FROM USER_TAB_PRIVS WHERE
GRANTEE='ADMINCOMPTOIRS';
Résultat:
Vu que l’utilisateur n’a pas le privilège de créer une session on ne peut pas lister les
privilèges en
connectant a ce dernier
Comme indiqué, le seul rôle attribué à cet utilisateur était le rôle que nous lui
avons affecté dans le dernier TP
Les objets de cet utilisateur sont la table test, la vue view1 et l’index NP_IX crées
dans le TP précédent
14. Le propriétaire de la table «MESSAGER» :
Requête :
SELECT OWNER FROM ALL_TABLES WHERE
TABLE_NAME='MESSAGER';
Résultat:
16. L’effet produit par chacune des commandes de définition de données du TP1 sur
le dictionnaire.
Afin de montrer clairement l'effet de la définition des données sur le dictionnaire nous
allons créer un nouvel utilisateur et un nouveau tablespace afin de montrer l'état des
tables : relations, colonnes et contraintes avant et après l'exécution des différentes
commandes de tp1
- Apres la création, on veut savoir l’état initial des catalogues avant toutes
modifications
Comme le montre les figures ci-dessus les tables catalogue sont toutes vides car on
rien crée ou inséré comme données