TP Oracle Aeroport
TP Oracle Aeroport
TP Oracle Aeroport
ATTENTION :
Ce TP de manipulation se compose de deux parties.
La première partie s’effectue sur papier et à l’écran en environ 1h30. Elle concerne la
définition en SQL de tables relationnelles, et des manipulations possibles sur le
schéma de données.
Dans la seconde partie, Il vous sera founit, au bout d'1h30 de travail, des fichiers à
télécharger afin d'homogénéiser les groupes. Ces fichiers contiennent les définitions
des tables et des données insérées. Cela fera office de corrigé (c'est pour cela que
nous vous demandons une première copie au bout d'1h30). Cette seconde partie
concerne l'interrogation de ces données. Vous aurez un ensemble de requêtes écritent
en français qu'il faudra traduire en SQL.
Le rapport est un ensemble commenté des questions de chaques parties. C'est à dire
que nous voulons les requêtes à définir, ainsi qu'un commentaire pour chacun (même
succint). Si des questions de cours sont demandées, veuillez reporter la question, et
votre réponse commentée.
Pour vous aider, vous trouverez la syntaxe pour SQL sur internet. Toute commande
SQL se termine par un ';'. Par exemple, vous pourrez consulter la syntaxe sur :
http://wwwlsi.supelec.fr/www/yb/poly_bd/sql/poly_59.html.
PRELIMINAIRE :
Connectez-vous sur jungle et tapez : jungle$ . /usr/local/oracle/etc/oracle-env
(attention au <point> <espace> au début)
Démarrez SQL*Plus par la commande : jungle$ sqlplus /
(attention sqlplus <espace> <slash>). Vous êtes prêts à
travailler.
PARTIE 1 : DÉFINITION DE DONNÉES
Le langage SQL offre un certain nombre de commandes dites de définition qui
permettent de définir et gérer une base de données. Cette première partie a pour
objectif de présenter et manipuler cet ensemble de commandes. Pour cela, un
ensemble de directives vous est proposé.
Dans le cadre de notre TP, nous considérerons une base données gérant l'aéroport
Charles De Gaulle.
Cette Base de Données contient:
•la liste du personnel (pilote/hotesse/stewart)
•la liste des destinations : villes d'europe, avec distance et décalage horaire
•la liste des compagnie de vol
•la liste des avions (type/compagnie/vitesse/capacité/équipage nécessaire)
•la liste des vols (avion/destination/jour) : pour plus de facilité, nous n'avons considérons que 3
jours de vols. Soit 40 vols différents
•la liste des réservations (vol/nom/prix) : le nombre de réservations possible en 40 vols différents
en fonction de la capacité de chaque avion donnant des chiffres énormes (de l'ordre de 6000
reservations), nous ne considérerons que 1124 réservations réparties dans les vols (soit 1/6°)
•La liste des équipages par vol : la répartition de l'équipage à été faite équitablement en fonction
de la capacité d'équipage de chaque avion. (min 2 pilotes - 3 pour une capacité de 11 -, le
reste en stewart et hotesse)
.
Voici le schéma correspondant de votre base :
4.INSERTION DE DONNÉES
Il vous est demandé d'insérer un jeu de données cohérent dans vos relations (un ou
deux tuples par relation)
Exemple de données insérées dans la relation Avion: (1, 1, 'A320', 150, 864, 7);
Est-il possible d'ajouter un attribut à une relation comprenant déjà des données? Si oui
quelles sont les conditions à respecter?
Est-il possible de changer la taille d'un attribut d'une relation contenant des données?
Si oui, quelles sont les conditions à respecter?
5. SUPPRESSION DE DONNÉES
Il vous est demandé de :
(i)supprimer les avions dont l'équipage est de 5 personnes;
(ii)supprimer les vols dont la date est inférieur au 1 janvier 2005.