Vous êtes sur la page 1sur 3

Cours de Bases de Donnes (A.

Cornujols) AgroParisTech MISI (07-08)

TP : Cration dun schma de tables

1. Mise en place de lenvironnement pour utiliser Oracle


Le SGBD relationnel Oracle est disponible sur un serveur Unix. Connectez-vous sur le compte Unix
qui vous a t attribu sur cette machine.
Pour tre sr de pouvoir utiliser Oracle depuis votre compte Unix, vrifiez les variables
denvironnement suivantes :
ORACLE_BASE=/usr/local/oracle
ORACLE_HOME=/usr/local/oracle/product/10.1.0/Db_1
ORACLE_SID=speinfo
NLS_LANG=AMERICAN_AMERICA.WE8DEC
Vrifiez galement que la rgle de recherche suivante se trouve dans votre path :
/usr/local/oracle/product/10.1.0/Db_1/bi
Nota : Vous pouvez lister lenvironnement du processus Shell par la commande : env

2. Spcifications de la base Stage de danse


Crez une base relationnelle sous Oracle qui permette de grer un stage de danse dune semaine en
rsidence.
Dans la semaine, les participants peuvent s inscrire trois cours de danse (salsa, tango argentin,
lindy hop). Dans chaque cours, il y a deux niveaux (dbutant, intermdiaire/avanc). Chaque atelier
(une danse, un niveau) est assur par un intervenant. Le schma relationnel de cette base figure en
page 3 (les colonnes cl sont prcdes dun dise)

crivez dans un fichier stage.sql, sous un diteur de texte, les requtes SQL de cration de ce schma
relationnel en tenant compte des contraintes suivantes :
Le jour est un lment de la liste de valeurs (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi,
Dimanche)
Heure_Dbut et Heure_Fin doivent prendre des valeurs entre 0 et 24. On suppose que lon
travaille sur des heures entires sans utiliser le type Date
Lge doit tre infrieur 100.
Pour appeler lditeur, tapez sous le shell la commande : emacs stage.sql&
xcutez les requtes de cration sous sqlplus. Insrez dans les tables cres les valeurs indiques
dans les tables ci-dessus. Pour excuter les requtes lancez l'interprteur SQL d'Oracle en vous
connectant au compte Oracle qui vous a t attribu (not speinfoI ci-dessous). La commande
excuter est la suivante :
sqlplus speinfoI (I variant de 1 8 selon le compte)

- 1 -
Cours de Bases de Donnes (A. Cornujols) AgroParisTech MISI (07-08)

Afin de pouvoir analyser sous diteur de texte la trace d'excution du chargement du schma, passez
en mode trace sur fichier avec la commande :
SQL> spool cre_stage.lst (cre_stage.lst est le nom du fichier trace)
Lancez la cration de la base par la commande :
SQL> start stage ou @stage (si votre script se trouve dans le fichier
stage.sql).
Le fichier de trace sera lisible lorsque vous aurez tap la commande :
SQL> spool off
Remarque : Vous pouvez vrifier que vos tables sont bien cres en utilisant une vue sur le
dictionnaire de donnes :
SQL> select table_name from user_tables;
Vrifiez que leur structure est conforme ce que vous avez spcifi. L'instruction suivante donne la
structure de la table ATELIER :
SQL> desc ATELIER
Pour insrer les valeurs, vous avez le choix entre :
(i) utiliser des ordres SQL dinsertion que vous excuterez sous linterprteur Oracle
prsent ci-dessus.
(ii) attacher vos tables Oracle sous Access et saisir les valeurs dans les tables partir de
linterface graphique dAccess. Lattachement des tables se fait sous Access partir du
menu Fichier, Donnes externes, fichier ODBC. Il faut avoir pralablement cr un
DSN (Data Source Name) avec ladministrateur ODBC de Windows rfrenant la base
de donnes Oracle tournant sur la machine Unix.

- 2 -
Cours de Bases de Donnes (A. Cornujols) AgroParisTech MISI (07-08)

#Id_Intervenant Nom_Intervenant Prnom_Intervenant


1 Rey
2 Gilles
3 Denis
4 Amandine
Table 1 Intervenant

#Id_ Participant Nom_ Participant Prnom_Participant Age


1 Rogelio 35
2 Iskander 32
3 Susana 43
4 Ada 20
Table 2 Participant

#Id_Atelier Id_Intervenant #Id_Participant #Id_Atelier


Salsa1 4 4 Salsa1
Salsa2 1 1 Salsa2
Lindy1 5 4 Lindy1
Lindy2 3 3 Lindy1
Tango1 4 4 Tango1
Tango2 2 2 Tango2
Table 3 Atelier Table 4 Est_Inscrit_En

#Id_Atelier #Jour #Heure_Dbut Heure_Fin


Salsa1 Lundi 10 12
Salsa1 Mercredi 14 16
Salsa2 Mardi 10 12
Table 5 Emploi_du_temps

- 3 -