TP N°2 :
Création d'une base de données relationnelle
Convention d'écriture : Une clé primaire est soulignée et une clé étrangère est augmentée de "*".
On considère la base de données AIRDB suivante :
PILOTE (Matricule: entier, Nom: string, prenom: string, date_nais: date,NB_heures: entier)
AVION (Code: string, marque: string, modele: string, date_fab; date, nb_heures: entier)
PILOTER (Mt_Pilote*: entier, Cd_avion*: string)
VOLS (num_vol: string, destination: string, date_vol: date, cd_avion*: string, mt_pilote*: entier)
PASSAGER (Num_passage: entier, nom: string, prenom: string, classe: string, n_vol*: string)
Les attributs pouvant avoir des valeurs inconnues et qui ne sont pas concernés par la contrainte NOT
NULL sont :
Relation PILOTE: date_nais, NB_heures
Relation AVION:date_fab, nb_heures
RelationVOLS:date_vol
Relation PASSAGER: classe
QUESTIONS :
1. Créer la base de données AIRDB.
2. Insérer les tuples suivants dans la base de données puis afficher le résultat.
PILOTE : (1,'TAHERI','AMAR','1981-07-11',943); (2,'SENJAK','TOUFIK','1979-03-30',3750);
AVION : ('B737-51','BOEING','B737','2012-03-30',19562);
('A300-52','AIRBUS','A300','2001-11-10',26633);
PILOTER : (1,'B737-51'); (2,'A300-52');
VOLS : ('AH1','PARIS','2015-04-16','B737-51', 1); ('AH2','TUNIS','2015-04-08','A300-52', 2);
PASSAGER : (1,'AKKOUCHE','Yacine','4','AH1'); (2,'AMAIRI','CHAFIARANIA','1','AH2');
3. Supprimer la table PILOTER puis la recréer.
4. Ajouter dans la table PASSAGER la contrainte de domaine (l'attribut "classe"doit être dans
l'ensemble {1, 2, 3, 4}).
5. Insérer dans la table PILOTE le tuple : (1,'LASSAS','MOHAMED','1970-12-12',1244). Expliquer
le message d'erreur affiché et corriger.
6. Insérer dans la table VOLS le tuple : ('AH3','CAIRE','2015-04-13','A320-53', 1). Expliquer le
message d'erreur affiché et corriger.
7. Insérer dans la classe PASSAGER le tuple : (33,'YAICH','SARA','5','AH2'). Expliquer le message
d'erreur affiché et corriger.
8. Modifier la classe du passager num 1 en classe 2.
9. Changer le pilote du vol ‘AH1’ par le pilote num 5. Expliquer le message d'erreur affiché et
corriger.
10. Supprimer le passager num 2.
11. Supprimer l'avion de code 'B737-51'.Expliquer le message d’erreur affiché et corriger
12. Supprimer le vol ‘AH1’. Expliquer le message d'erreur affiché et corriger.
Page 1
Documentation jointe :
Aide mémoire SQL: (fichier MemoSQL.pdf), (fichier mysql-aide-memoire-sql.pdf)
Lien : https://openclassrooms.com/courses/administrez-vos-bases-de-donnees-avec-mysql/les-
types-de-donnees
Syntaxe SQL et quelques commandes :
Toute chaine de caractères doit absolument être entourée de guillemets simples (donc des
apostrophes).
Toute commande doit se terminer par ";". A l'exception de quelques unes par exemple QUIT
pour se déconnecter.
SHOW TABLES ; : commande qui liste les tables de la base de données.
DESCRIBE Pilote; : commande qui liste les colonnes d'une table avec leurs caractéristiques
(ici, on affiche les caractéristiques de la table Pilote)
SELECT * FROM Pilote; : commande qui affiche tous les tuples d'une table (ici, on affiche la
table Pilote)
Conventions d'écriture :
Tous les mots clés SQL seront écrits en MAJUSCULE.
Tous les noms de bases, tables et colonnes seront écrits en minuscule.
Types de données dans MYSQL : Voir la documentation jointe.
Page 2