Классика баз данных - статьи

       

утверждение перехода не может требовать,


Утверждения переходов всегда применяются к отдельным кортежам, а не к агрегатам кортежей (например, утверждение перехода не может требовать, чтобы новая средняя зарплата служащих всегда было больше старой средней зарплаты).

Общее правило для обработки null-значений при проверке утверждения состоит в том, что наличие null-значений никогда не должно вызывать выполнение условия утверждени, если в противном случае (при отсутствии null-значений) оно не выполняется, или его невыполнение, если в противном случае оно выполняется. Это правило реализуется на основе использования трехзначной логики. Предикат утверждения, который в общем случае может быть булевским выражением, вычисляется с помощью таблиц истинности с рис. 2. Утверждение целостности удовлетворяется, если результат равен TRUE или ?, и нарушается, если результат равен FALSE. Например, условие, что ни одна зарплата не превышает 20000, не нарушается в случае неизвестного размера зарплаты. Исключение из этого правила делается в том случае, когда null-значения в утверждении целостности используются явным образом, например, EMPNO ¬= NULL. В таких утверждениях null-значение обрабатывается подобно любому другому значению.

SEQUEL позволяет группировать несколько операторов в транзакцию, размещая их между операторами BEGIN TRANSACTION и END TRANSACTION. Обычно проверка утверждений целостности внутри транзакции откладывается. В конце транзакции проверяются все относящиеся к ней утверждения, и, если какое-либо из них нарушается, отвергается вся транзакция. Это позволяет производить обновления, которые вызывают переход базы данных через временно несогласованные состояния. Например, если нанимается новый служащий, могут быть сделаны изменения в EMP и DEPT, которые приведут к тому, что в базе данных на мгновение будет нарушено утверждение А3 из примера С5. Однако в конце транзакции утверждение А3 будет удовлетворяться.

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

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