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

4 2.1.10 Ограничения кортежа Ограничения целостности кортежа представляют собой ограничения, накладываемые на допустимые значения отдельного кортежа отношения, и не являющиеся ограничением целостности атрибута.
Требование, что ограничение относится к отдельному кортежу отношения, означает, что для его проверки не требуется никакой информации о других кортежах отношения.

Рассмотрим ряд примеров.
Пример 6.
Атрибут "Возраст сотрудника" в таблице "Спецподразделение", может иметь дополнительное ограничение "Возраст сотрудника не менее 25 и не более 45", помимо того, что этот атрибут уже имеет ограничение, определяемое доменом "Возраст сотрудника не менее 18 и не более 65".
Приведенное ограничение кортежа, по сути, является дополнительным ограничением на значения одного атрибута.
В этом случае допустимы два решения.
Можно объявить новый домен "Возраст сотрудника спецподразделения" и тогда ограничение кортежа становится ограничением домена и атрибута, либо рассматривать это ограничение именно как ограничение кортежа.
Оба решения имеют свои положительные и отрицательные стороны.
Замечание.

Здесь имеются некоторые возможности для оптимизации.
Формально, при изменении значения данного атрибута необходимо проверить два ограничения ограничение атрибута и ограничение кортежа.
Но в данном случае ограничение кортежа сильнее ограничения атрибута и достаточно проверить только ограничение кортежа.
Разумно построенная СУБД могла бы выявлять такие случаи и уменьшать лишнюю работу.
Пример 7.
Для отношения "Сотрудники" можно сформулировать следующее ограничение: если атрибут "Должность" принимает значение "Директор", то атрибут "Зарплата" содержит значение не менее 1000$.
Это ограничение связывает два атрибута одного кортежа.

89
[стр. 136]

проверено немедленно является ограничение из примера 1.
Это происходит оттого, что транзакция, заключающаяся во вставке нового сотрудника в таблицу PERSON, состоит не менее чем из двух операций вставки строки в таблицу PERSON и обновления строки в таблице DEPART.
Ограничение, безусловно, неверно после первой операции и становится верным после второй операции.
Классификация ограничений целостности по области действия По области действия ограничения делятся на:  Ограничения домена  Ограничения атрибута  Ограничения кортежа  Ограничения отношения  Ограничения базы данных Ограничения домена Определение 8.
Ограничения целостности домена представляют собой ограничения, накладываемые только на допустимые значения домена.
Фактически, ограничения домена обязаны являться частью определения домена (см.
определение домена в гл.
2).
Например, ограничением домена "Возраст сотрудника" может быть условие "Возраст сотрудника не менее 18 и не более 65".
Проверка ограничения.
Ограничения домена сами по себе не проверяются.
Если на каком-либо домене основан атрибут, то ограничение соответствующего домена становится ограничением этого атрибута.
Ограничения атрибута Определение 9.
Ограничение целостности атрибута представляют собой ограничения, накладываемые на допустимые значения атрибута вследствие того, что атрибут основан на какомлибо домене.
Ограничение атрибута в точности совпадают с ограничениями соответствующего домена.
Отличие ограничений атрибута от ограничений домена в том, что ограничения атрибута проверяются.
Если логика предметной области такова, что на значения атрибута необходимо наложить дополнительные ограничения, помимо ограничений домена, то такие ограничения переходят в следующую категорию.
Проверка ограничения.
Ограничение атрибута является немедленно проверяемым ограничением.
Действительно, ограничение атрибута не зависит ни от каких других объектов базы данных, кроме домена, на котором основан атрибут.
Поэтому никакие изменения в других объектах не могут повлиять на истинность ограничения.
Ограничения кортежа Определение 10.
Ограничения целостности кортежа представляют собой ограничения, накладываемые на допустимые значения отдельного кортежа отношения, и не являющиеся ограничением целостности атрибута.
Требование, что ограничение относится к отдельному кортежу отношения, означает, что для его проверки не требуется никакой информации о других кортежах отношения.


[стр.,137]

Пример 6.
Атрибут "Возраст сотрудника" в таблице "Спецподразделение", может иметь дополнительное ограничение "Возраст сотрудника не менее 25 и не более 45", помимо того, что этот атрибут уже имеет ограничение, определяемое доменом "Возраст сотрудника не менее 18 и не более 65".
Приведенное ограничение кортежа, по сути, является дополнительным ограничением на значения одного атрибута.
В этом случае допустимы два решения.
Можно объявить новый домен "Возраст сотрудника спецподразделения" и тогда ограничение кортежа становится ограничением домена и атрибута, либо рассматривать это ограничение именно как ограничение кортежа.
Оба решения имеют свои положительные и отрицательные стороны.
Замечание.

Тут имеются некоторые возможности для оптимизации.
Формально, при изменении значения данного атрибута необходимо проверить два ограничения ограничение атрибута и ограничение кортежа.
Но в данном случае ограничение кортежа сильнее ограничения атрибута и достаточно проверить только ограничение кортежа.
Разумно построенная СУБД могла бы выявлять такие случаи и уменьшать лишнюю работу.
Пример 7.
Для отношения "Сотрудники" можно сформулировать следующее ограничение: если атрибут "Должность" принимает значение "Директор", то атрибут "Зарплата" содержит значение не менее 1000$.
Это ограничение связывает два атрибута одного кортежа.

Пример 8.
В накладной можно установить следующую взаимосвязь атрибутов "Цена*Количество=Сумма", связывающую атрибуты "Цена", "Количество", "Сумма".
Данный пример кажется неестественным, т.к.
сумма является явно избыточным атрибутом, значение которого просто выводятся из значений других атрибутов.
Поэтому кажется, что лучше хранить только два базовых атрибута "Цена" и "Количество", а сумму вычислять во время выполнения запросов по мере необходимости.
Так, собственно, требует реляционная теория, стремящаяся свести избыточность к минимуму.
В практике, однако, дело обстоит сложнее.
Например, каждая строка реальной накладной может содержать следующие данные о товаре: Наиме-нование атрибута Описание атрибута Базовый ли атрибут Формула для вычислимого атрибута Name Наименование товара Да N Количество Да P1 Учетная цена товара Да S1 Учетная сумма на все количество S1 = N*P1 PerSent Процент наценки на единицу товара Да P2 Наценка на единицу товара P2 = P1*PerSent/100 S2 Сумму наценки на все количество S2 = N*P2 P3 Цену товара с учетом наценки P3 = P1+P2 S3 Сумму на все количество с учетом наценки S3 = N*P3 NDS Процент НДС Да

[Back]