Ограничения целостности. Ограничения целостности для атрибутов. Ограничения целостности для связей между типами сущностей

Страницы работы

Содержание работы

Лекция 5 Ограничения целостности

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

Примером может служить содержательное ограничение на значение атрибутов в таблице размещения книг по подразделениям библиотеки: "Хотя бы один экземпляр каждой книги должен быть в читальном зале".

Ограничениями целостноти (ОЦ) называются логические ограничения, накладываемые  в базе данных либо на значения  данных (статические ОЦ), либо на изменения этих значений (динамические ОЦ).

Ограничение целостности - это свойство, которое для данного состояния или данного изменения состояния БД может быть истинно или ложно.

Введение ОЦ преследует по крайней мере две цели:

¨  повышение семантичности модели данных,

¨  расширение возможности поддержки целостности данных.

С точки зрения поддержки ОЦ средствами СУБД можно ввести градацию ограничений целостности, изображенную на рис. 5.1.

 


Рисунок 5.1

Внутренние ограничения целостности это ограничения, интегрированные со структурами данных, эти ограничения определяются при формировании модели данных, ориентированной на заданный класс СУБД. Явные ОЦ определяются в дополнение к внутренним ОЦ, и в большинстве случаев поддержка этих ограничений возлагается на программные продукты, не входящие в состав СУБД. Важно отметить, что с точки зрения семантики нет разграничения между внутренними и явными ОЦ, они одинаково присущи соответствующей предметной области. Разбиение всех ОЦ на две указанных класса происходит после выбора типа модели данных. При этом имеют место ОЦ, которые для одних типов МД являются внутренними, для других явными и наоборот. Наиболее распространенные (классические) типы ОЦ могут поддерживаться конкретной СУБД даже в тех случаях, когда эти ограничения не являются внутренними для соответствующего типа МД. В этом случае спецификация явных ОЦ реализуется средствами языка описания ОЦ СУБД. Специальные механизмы СУБД проверяют непротиворечивость ОЦ и обеспечивают реализацию автоматического контроля состояния БД специфицированным ограничениям. В ряде СУБД для имеются инструментальные средства (правила, триггеры) в форме которых можно организовывать контроль ОЦ средствами сервера БД. Практически в любом приложении существует группа ограничений целостности, контролируемая программами, разрабатываемыми прикладным программистом.

Применительно к элементам моделей данных, можно выделить классы ОЦ, представленные на рис. 5.2.

 


Рисунок 5.2

ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ ДЛЯ АТРИБУТОВ

Значения атрибутов черпаются и доменов, которые могут быть представлены как множества. Вследствие этого значения атрибутов наследуют некоторые ограничения, определяемые условиями принадлежности именованному домену. Однако часто этих ограничений оказывается недостаточно для адекватного отображения в модели данных особенностей предметной области.

Рассмотрим пример. Пусть атрибут "Возраст" определен на домене, который является множеством целых чисел от 1 до 255, являющемся элементом типа сущности "СЛУЖАЩИЙ". Таким образом ОЦ на возраст представлено условием принадлежности домену определенному при описании модели данных (внутреннее ОЦ). На том же домене можно определить атрибут "Количество экземпляров" типа сущности "КНИГА". Если ОЦ представлено только условием  принадлежности домену целых чисел, невозможно показать , что сравнение атрибутов "Возраст" и "Количество экземпляров" не имеет смысла. Последнего мы достигаем ИНТЕРПРЕТАЦИЕЙ домена или, что то же самое, приписыванием ему некоторой семантики.

Для человека носителями семантики являются имена атрибутов. Однако строить соответствующую распознающую систему для приложений баз данных дело практически невозможное. Поэтому обычный путь семантизации атрибутов - использование ИНТЕРПРЕТИРУЮЩЕГО ДОМЕНА (рис. 5.3)

 


Рисунок 5.3

Использование интерпретирующего домена позволяет ввести ОЦ на сравнимость атрибутов. Два атрибута не сравнимы, если ассоциированные с ними единицы не могут быть приведены к общей единице измерения.

Пример использования единиц измерения:

REVENUE

TYPE INTEGER

RANGE 0 to 1000000

UNIT DOLLARS.

Помимо ограничений на значения, ОЦ, выраженных как условия принадлежности, семантических ОЦ, ассоциируемых с интерпретирующим доменом, можно специфицировать агрегатные ограничения в форме предикатов. Рассмотрим последние на примере. Пусть сущность "ШТАТНОЕ РАСПИСАНИЕ" задается агрегатом:

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Конспекты лекций
Размер файла:
64 Kb
Скачали:
0