Dans la table Flight, je ne reprends que 6 des 30 champs que tu proposais initialement, à savoir: DayDual, DayPic, NightDual, NightPic, DayCopi, NightCopi.
Pour un vol donné, même s’il n’y a qu’un seul champ rempli, un taux de remplissage de 1/6 est toujours plus optimal qu’un taux de 1/30.
Si je remplis quelques lignes des différentes tables (je mets n’importe quoi hein !!):
1 2 3
| Flight :
ID registration DayDual DayPic NightDual NightPic DayCopi NightCopy
1 156 2h00 2h30 |
(avec 4 champs qui resteront vides)
1 2 3
| AirCraft:
Registration
TypeAircraft
156
sing pist |
Le vol n°1 concerne l’avion N°156 avec 2h00 en Day Dual et 2h30 en Day Pic. L’avion n°156 est de type ‘sing pist’.
Tu en déduis : sing pist day dual=2h00, sing pist day pic=2h30 et nada pour les autres valeurs. Par contre, il faut rechercher l’info dans les deux tables jointes.
Dans l’autre modèle que je proposais avec deux nouvelles tables DetailFlight et TypeDuree :
Dans la fenêtre des relations d’Access et en simplifiant:
Flight
-1-----
∞-DetailFlight
-∞------
1-TypeDuree
Je remplis les tables TypeDuree et DetailFlight:
1 2 3 4 5 6 7
| TypeDuree :
IdTypeDuree LibelleTypeDuree typeAircraft
1 sing pist day dual sing pist
2 sing pist night dual sing pist
25 multi jet day pic multi jet
30
|
1 2 3 4
| DetailFlight:
idFlight idTypeDuree Duree
104 1 2h00
104 2 2h30 |
Pour le vol référencé 104, 2h00 en ‘sing pist day dual’(idTypeDuree=1) puis 2h30 en ‘sing pist night dual’(idTypeDuree=2), nada pour le reste.
Dans ce modèle, il n’y a aucun champ vide par contre il faut pêcher l’information en multipliant les jointures entre différentes tables. Un SGBD est fait pour ça et les données ne sont pas forcément disposées comme dans un tableau Excel…
Partager