РУКОВОДСТВО ПО РЕЛЯЦИОННОЙ СУБД DB2

Ниже приведен пример предложения псевдоЯОД


Ниже приведен пример предложения псевдоЯОД для поставок, показывающий возможное множество спецификаций внешних ключей:

CREATE   TABLE SP       /*поставки — связывает S и Р*/

PRIMARY KEY          (НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ)

FOREIGN KEY           (НОМЕР_ПОСТАВЩИКА  IDENTIFIES S

NULLS NOT   ALLOWED

DELETE          OF S.RESTRICTED

UPDATE         OF S. НОМЕР_ПОСТАВЩИКА

CASCADES)

FOREIGN KEY           (НОМЕР_ДЕТАЛИ IDENTIFIES P

NULLS            NOT ALLOWED

DELETE          OF P.RESTRICTED

UPDATE         OF P.НОМЕР_ДЕТАЛИ

RESTRICTED)

FIELDS                        (НОМЕР_ПОСТАВЩИКА . . ., НОМЕР_ДЕТАЛИ . .

., КОЛИЧЕСТВО . . .);

Фразы PRIMARY KEY (первичный ключ) и FOREIGN KEY (внешний ключ) в псевдоЯОД имеют следующий общий синтаксис:

Фраза-PRIMARY-KEY

:: = PRIMARY KEY (первичный—ключ),

где «первичный — ключ» — это либо единственное имя-поля, например НОМЕР_ПОСТАВЩИКА, либо заключенный в круглые скобки список имен-полей, разделенных запятыми, например (НОМЕР_ПОСТАВЩИКА, НОМЕР_ДЕТАЛИ).

Фраза-FOREIGN-KEY

:    : = FOREIGN KEY     (внешний—ключ IDENTIFIES цель

NULLS [NOT] ALLOWED

DELETE OF цель эффект

UPDATE OF первичный — ключ — цели эффект),

где а) «внешний—ключ»—то же самое, что было сказано выше о «первичном-ключе», т. е. либо единственное имя-поля, либо заключенный в круглые скобки список имен-полей, разделенных запятыми; б) «цель» — имя-таблицы; в) «первичный-ключ-цели» специфицирует «первичный-ключ» для «цели» и, наконец, г) «эффект—CASCADES (каскадируется), RESTRICTED (ограничивается) или NULLIFIES (устанавливается неопределенное значение).

Примечание. Фразы PRIMARY KEY и FOREIGN KEY, подобные приведенным выше, были бы в высшей степени желательными расширениями существующего ЯОД системы DB2.


Содержание раздела