Procédure de connexion à Oracle
La base que vous allez utiliser est composée des relations suivantes : Producteurs Récoltes, Vins, Achats, Buveurs (soit P R V A B). Le schéma suivant précise les liens qu'il y a entre ces tables.

L'objectif de la première
partie est de
découvrir le schéma des relations
utilisées et
d'examiner la structure de la méta-base et le type
d'information qu'elle contient.
La deuxième partie est
consacrée à la pratique du langage SQL
à l'aide
des relations décrites ci-dessus.
La troisième partie
est
consacrée à la manipulation (création
et
l'interrogation) des vues relationnelles.
L'ensemble du TP est à réaliser à l'aide de l'outil SQLPLUS de Oracle, qui intègre un interpréteur du langage SQL (voir annexe d'utilisation de SQLPLUS).
Dans cette partie, vous allez découvrir le schéma précis des relations de la base de données sur laquelle vous allez travailler et la notion de méta-base (aussi appelée dictionnaire de données). La méta-base est un ensemble de tables et de vues gérées de façon automatique par le SGBD et qui contiennent des information sur les tables, vues et autres objets créés par les utilisateurs du système.
Pour avoir la liste des tables, vues et synonymes dont vous êtes propriétaires, tapez la requête SQL suivante :
select * from cat ;
Pour découvrir la structure d'une relations (ex. vins), tapez :
desc vins
Les commandes SQL se terminent par un ordre d'execution : ";" ou "/" (en début de ligne). Les commandes propres à sqlplus (ex. desc) ne nécessitent pas d'ordre d'exécution.
En restant sous l'interpréteur SQL d'Oracle, exprimez en SQL et testez les requêtes suivantes :
Toute requête SQL peut servir à la définition d'une vue :
create view Nom_Vue as select ... from ... where ... ;
A tout moment, vous pouvez contrôler votre création par
set long 1024
select * from USER_VIEWS ;
sqlplus LOGNAME/PASSWORD@infres5/orcl11
où LOGNAME est votre compte oracle et vaut de
bda01 à bda70 selon votre station, PASSWORD vaut
bda pour tout le monde.
sqlplus LOGNAME/PASSWORD@infres5/orcl11
où LOGNAME est votre compte oracle et vaut de
bda01 à bda50 selon votre station et PASSWORD vaut
bda pour tout le monde (exemple : sqlplus bda15/bda@infres5/orcl11).
Exemple :
SQL> SELECT COUNT(*)
2> FROM buveurs
3> WHERE type = 'moyen'
4> AND nb IN (SELECT nb
5> FROM achats
6> WHERE dat BETWEEN '01-JAN-81' AND '31-DEC-81')
7> ;
save filename.sql/* sauve le contenu du buffer dans un fichier de nom filename.sql */
get filename.sql/* charge le buffer avec le contenu du fichier de nom filename.sql */
start filename/* charge le buffer et lance l'exécution du fichier script sql */
run/* lance l'exécution du contenu du buffer */
spool filename.txt/* copie la sortie écran sur le fichier filename.txt */
spool off/* suspend l'opération précédente */
help commande/* pour obtenir de l'aide sur la commande donnée en argument */
set long 1024/* pour voir la totalité des définitions de vues */
set pagesize 20/* formate la sortie écran par blocs de 20 lignes */
set pause on/* ne visualise la sortie qu'après un 2e RC - bloc par bloc - */
set timing [on|off]/* active ou désactive le chronomètre */
desc[ribe] tablename/* donne le schéma de la relation tablename */
all_catalog/* relation donnant toutes les tables accessibles */
user_catalog/* relation donnant les seules tables du USER */
cat/* synonyme de la précédente ..*/
all_objects/* relation donnant tous les objets accessibles */
user_objects/* relation donnant les seuls objets du USER */
obj/* synonyme de la précédente ..*/
user_sys_privs/* relation donnant les privilèges système du USER*/
user_tab_privs/* relation donnant les privilèges sur les objets accessiles*/
![]()