Внешний ключ как ограничение таблицы

Синтаксис ограничения таблицы FOREIGN KEY:
FOREIGN KEY <COLUMN list> REFERENCES <PKTABLE> [ <COLUMN list> ]
Первый список столбцов — это список из одного или более столбцов таблицы, которые отделены запятыми и будут созданы или изменены этой командой. Pktable — это таблица, содержащая родительский ключ. Она может быть таблицей, которая создается или изменяется текущей командой. Второй список столбцов — это список столбцов, которые будут составлять родительский ключ. Списки двух столбцов должны быть совместимы, т.е.:

Они должны иметь одинаковое число столбцов.
В данной последовательности, первый, второй, третий, и т.д., столбцы списка столбцов внешнего ключа, должны иметь одинаковые типы данных и размеры, что и первый, второй, третий, и т.д., столбцы списка столбцов родительского ключа. Столбцы в списках обоих столбцов не должны иметь одинаковых имен, хотя мы и использовали такой способ в наших примерах чтобы делать связь более понятной.

Создадим таблицу Заказчиков с полем snum, определенным в качестве внешнего ключа, ссылающегося на таблицу Продавцов:
CREATE TABLE Customers ( cnum integer NOT NULL PRIMARY KEY cname char(10), city char(10), snum integer, FOREIGN KEY (snum) REFERENCES Salespeople ( snum );

Имейте в виду, что при ИСПОЛЬЗОВАНИИ ALTER TABLE вместо CREATE TABLE, для применения ограничения FOREIGN KEY, значения, которые Вы указываете во внешнем ключе и родительском ключе, должны быть в состоянии справочной целостности. Иначе команда будет отклонена. Хотя ALTER TABLE очень полезна из-за ее удобства, вы должны будете в вашей системе, по возможности каждый раз, сначала формировать структурные принципы, типа справочной целостности.

‹ Как можно поля представить в качестве внешних ключей
Вверх
Внешний ключ как ограничение столбцов ›

Добавить комментарий

Adblock
detector