Ich gehe davon aus, dass Sie das fragen, weil Sie die Dokumentation gelesen haben und es für Sie keinen Sinn ergibt.
Ein Fremdschlüssel (FK) ist ein Feld in TabelleB, das denselben Wert enthält wie ein Feld, normalerweise der Primärschlüssel (PK), in TabelleA. Also in Pseudocode:
Create TableA:
A_id is PK,
somefield,
anotherfield
Create TableB:
B_id is PK,
A_id is FK to TableA,
farmfield,
outstandingfield
Create constraint on TableB:
In TableB A_id references TableA(A_id),
Don't allow updates to TableA(A_id),
Delete records from TableB that have the same A_id as deleted records in TableA
Wenn Sie dann eine Abfrage durchführen, die beide Tabellen einbezieht, können Sie eine Verknüpfung mit Ihrer FK herstellen:
SELECT a.somefield, b.farmfield FROM TableA a JOIN TableB b ON (a.A_id=B.A_id);
Und wenn Sie aus TabelleA löschen, müssen Sie nicht auch aus TabelleB löschen. Dies geschieht automatisch, da die Einschränkung besagt: "Lösche Datensätze aus TabelleB, die dieselbe A_id haben wie gelöschte Datensätze in TabelleA".
Und wenn Sie in TabelleB einfügen, müssen Sie entweder eine gültige A_id angeben, oder, je nachdem, wie Sie die Spalte definiert haben, die A_id =NULL
.