1.3. Свойства ограничений целостности (ОЦ)

Рассмотрим произвольное ограничение Ci в схеме данных.
1. Произвольное ограничение Ci правильно построено, если оно соответствует синтаксическим правилам R определения ОЦ. Формально только правильно построенное ОЦ имеет право называться ОЦ.
Примечание. Подробно сведения о синтаксисе формальных языков изложены в [42].
2. Произвольное ограничение Ci удовлетворяет состоянию БД DBSk, если оно истинно для него (под состоянием БД понимается конкретный вариант наполнения данными).
3. Произвольное ограничение Ci удовлетворяемо, если существует состояние БД DBSm, которому оно удовлетворяет и неудовлетворяемо (недостоверно), если не существует такого состояния.
Примечание. Недостоверные ОЦ приводят к невозможности построения БД, фактически из- за несовместимости требований. К таковым относятся внутренне противоречивые ограничения (например возраст<30 Л возраст>40), а также ОЦ, несовместимые с реальными данными (например возраст<0).
4. Произвольное ограничение является логическим следствием ограничений C1..Cm, если ограничение Ci удовлетворяет всем состояниям базы данных, которым удовлетворяют ограничения Сь.Сщ.
Примечание. Данное определение является частным случаем определения логического следствия в математической логике (см. [13, 32]).
Схема S называется удовлетворяемой, если существует состояние DBSk, удовлетворяющее ей, иначе схема называется противоречивой.
1.3.1. Типы ограничений целостности.
На практике ограничения целостности, определяемые в базе данных, обыч¬но сводятся к одному из следующих типов.
1. Ограничения на значение атрибутов
Эти ограничения могут быть заданы следующим образом:
A) принадлежностью к определенному типу или домену (например возраст
- целое число);
B) операциями сравнения (например возраст>0);
C) диапазоном допустимых значений (например оценка=2..5);
D) перечислением допустимых значений (например пол^^^'Ж'};
E) более общим логическим выражением (например (оценка>=2)and(оценка<=5));
F) с использованием функций агрегирования. Count - количество, avg - среднее значение, sum - сумма.
Например:
Sum (БОЛЬНИЦЫ. число_коек) > 500 - cуммарное число коек в боль¬ницах больше 500;
AVG (СОТРУДНИКИ. з/п) £ 15000..20000 - средняя з/п сотрудников от 15000 до 20000 руб.;
Count (ПРЕПОДАВАТЕЛИ.стаж>10)>=100 - число преподавателей со стажем больше 10 лет больше или равно 100.
2. Ограничения на отображения
Выделяют следующие разновидности данного ограничения
A) Между атрибутами одного отношения (ключи).
Ключ - атрибут или группа атрибутов, значение которого (которых) уникально. Ключ однозначно определяет весь кортеж.
Пример ключа - ФИО для таблицы ПРЕПОДАВАТЕЛИ (см. пример в пункте 1.2.3).
Примечание. Следует обратить внимание, что в литературе часто термин «ключ» понимается в несколько ином смысле, как синоним термина «индекс» (см. главу 6).
B) Между атрибутами разных отношений.
Приведем несколько определений.
Пусть даны множества A и B.
F: A ® B - отображение тогда и только тогда, когда f - подмножество де- картового произведения A х B(f е A х B)
Обратим внимание, что при отображении каждому элементу из множества А может быть поставлено в соответствие несколько элементов из множества B, что несколько противоречит определению, принятому в математическом анализе. То, что в математическом анализе называется отображением (каждому элементу множества A ставится в соответствие один и только один элемент множества B), в моделях данных носит название функционального отображения.
Кардинальное число элемента, участвующего в отображении - это число его образов в другом множестве. ОЦ задаются путем указания минимальных и максимальных кардинальных чисел в отображении.
Наиболее часто ограничиваются кардинальными числами 0, 1 и бесконечность. Максимальные кардинальные числа определяют тип отображения.
Приведем примеры.
ДИПЛОМИРОВАНИЕ - есть отображение между СТУДЕНТЫ и ПРЕПОДАВАТЕЛИ. Тип отображения N:1 (многие к одному, бесконечность к одному), т.е. у преподавателя может быть много дипломников, тогда как студент имеет единственного руководителя. Максимальные кардинальные числа равны соответственно «бесконечность» для преподавателя, и 1 - для студента (обращаем внимание, что тип связи N:1, а не 1:N). Минимальные кардинальные числа равны соответственно 1 и 0, что означает, что студент не может защищать дипломную работу без руководителя, в то время как преподаватель может и не иметь дипломников.
ЗАНИМАТЬ ДОЛЖНОСТЬ - отображение между должностями и сотрудниками. Тип 1:1, т.е. в каждой должности занят один сотрудник, а каждый сотрудник занимает единственную должность. Таким образом, максимальные кардинальные числа как для должностей, так и для сотрудников равны 1. Минимальное кардинальное число отношения «сотрудники» равно 0, если сотрудник может быть безработным и равно 1 - если это недопустимо; соответственно минимальное кардинальное число отношения «должности» равно 0, если допустимо наличие вакантных должностей и 1 - иначе.