Datenbankmodellierung für eine schwache Entität
Ich habe 2 Tabellen in meiner Datenbankorders
undorderHistory
.
----------------- -----------------------
| orders | | orderHistory |
----------------- -----------------------
| orderID (PK) | | historyLineID (PK) |
| orderDate | | status |
| price | | quantity |
----------------- -----------------------
Jetzt einorder
kann mehrere habenhistory lines
. Ahistory line
kann nicht allein existieren. Ich habe gehört, dass dies eine schwache Entität genannt wird und daher diePK vonorders
muss ein Teil der seinPK der TabelleorderHistory
.
Fragen
Ist das wirklich richtig?schwache Einheit Beziehung? Gibt es andere Möglichkeiten, sie zu identifizieren?Soll ich das hinzufügen?PK der Tabelleorder
zu TischorderHistory
und machen es zu einem zusammengesetzten Primärschlüssel?Für den Fall, dass ich mich entscheide, einen neuen Datensatz hinzuzufügenorderHistory
, wie füge ich einen neuen zusammengesetzten Schlüssel hinzu? (orderID
ist aus der Tabelle verfügbarorders
, aberhistoryLineID
sollte automatisch erhöht werden.)Was ist, wenn ich mich entscheide, dies als normal zu modellieren?Eins-zu-Viele Beziehung woorderID
wird als Fremdschlüssel hinzugefügtnur stattdessen? Was sind die Nachteile davon?Wird das Ignorieren von schwachen Entitäten später in einem Entwurf zu Problemen führen, sofern alle Tabellen in der 3. Normalform vorliegen?Hinweis
BeideorderID
& historyLineID
sind Ersatzschlüssel. Danke im Voraus.