Quitte à faire de l'UML, autant le faire correctement. Les symboles de relations sont incorrects, symbole de composition douteux, les relations ne sont pas nommées, il n'y a pas de multiplicités. (Toutes les relations doivent être nommées et doivent avoir une multiplicité des deux cotés de la relation.)
Ca sent un peu le diagramme fourre-tout.
Ecris une spec fonctionnelle, même brève, histoire de te mettre les idées en place.
Ainsi, en fonction de la spec fonctionnelle, on peut vouloir avoir l'adresse IP et le numéro de série dans la machine et non la config. Tout dépend de ce que fonctionnellement, on appelle configuration. Si c'est une "configuration standard", ta table config va contenir une liste de "config standards", à savoir tel modèle de machine vient avec tel OS, tel DD et tel software grâce à telle version Ghost. Dans ce cas, l'IP et le numéro de série n'ont rien à faire là.
De même, dans machine, tu peux ajouter un champs type_serveur qui prendra 2 valeurs: psp, ope, ou bien restera vide (null) si la machine n'est pas un serveur.
En tous les cas, le lien entre ces tables et machine n'est pas le même que celui entre voies et machine.
Les voies entree et voies sortie sont des voies, donc une table "voie" dont dérivent les deux autres ne serait pas de trop. (Après, l'implémentation de la dérivation dépend de la base et de l'ORM, avec Oracle et Postgres, c'est possible si le mapping le permet, avec d'autres, rien n'est moins sûr. La plupart du temps, on se contente d'une table supplémentaire.)
La relation entre voie-sortie et carte_acceptee est un materiel de paiement. A voir si une table materiel_paiement, contenant type de machine, numéro de série, etc, ne serait pas utile. Encore une fois, tout dépend du contour fonctionnel.
edit: si ma table materiel_paiement, c'est ta table equipt_physique, le type de carte acceptée n'est pas lié à cette table ?
Enfin dans carte_acceptee, tu mets des valeurs d'énumérations, j'ai l'impression (genre AmEx, Elf, Esso, Shell). De même dans equip_physique (LMP_xxx) ?
Les énumérés doivent être définis dans des types créés pour l'occasion (si la base le permet. Oracle et Postgres par ex.), ou mis dans des tables à part. Les champs amex, shell, esso, etc, doivent être remplacés type_carte (type_carte) et enseigne_station. Souviens-toi que ces énumérés ont de bonnes chances d'apparaitre à un moment ou à un autre dans une liste déroulante ou sous forme de boutons radio dans une IHM. Donc ça vaut le coup de les mettre dans une entité à part.
Il y a encore du travail, mais tu es sur la bonne voie.
De la lecture ici: http://forum.hardware.fr/hfr/Progr [...] 3970_1.htm
Message édité par el muchacho le 20-04-2008 à 10:57:22
---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien