You are on page 1of 3

Cours de Bases de Données (A.

Cornuéjols) AgroParisTech MISI (07-08)

TP : Création d’un schéma de tables

1. Mise en place de l’environnement 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 sûr de pouvoir utiliser Oracle depuis votre compte Unix, vérifiez les variables
d’environnement 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
Vérifiez également que la règle de recherche suivante se trouve dans votre path :
/usr/local/oracle/product/10.1.0/Db_1/bi
Nota : Vous pouvez lister l’environnement du processus Shell par la commande : env

2. Spécifications de la base Stage de danse
Créez une base relationnelle sous Oracle qui permette de gérer un stage de danse d’une semaine en
résidence.
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 (débutant, intermédiaire/avancé). Chaque atelier
(une danse, un niveau) est assuré par un intervenant. Le schéma relationnel de cette base figure en
page 3 (les colonnes clé sont précédées d’un dièse)

Écrivez dans un fichier stage.sql, sous un éditeur de texte, les requêtes SQL de création de ce schéma
relationnel en tenant compte des contraintes suivantes :
• Le jour est un élément de la liste de valeurs (Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi,
Dimanche)
• Heure_Début et Heure_Fin doivent prendre des valeurs entre 0 et 24. On suppose que l’on
travaille sur des heures entières sans utiliser le type Date
• L’âge doit être inférieur à 100.
Pour appeler l’éditeur, tapez sous le shell la commande : emacs stage.sql&
Éxécutez les requêtes de création sous sqlplus. Insérez dans les tables créées les valeurs indiquées
dans les tables ci-dessus. Pour exécuter les requêtes lancez l'interpréteur SQL d'Oracle en vous
connectant au compte Oracle qui vous a été attribué (noté speinfoI ci-dessous). La commande à
exécuter est la suivante :
sqlplus speinfoI (I variant de 1 à 8 selon le compte)

- 1 -

(ii) attacher vos tables Oracle sous Access et saisir les valeurs dans les tables à partir de l’interface graphique d’Access. Vérifiez que leur structure est conforme à ce que vous avez spécifié. L'instruction suivante donne la structure de la table ATELIER : SQL> desc ATELIER Pour insérer les valeurs. passez en mode trace sur fichier avec la commande : SQL> spool cre_stage. Le fichier de trace sera lisible lorsque vous aurez tapé la commande : SQL> spool off Remarque : Vous pouvez vérifier que vos tables sont bien créées en utilisant une vue sur le dictionnaire de données : SQL> select table_name from user_tables. fichier ODBC. vous avez le choix entre : (i) utiliser des ordres SQL d’insertion que vous exécuterez sous l’interpréteur Oracle présenté ci-dessus. Il faut avoir préalablement créé un DSN (Data Source Name) avec l’administrateur ODBC de Windows référençant la base de données Oracle tournant sur la machine Unix.sql). . L’attachement des tables se fait sous Access à partir du menu Fichier. Données externes.2 - . Cornuéjols) AgroParisTech MISI (07-08) Afin de pouvoir analyser sous éditeur de texte la trace d'exécution du chargement du schéma.Cours de Bases de Données (A.lst est le nom du fichier trace) Lancez la création de la base par la commande : SQL> start stage ou @stage (si votre script se trouve dans le fichier stage.lst (cre_stage.

Cornuéjols) AgroParisTech MISI (07-08) #Id_Intervenant Nom_Intervenant Prénom_Intervenant 1 Rey 2 Gilles 3 Denis 4 Amandine Table 1 Intervenant #Id_ Participant Nom_ Participant Prénom_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_Début Heure_Fin Salsa1 Lundi 10 12 Salsa1 Mercredi 14 16 Salsa2 Mardi 10 12 Table 5 Emploi_du_temps .Cours de Bases de Données (A.3 - .