Domanda

Supponiamo che l'albero ASCII di seguito sia un modello di concetto generalizzato UML. Per rappresentare queste entità/classi in UML, assumiamo [un mammifero] una super classe e le classi di livello 1, [selvaggia] e [domestiche] sono classi secondarie in UML. In altre parole, la classe [selvaggia] eredita tutti gli attributi di [mammifero] e [domestico] eredita anche tutti gli attributi di [mammifero]. Inoltre, [Raccoon] e [White Tail Deer] ereditano tutti gli attributi di [Wild].

Voglio convertire il modello UML in un modello di database relazionale.

Notare come [Raccoon] estende sia [selvaggio] che [domestico]. In altre parole, ha due genitori. Normalmente renderei la chiave primaria di tutte le tabelle discendenti uguale alla chiave principale principale. Inoltre, renderei la chiave esterna nella tabella discendente uguale alla chiave primaria nella tabella dei genitori. Perché [Raccoon] ha due genitori, come costruirei quel tavolo?

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

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top