Проверяемый текст
Пушников А.Ю. Введение в системы управления базами данных. Учебное пособие/Изд-е Башкирского ун-та. - Уфа, 1999.
[стр. 38]

Пример 2.
CREATE TABLE Salespeaple (Salespeaplejd Id_Nums PRIMARY KEY, Fam CHAR(20) NOT NULL, Im CHAR(15), BirthDate DATE, Salary SalaryDomain DEFAULT 1000, Cityjd INTEGER REFERENCES City ON UPDATE CASCADE ON DELETE RESTRICT, Districtjd INTEGER, CONSTRAINT AltKey UNIQUE(Fam, Im, BirthDate), CHECK (Cityjd IS NOT NULL OR Districtjd IS NOT NULL), FOREIN KEY Districtjd REFERENCES District ON UPDATE CASCADE ON DELETE RESTRICT) Этот оператор создает таблицу Salespeaple с колонками (Salespeaplejd, Fam, Im, BirthDate, Salary, Cityjd, Districtjd) и следующими ограничениями: • Колонка Salespeaplejd наследует все ограничения домена Id_Nums.
Кроме того, эта колонка образует первичный ключ таблицы (следовательно, не допускает NULL-значений).

• Колонка Fam не допускает NULL-значений.
Колонка Salary наследует все ограничения домена SalaryJDomain.
Кроме того, эта колонка имеет значения по умолчанию 1000.

• Колонка Cityjd является внешним ключом, ссылающимся на первичный ключ таблицы City.
При изменении первичного ключа в таблице City соответствующие значения внешнего ключа в таблице Salespeaple будут каскадно изменены.
При удалении строки из таблицы City будет выполняться проверка, нет ли ссылок на удаляемую строку из таблицы Salespeaple.
Если такие ссылки найдутся, то операция удаления в таблице City будет отвергнута.

• Колонка Districtjd также является внешним ключом, ссылающимся на первичный ключ таблицы District.
Этот внешний ключ, в отличие от
38
[стр. 148]

District_Id INTEGER, CONSTRAINT AltKey UNIQUE(Fam, Im, BirthDate), CHECK (City_Id IS NOT NULL OR District_Id IS NOT NULL), FOREIN KEY District_Id REFERENCES District ON UPDATE CASCADE ON DELETE RESTRICT) Этот оператор создает таблицу Salespeaple с колонками (Salespeaple_Id, Fam, Im, BirthDate, Salary, City_Id, District_Id) и следующими ограничениями:  Колонка Salespeaple_Id наследует все ограничения домена Id_Nums.
Кроме того, эта колонка образует первичный ключ таблицы (следовательно, не допускает NULL-значений).

 Колонка Fam не допускает NULL-значений.
Колонка Salary наследует все ограничения домена Salary_Domain.
Кроме того, эта колонка имеет значения по умолчанию1000.

 Колонка City_Id является внешним ключом, ссылающимся на первичный ключ таблицы City.
При изменении первичного ключа в таблице City соответствующие значения внешнего ключа в таблице Salespeaple будут каскадно изменены.
При удалении строки из таблицы City будет выполняться проверка, нет ли ссылок на удаляемую строку из таблицы Salespeaple.
Если такие ссылки найдутся, то операция удаления в таблице City будет отвергнута.

 Колонка District_Id также является внешним ключом, ссылающимся на первичный ключ таблицы District.
Этот внешний ключ, в отличие от
предыдущего, определен как ограничение таблицы.
Действия, определенные по ссылке аналогичны предыдущим.
 Колонки (Fam, Im, BirthDate) образуют альтернативный ключ таблицы.
Это ограничение имеет наименование AltKey.
 Колонки City_Id и District_Id не могут одновременно принимать NULL-значения (хотя каждая из них по отдельности допускает использование NULL-значений).
ALTER TABLE Имя таблицы {ADD [COLUMN] Определение столбца} {ALTER [COLUMN] Имя столбца {SET DEFAULT Значение по умолчанию DROP DEFAULT}} {DROP [COLUMN] Имя столбца RESTRICT CASCADE} {ADD Ограничение таблицы} {DROP CONSTRAINT Имя ограничения RESTRICT CASCADE} Этот оператор позволяет изменять имеющуюся таблицу.
В таблице можно удалять или добавлять колонки и/или ограничения.
Кроме того, для колонок можно менять значение по умолчанию.
DROP TABLE Имя таблицы CASCADE RESTRICT Этот оператор позволяет удалять имеющуюся таблицу.
Вместе с таблицей удаляются и ограничения, определенные для этой таблицы.
Если указан параметр RESTRICT, то таблица удаляется только если нет никаких ссылок на эту таблицу в других ограничениях или представлениях.
Если указан параметр CASCADE, то удаляются также и все объекты, ссылающиеся на эту таблицу.
CREATE ASSERTION Имя утверждения Ограничение check [Атрибуты ограничения]

[Back]