|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() |
Bonjour,
Les tables suivantes : Appareille, Type consommation, Consommation Conception des cardinalité en UML: Type_consommation --1------------1.*-- Appareille ---1.*------------1-- Consommation Conception des cardinalité à la MCD: Type_consommation --1.*------------1-- Appareille --1-------------1.*-- Consommation Ce qui devrait donnés : Type consommation (id_ Type consommation, libeller_ Type consommation), Appareille (id_ Appareille, id_ Type consommation, libeller _ Appareille), Consommation (id_ Consommation, id_Appareille, Quantité_consomation, prix, DateTime). Merci d'avance de me dire s'il y a des anomalie (ces en ouvrant de débat que la lumière jaillit) |
|
00
|
|
|
#2 |
![]() ![]() |
pas tout à fait
Quand en UML du a du 1--* (* ou qq chose > 1) tu as une foreign key du côté de la table qui stocke la classe côté *. Appareille dans ton cas doit donc avoir 2 clés, une vers Type_Consommation, une autre vers Consommation. NB : Tu ne veux pas plutôt dire Appareil ? (pas lle)
__________________
http://ego.developpez.com |
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() |
Citation:
Type consommation (id_ Type consommation, id_Appareill*, libeller_ Type consommation), Appareille (id_ Appareill, libeller _ Appareille), Consommation (id_ Consommation, id_Appareill*, Quantité_consomation, prix, DateTime). |
|
|
00
|
|
|
#4 |
![]() ![]() |
Non c'est Appareille qui doit avoir 2 clés étrangères pointant l'une vers Type_Consommation et l'autre vers Consommation
Appareille + id_Appareille + fk_Type_Consommation + fk_Consommation A moins que ton modèle UML soit faux
__________________
http://ego.developpez.com |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() |
selon vous elle devrais être comment ma modélisation UML ? (pour que je puis me poser les bonne question)
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 882 ![]() |
Bonsoir,
ego a raison de s’étonner et d’insister, en effet il y a une contradiction dans ce que vous présentez. Reprenons votre diagramme de classes : Type_consommation --1------------1.*-- Appareille ---1.*------------1-- ConsommationTraduit en français (en remplaçant le mot « Appareille » par le mot « Appareil » qui est un nom de chose, alors que le premier représente le verbe « Appareiller »), on peut supposer que les règles de gestion des données sont à peu de choses près les suivantes : (R11) Un appareil fait référence à exactement un type de consommation,Par ailleurs, vous écrivez (cf. votre 1er message) : Type consommation (id_Type consommation, libeller_Type consommation)Traduit en français, en faisant l’hypothèse que les noms d’attributs colorés (en marron ou apparenté) jouent le rôle de clés primaires SQL et que les noms d’attributs mis en italiques jouent le rôle de clés étrangères : (R21) Un appareil fait référence à exactement un type de consommation,La règle R13 est en contradiction avec la règle R23 et la règle R14 est en contradiction avec la règle R24. => Veuillez formuler en français (correct tant qu’à faire) les règles de gestion à appliquer. Cela dit, le diagramme de classes correspondant aux règles R21-R24 est le suivant : Type_consommation --1..1------------1..*-- Appareil ---1..1------------1..*-- ConsommationEt, sémantiquement parlant, plutôt le suivant : Type_consommation --1------------1..*-- Appareil ◀▶ --1..1------------1..*-- Consommation(où ◀▶ symbolise la composition.)
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
10
|
|
|
#7 | |
|
Membre habitué
![]() |
Merci "fsmrel" pour ta réponse très instructive.
Citation:
Type consommation (id_Type consommation, id_ Appareil*, libeller_Type consommation) Appareille (id_ Appareil, id_Consommation*, libeller_ Appareille) Consommation (id_Consommation, Quantité_consomation, prix, DateTime) Ps : merci de m’avoir donnés une méthodologie pour sortir ces règles est avoir les cardinalités de notre conception. Sa chant aussi que, Quand en UML on a du 1--* (* ou qq chose > 1) on a une foreign key du côté de la table qui stocke la classe côté *. |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 882 ![]() |
Bonsoir,
Citation:
Un appareil faisant référence à un type d’appareil et une consommation faisant référence à un appareil, la représentation au niveau tabulaire est plutôt la suivante (clés étrangères en italiques) : Type_consommation (id_Type consommation, libelle_Type_consommation)Dans le cas de la composition, la structure de la table Consommation est la suivante : Consommation (id_Appareil, id_Consommation, Quantite_consommation, prix, DateTime_consommation)Autrement dit, il vous faut faire comme Dagobert et remettre les choses à l'endroit...
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com