Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции О_о DataBase.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
8.68 Mб
Скачать
    1. Ограничения целостности в модели сущность-связь

Дополнительные ограничения целостности, накладываемые на данные, важны для описания используемых данных. Важно понимать, какие ограничения поддерживаются непосредственно используемой моделью данных, а какие требуют дополнительных усилий со стороны разработчика. Поэтому, прежде всего, следует определить типы ограничений целостности, а уже затем, учитывая, что модель сущность – связь используется только на этапе проектирования базы данных – язык, с помощью которого можно наглядно представить сформулированные ограничения.

В общем случае, в модели данных сущность – связь П. Чена рассматриваются следующие типы ограничений.

  1. Ограничения на допустимые значения в множестве значений.

Атрибут отображает сущность из множества сущностей на множество значений. Допустимые значения определяются значениями в соответствующем множестве значений. Например, определено множество сущностей СОТРУДНИК с атрибутами Возраст и Стаж работы (Рис. 3.11). Оба атрибута определены на домене КОЛИЧЕСТВО ЛЕТ, для которого определено следующее условие принадлежности: целые числа большие 0 и меньшие 70. Соответственно, значения указанных атрибутов будут черпаться из диапазона чисел 0 – 70.

Рис. 3.11. Ограничения на допустимые значения

  1. Ограничения на разрешенные значения некоторого атрибута.

В некоторых случаях не все допустимые значения из множества значений являются разрешенными для некоторых атрибутов. Например, для того же множества сущностей разрешенное значение атрибута Возраст может быть определено условием: возраст сотрудника не менее 17 и не более 70 лет. Данное ограничение задается с помощью утверждения на естественном языке (возраст любого сотрудника не может быть менее 17 и более 70 лет) или предиката: Возраст (е) >= 17 И Возраст (e) <= 70 | для любого e ∈ СОТРУДНИК

  1. Ограничения на существующие значения в базе данных.

Здесь можно выделить две ситуации:

    1. ограничения на конкретные значения

Например, для того же множества сущностей СОТРУДНИК определены дополнительные атрибуты: Зарплата и Отчисления, определенные на одном домене ДЕНЬГИ. Атрибут Зарплата определяет ежемесячный доход сотрудника, а атрибут Отчисления – также ежемесячные выплаты с дохода (например, налоги, плата за кредит и т.п.). Может быть определено следующее условие: отчисления не должны превышать зарплату сотрудника:

Отчисления (e) < Зарплата (e) | для любого e ∈ СОТРУДНИК

Другой пример. Некоторое предприятие состоит из нескольких отделов. Определены множества сущностей ПРЕДПРИЯТИЕ с атрибутом Бюджет и ОТДЕЛ также с атрибутом Бюджет; определен общий бюджет предприятия, в соответствии с которым определяются бюджеты отделов. Определяется условие: бюджет предприятия не должен быть меньше суммы бюджетов отделов:

Бюджет (e1) >= Σ Бюджет (e2i) | для любого e1 ∈ ПРЕДПРИЯТИЕ И всех e2 ∈ ОТДЕЛ предприятия e1

    1. ограничения на множества значений

Этот тип ограничений позволяет определить условия принадлежности сущностей какому-то множеству в зависимости от существования каких-либо сущностей в другом множестве. Например, пусть определено множество сущностей СТУДЕНТ с атрибутом Имя, и нужно определить множество сущностей РАБОТАЮЩИЙ СТУДЕНТ также с атрибутом Имя. Второе множество сущностей является подмножеством первого:

Имя (e) |для любого e ∈ РАБОТАЮЩИЙ СТУДЕНТ входит в Имя (e) | e ∈ СТУДЕНТ