@iSensetivity
бухгалтер, програміст-самоук

FOREIGN KEY — Что к чему привязывать?

Есть 3 таблицы "Таблица1" с полями aid, name, data, и т.п., "Таблица2" с полями gid, name и есть таблица "Таблица1_таблица2" которая служит для связи между ними. Как правильно оформить FOREIGN KEY для целостности данных? И может ли родительская таблица "Таблица1" иметь связь с более чем одной таблицей-потомком? Если да, то как ее оформить?
  • Вопрос задан
  • 2412 просмотров
Решения вопроса 1
OlegTar
@OlegTar
программист .NET, Javascript, Perl
Форейн кеи традиционно привязывают к первичным ключам.

table1
aid, name, data

table2
gid, name

table3
aid, gid

Create table table3 (
aid...,
gid...,
);
alter table table3 add foreign key aid_table (aid) references table1(aid);
alter table table3 add foreign key aid_table (gid) references table2(gid);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
svd71
@svd71
Foreign key или внешний ключ в простом понимании является копией первичного ключа из референсируемой таблицы. Правильно оформленый - это означает просто создать такие поля в подчиненной таблице. Правильно оформленные с целосностью - означает декларацию связи этих двух таблиц по внешнему ключу. И так же каскадные операции к ним(опционально).
dev.mysql.com/doc/refman/5.5/en/create-table-forei...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы