Question

Supposons que l'arbre ASCII ci-dessous soit un modèle de concept généralisé UML. Pour représenter ces entités / classes dans UML, supposons [les mammifères] une super classe, et les classes de niveau 1, [sauvage] et [domestiques] sont des sous-classes dans UML. En d'autres termes, la classe [sauvage] hérite de tous les attributs de [mammifère], et [domestique] hérite également de tous les attributs de [mammifère]. De plus, [raton laveur] et [cerf de queue blanc] héritent de tous les attributs de [sauvage].

Je souhaite convertir le modèle UML en un modèle de base de données relationnelle.

Remarquez comment [raton laveur] étend à la fois [sauvage] et [domestique]. En d'autres termes, il a deux parents. Je ferais normalement la clé principale de toutes les tables descendantes de la même manière que leur clé principale. De plus, je ferais la clé étrangère dans la table descendante de la même manière que la clé principale de sa table parent. Parce que [Raccoon] a deux parents, comment pourrais-je construire cette table?

mammal
 |
 +- wild
 |  |
 |  +- raccoon
 |  |
 |  +- white tail deer
 |
 +- domestic
    |
    +- cat
    |   |
    |   +- siberian
    |
    +- dog
    |   |
    |   +- golden retriever
    |   |
    |   +- lab
    |
    +- raccoon 

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top