Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все виды энергообмена сопровождаются появлением....doc
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
1.23 Mб
Скачать

2.12. Ограничения целостности

2.12.1. Виды ограничений целостности

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

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

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

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

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

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

2.12.2. Явные ограничения целостности

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

Например, если атрибут Возраст служащего определен на домене целых чисел от 16 до 65, то ограничение на возраст служащих фирмы представлено здесь условием принадлежности домену.

Например, атрибуты Возраст, Вес и Скорость могут быть определены на одном домене целых чисел от 1 до 100, но сравнение значений этих атрибутов не имеет смысла.

Например,

Например, ограничения на атрибут Зарплата можно задать, определив его на домене: тип “Целый длинный”, диапазон “от 0 до 1000000” и интерпретируемый домен с единицей измерения “рубль”.

Ограничения задаются не только для атрибутов, но и для типов объектов и связей. Например, может быть ограничено количество работников определенного отдела. Важным классом явных ограничений являются ограничения, задаваемые на отображениях между типами объектов или между атрибутами. Напомним, что, задавая разные минимальные и максимальные кардинальные числа, мы получим различные виды отображений. Важным видом таких ограничений является ограничение по существованию (ограничение по зависимости), которое формулируется следующим образом: если даны два множества (например, S1 и S2), то для существования элемента одного множества (например, S1) необходимо, чтобы он был связан хотя бы с одним элементом другого множества (S2).