Envoyé par
bouba69
Si je modifie les cardinalités je ne peut pas creer la table appartient _à puisque'il me semble qu'il ya une regle qui dit en substance: une association devient table lorsque les cardinalités de 2 côtes sont 1,n....1,n.
C’est généralement ce qui se dit (cela vaut plus généralement pour les cardinalités x,N — x,N où x vaut 0 ou 1) mais au niveau tabulaire, vous êtes libre de faire comme vous l’entendez. Cela dit, les AGL suivent la règle générale. Supposons maintenant que, concernant l’association-type APPARTIENT_A, les cardinalités soient 1,N et 1,1 signifiant qu'un aéro-club possède plusieurs avions et qu'un avion appartient à un seul aéro-club. De la même façon, un avion est d’un seul type. Cela se traduira de la façon suivante au niveau tabulaire :
AEROCLUB {AeroClubId, RaisonSociale, ...}
TYPEAVION {TypeAvionIdId, Nom, ...}
AVION {AvionId, AeroClubId, NoImmatriculation, TypeAvionId, DateAchat, ...}
C'est-à-dire que l’association-type APPARTIENT_A aura donné lieu à l’injection de l’identifiant AeroClubId dans la table AVION, sous forme d’un attribut AeroClubId, dont les valeurs seront contraintes à être d’abord des valeurs de l’attribut AeroClubId de la table AEROCLUB (on parle alors d’intégrité référentielle). En effet, ça ferait désordre de trouver dans la table AVION des références à des aéro-clubs inexistants.
Concernant les liens AVION - TYPEAVION, le principe est évidemment le même.
Exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| AEROCLUB {AeroClubId, RaisonSociale, ...}
1 Hispano-Suiza
2 Paris Vol Club
3 Air Développez
TYPEAVION {TypeAvionIdId, Nom,...}
1 Piper J3
2 Cessna-150
AVION {AvionId, AeroClubId, NoImmatriculation, TypeAvionId, DateAchat, ...}
1 1 F-BUBS 2 2008-02-28
2 1 F-GRDR 2 2004-05-14
3 2 F-BFMZ 1 2004-07-12
4 1 F-BRBN 2 1997-01-24 |
Envoyé par
bouba69
un avion peut ne pas appartenir qu' a un seul aéroclub. La notion de temps doit-elle prise en compte?
J’en ai déjà parlé. Si l’on part de la règle la plus plausible, à savoir que le même avion ne peut pas appartenir à deux aéro-clubs en même temps, on aura une table Historique venant compléter les tables précédentes :
1 2 3 4 5
|
AVIONHISTO {AvionId, AeroClubId, DateAchat, DateVente...}
1 3 2001-12-17 2002-02-04
1 2 2002-02-06 2008-02-27
... |
On apprend ainsi que le Cessna-150 immatriculé F-BUBS appartient depuis le 2008-02-28 à Hispano-Suiza, avant d’avoir été la propriété de Paris Vol Club (du 2002-02-06 au 2008-02-27) et de Air Développez (du 2001-12-17 au 2002-02-04).
Je vous laisse le soin d’inférer la partie correspondante du MCD.
Partager