Tutoriel de Bases de Données Relationnelles

Tutoriel de Bases de Données Relationnelles

Accueil  > Supports pédagogiques > Exercices > Modèle E/A > Les avions > Les avions - corrigé

Corrigé de l'exercice de conception E/A : les avions

1- Modèle Entité-association

2- Schéma relationnel correspondant :

PASSAGER(NoP, nom, prenom, adresse, profession, banque)
EQUIPAGE(NoSecu, nom, adresse, adresse, salaire, NbHrvol, fonction)
PILOTE(NoSecu, nom, prenom, adresse, salaire, NbHrvol, Nolicence)
Pour la relation PILOTE une autre clé possible est Nolicence.
AUSOL(NoSecu, nom, prenom, adresse, salaire)
NAVIGANT(NoSecu, nom, prenom, adresse, salaire, NbHrvol)
est une relation construite à partir des relations EQUIPAGE et PILOTE par la requête SQL :
SELECT NoSecu, nom, prenom, adresse, salaire, NbHrvol
FROM EQUIPAGE
UNION
SELECT NoSecu, nom, prenom, adresse, salaire, NbHrvol
FROM PILOTE
EMPLOYE(NoSecu, nom, prenom, adresse, salaire) est une relation construite à partir des relations EQUIPAGE, PILOTE
et AUSOL par une reqête SQL avec UNION
PERSONNE(NoP, nom, prenom, adresse) avec NoP <-> NoSecu est une relation construite à partir des relations PASSAGER, EQUIPAGE,

PILOTE et AUSOL par une requête SQL avec UNION.
BILLET(NoB, dateem, prix, NoP, NoV, DateDep) avec NoP clé étrangère sur PASSAGER et NoV, DateDept clé étrangère sur DEPART.
DEPART(NoVol, DateDep, nblibre, nboccup, NoPil1, NoPil2, NoEquip1, NoEquip2, NoEquip3, NoEquip4)

NoPil2, NoEquip3 et NoEquip4 peuvent avoir une valeur nulle.

VOL(NoV, DateDeb, DateFin, hrdep, hrarr, NoL, NoImm) avec NoL clé étrangère sur LIAISON et NoImm clé étrangère sur APPAREIL.

LIAISON(NoL, villedep, villearr)

APPAREIL(NoImm, type, capa)

3- Contraintes d'intégrité :

En dehors des contraintes d'intégrité liées au modèle relationnel (contraintes de domaine, de non nullité, d'unicité de valeur, et contraintes d'intégrité référentielle) la base de données associée au schéma relationnel précédent est cohérente si un certain nombre de contraintes liées à l'application sont vérifiées :

  • pour un départ donné D d'un vol V associé à un appareil A, on a A.capa=D.nboccup + D.nblibre
  • pour un départ donné D d'un vol V on a V.DateDeb <= D.DateDep <= V.DateFin
  • etc...

[fil RSS du site]
Dernière mise à jour : 02/09/2009