Einfaches Beispiel: Es gibt eine Kundentabelle.
create table Customers (
id integer,
constraint CustomersPK primary key (id)
)
Alle anderen Daten in der Datenbank sollten mit a verknüpft sein Customer
, Orders
sieht also z. B. so aus:
create table Orders (
id integer,
customer integer,
constraint OrdersPK primary key (customer, id),
constraint OrdersFKCustomers foreign key (customer) references Customers (id)
)
Angenommen, es gibt jetzt eine Tabelle, die auf Folgendes verweist Orders
:
create table Items (
id integer,
customer integer,
order integer,
constraint ItemsPK primary key (customer, id),
constraint ItemsFKOrders foreign key (customer, order) references Orders (customer, id)
)
Soll ich einen separaten Fremdschlüssel von Items
bis hinzufügen Customers
?
...
constraint ItemsFKCustomers foreign key (customer) references Customers (id)
Stattdessen ein Bild: Soll ich die gestrichelte Linie / FK hinzufügen?
Bearbeiten: Ich habe den Tabellen Primärschlüsseldefinitionen hinzugefügt. Ich möchte noch einmal auf den Punkt eingehen, den ich oben angesprochen habe: Die Datenbank wird im Grunde genommen von Kunden als Korrektheits- / Sicherheitsmaßnahme isoliert. Daher enthalten alle Primärschlüssel die customer
ID.