Johnn
01-02-2010, 16:26
Descrizione preliminare:
E1, E2, E3, E4: entità;
R1, R2, R3: relazioni;
le molteplicità si leggono (probabilimente non è lo standard): "Per un record di E4 ce ne può essere in relazione al più 1 di E1"; "Per un record di E1 ce ne possono essere in relazione da 1 a n di E4", ecc.
Vincolo: E4 è in relazione con una e una sola entità tra E1, E2, E3; in altre parole un record di E4 DEVE essere in relazione con UNA sola entità tra E1, E2, E3.
Se può aiutare, se fosse UML, la relazione tra Ex e E4 sarebbe una aggregazione.
http://img203.imageshack.us/img203/7940/98593754.jpg
Il problema è che l'entità E4 è un'entità debole: non è possibile individuare una chiave primaria tra i suoi attributi.
Ovviamente ho pensato ad eventuali nuove caratteristiche discriminanti tra le tuple di E4, ma penso proprio che sia necessario usare la relazione.
Come realizzereste le tabelle? Esiste una soluzione più elegante teoricamente, ma meno efficiente, magari in termini di spazio?
Grazie.
E1, E2, E3, E4: entità;
R1, R2, R3: relazioni;
le molteplicità si leggono (probabilimente non è lo standard): "Per un record di E4 ce ne può essere in relazione al più 1 di E1"; "Per un record di E1 ce ne possono essere in relazione da 1 a n di E4", ecc.
Vincolo: E4 è in relazione con una e una sola entità tra E1, E2, E3; in altre parole un record di E4 DEVE essere in relazione con UNA sola entità tra E1, E2, E3.
Se può aiutare, se fosse UML, la relazione tra Ex e E4 sarebbe una aggregazione.
http://img203.imageshack.us/img203/7940/98593754.jpg
Il problema è che l'entità E4 è un'entità debole: non è possibile individuare una chiave primaria tra i suoi attributi.
Ovviamente ho pensato ad eventuali nuove caratteristiche discriminanti tra le tuple di E4, ma penso proprio che sia necessario usare la relazione.
Come realizzereste le tabelle? Esiste una soluzione più elegante teoricamente, ma meno efficiente, magari in termini di spazio?
Grazie.