Введение в стандарты языка баз данных SQL



Определение ограничений целостности - часть 2


Ссылочное ограничение определяется следующими синтаксическими правилами:

<referential constraint definition> ::= FOREIGN KEY <left paren> <referencing columns> <right paren> <references specification> <references specification> ::= REFERENCES <referenced table and columns> [ MATCH <match type> ] [ <referential triggered action> ] <match type> ::= FULL PARTIAL <referencing columns> ::= <reference column list> <referenced table and columns> ::= <table name> [ <left paren> <reference column list> <right paren> ] <reference column list> ::= <column name list> <referential triggered action> ::= <update rule> [ <delete rule> ] |<delete rule> [ <update rule> ] <update rule> ::= ON UPDATE <referential action> <delete rule> ::= ON DELETE <referential action> <referential action> ::= CASCADE |SET NULL |SET DEFAULT |NO ACTION

Пояснения:

  • Ссылающейся таблицей мы будем называть таблицу, фигурирующую в определении таблицы или изменении схемы таблицы (операторе ALTERTABLE). Таблицей, на которую указывает ссылка, будем называть таблицу, имя которой указывается в разделе referencedtableandcolumns. Ссылающимися столбцами будем называть столбцы, перечисленные в списке столбцов-ссылок (referencecolumnlist).
  • Если в разделе referencedtableandcolumns специфицирован список столбцов, то набор имен столбцов из этого списка должен совпадать с набором столбцов уникальности, содержащемся в ограничении уникальности таблицы, на которую указывает ссылка.
  • Если раздел referencedtableandcolumns не содержит списка столбцов, то для таблицы, на которую указывает ссылка, должно быть определено ограничение уникальности с ключевым словом PRIMARYKEY.
  • Ограничение уникальности для таблицы, на которую указывает ссылка, должно не быть откладываемым.
  • Таблица, на которую указывает ссылка, должна быть базовой и,

      (a) если ссылающаяся таблица является постоянной базовой, то и таблица, на которую указывает ссылка, должна быть постоянной базовой;




      Содержание  Назад  Вперед