top of page

OBJETS ORACLE

Sous Oracle, il existe plusieurs objets utiles.

 

Une séquence est un objet défini par une valeur initiale incrémentée à chaque utilisation. Une séquence sert à numéroter automatiquement les clés au cours des insertions. Par défaut, la première valeur d'une séquence est 1.

 

On crée la séquence avec la commande CREATE SEQUENCE.

CREATE SEQUENCE client_seq;

 

Puis on l'applique à la variable lors de son insertion, avec la commande NEXTVAL.

INSERT INTO client(id, nom)

VALUES(client_seq.NEXTVAL, "TOTO");

 

 

Un index permet de retrouver rapidement une valeur d'une variable. Il est automatiquement crée sur les clés primaires.

 

Pour créer un index, on utilise la commande CREATE INDEX. Voici comment créer un index sur la variable nom de la table plantes.

CREATE INDEX nom_index ON plantes(nom)

 

 

Une vue est requête SELECT à laquelle on attribue un nom et qui peut être utilisée comme une nouvelle table. Attention, aucune table sera créée, une vue est juste une table temporaire. 

 

Pour créer une vue, on utilise la commande CREATE VIEW.

 

CREATE VIEW nom_vue

AS SELECT ...

FROM ...

WHERE ... ;

 

Puis on utilise la vue comme une table.

 

SELECT ...

FROM nom_vue

WHERE ... ;

 

 

 

Sous Oracle, il est aussi possible de gérer les droits d'accès à nos objets.

 

Pour autoriser une personne à accéder à nos objets, on utilise GRANT. Dans l'exemple suivant, on autorise tous les utilisateurs à utiliser l'instruction SELECT sur la table clients.

 

GRANT SELECT ON clients TO PUBLIC;

 

 

Pour interdire une personne à accéder à nos objets, on utilise REVOKE. Dans l'exemple suivant, on interdit l'utilisateur nommé fafa à utiliser l'instruction SELECT sur la vue vue_flechettes.

 

REVOKE SELECT ON vue_flechettes TO fafa;

 

 

 

Un dictionnaire des données est un ensemble de tables et de vues décrivant les informations sur les tables, les vues, leurs colonnes, les contraintes, les séquences, les indexs, les droits et les procédures.

 

Sous Oracle, les données de l’utilisateur ont le préfixe USER_.

 

Les données / informations se trouvent dans l'objet DICTIONARY.

Pour rechercher des données dans le dictionnaire des données, on utilise la commande DESC DICTIONARY. Il n'y a pas besoin de mettre de point virgule.

 

DESC DICTIONARY

 

Par exemple, si on souhaite avoir des informations sur les tables de l'utilisateur, il faudra sélectionner les tables dont le nom commence par USER_.

 

SELECT TABLE_NAME

FROM DICTIONARY

WHERE TABLE_NAME LIKE ’USER_%’;

 

Puis, pour rechercher des données dans les tables de l'utilisateur, on utilise la commande DESC USER_TABLES.

 

DESC USER_TABLES

bottom of page