Полагаю, вы спрашиваете, потому что вы прочитали документацию, и это не имело для вас смысла.
Внешний ключ (FK) - это поле в TableB, которое содержит то же значение, что и поле, обычно первичный ключ (PK) в TableA. Так в псевдокоде:
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
Затем, когда вы делаете запрос, который включает обе таблицы, вы можете присоединиться к своему FK:
SELECT a.somefield, b.farmfield FROM TableA a JOIN TableB b ON (a.A_id=B.A_id);
А когда вы удаляете из Таблицы А, вам не нужно удалять из Таблицы Б. Это произойдет автоматически, потому что ограничение говорит: «Удалите записи из таблицы B, которые имеют тот же A_id, что и удаленные записи в таблице A».
А когда вы вставляете в TableB, вам нужно будет либо указать действительный A_id, либо, в зависимости от того, как вы определили столбец, оставить A_id =NULL
.