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

предыдущего, определен как ограничение таблицы.
Действия, определенные по ссылке аналогичны предыдущим.

Колонки (Fam, Im, BirthDate) образуют альтернативный ключ таблицы.
Это ограничение имеет наименование AltKey.

• Колонки City_Id и Districted не могут одновременно принимать 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 [Атрибуты ограничения]
Этот оператор позволяет создавать утверждения т.е.
ограничения, не являющиеся частью определения домена, колонки или таблицы.

39
[стр. 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 [Атрибуты ограничения]


[стр.,149]

Этот оператор позволяет создавать утверждения т.е.
ограничения, не являющиеся частью определения домена, колонки или таблицы.

Предикат CHECK, входящий в определение утверждения, может быть достаточно сложным и содержать ссылки на несколько таблиц.
Пример 20.
CREATE ASSERTION Check_Pay CHECK (Salespeaple.Salary IS NOT NULL) OR (Salespeaple.Commission IS NOT NULL) DEFERRABLE INITIALLY IMMEDIATE DROP ASSERTION Имя утверждения Этот оператор позволяет удалять имеющееся утверждение.
COMMIT WORK Этот оператор фиксирует транзакцию.
При этом проверяются все отложенные до конца транзакции ограничения.
Если одно из ограничений не выполняется, то транзакция откатывается.
SET CONSTRAINT {Имя ограничения.,..
ALL} {DEFERRED IMMEDIATE} Этот оператор позволяет во время выполнения транзакции менять момент проверки всех (ALL) или некоторых ограничений.
Этот оператор действует только на ограничения, определенные как DEFERRABLE (потенциально откладываемые).
Если ограничение A находилось в состоянии IMMEDIATE (немедленно проверяемое), то оператор SET CONSTRAINT A DEFERRED переводит его в состояние DEFERRED (с отложенной проверкой) и тогда все операции, потенциально могущие нарушить это ограничение, будут выполняться без проверки.
Проверка будет произведена в конце транзакции или в момент подачи команды SET CONSTRAINT A IMMEDIATE.
Выводы Транзакция это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными, выполняющаяся по принципу "все или ничего", и переводящая базу данных из одного целостного состояния в другое целостное состояние.
Транзакция обладает четырьмя важными свойствами, известными как свойства АСИД:  (А) Атомарность.
 (С) Согласованность.
 (И) Изоляция.
 (Д) Долговечность.
База данных находится в согласованном состоянии, если для этого состояния выполнены все ограничения целостности.
Ограничение целостности это некоторое утверждение, которое может быть истинным или ложным в зависимости от состояния базы данных.
Ограничения целостности классифицируются несколькими способами:

[Back]