Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kolokvium / REV1_ИЗМ.DOC
Скачиваний:
49
Добавлен:
19.04.2013
Размер:
122.37 Кб
Скачать

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

Логические ограничения, которые накладываются на данные, на­зываются ограничениями целостности. Ограничения используются в моделях данных для поддержания целостности данных при функционировании системы, т. е. СУБД должна обеспечивать непротиворечивость данных заданным ограничениям при переводе БД из одного состояния в другоею. Использование ограничений связано также с адекватностью отражения предметной области с помощью данных, хранимых в БД. Например, значение атрибута ГОД-ОКОНЧАНИЯ-ВУЗА должно превышать значение атри­бута ГОД-РОЖДЕНИЯ в записи типа СЛУЖАЩИЙ.

Ограничения целостности, задаваемые для данных в БД, обыч­но специфицируются для множества реализаций, а не для одной конкретной реализации. Например, ограничение «в учебной группе по списку должно быть не более 35 студентов» относится к лю­бой учебной группе, информация о которой представлена в базе данных.

Модель данных определяет допустимые структуры данных, которые поддерживаются СУБД, реализующей эту модель. Это связано с тем, что для заданных типов структур в МД сущест­вует тщательно подобранное и согласованное с этими типами структур множество операций над данными. Поэтому отдельная реализация любой из структур должна отвечать определенным ограничениям целостности, специфицированным для данного типа структуры. Например, ограничение «запись может состоять не более чем из 250 полей». Или другой пример - в иерархической модели данных связи между группами ограничены древовидной иерархической структурой и при этом более общие сетевые струк­туры недопустимы. Такие ограничения называют внутренними ограничениями целостности.. Внутренние ограничения представле­ны в МД правилами композиции допустимых структур данных и в конкретной схеме БД находят свое отражение в структур­ных спецификациях.

Кроме внутренних ограничений существуют ограничения, кото­рые явно специфицируются в БД с помощью специальных конст­рукций языка описания данных. Их называют явными ограниче­ниями целостности. Например, для записи типа СЛУЖАЩИЙ ат­рибут ТАБЕЛЬНЫЙ-НОМЕР определен как первичный ключ. Это означает, что множество экземпляров записей типа СЛУЖА­ЩИЙ, хранящихся в БД, не может содержать двух или более экземпляров с одинаковым значением атрибута ТАБЕЛЬНЫЙ-НОМЕР. Или, например, в схеме базы данных специфицировано, что значение атрибута ШИФР-ДЕТАЛИ представляется целым числом из четырех десятичных цифр. Это означает, что шифры деталей, описания которых будут обрабатываться в системе, дол­жны состоять из четырех десятичных цифр. Или, например, сумма значений по заданному атрибуту по всем экземплярам записей одного типа должна совпадать со значением определенного атри­бута в экземпляре записи некоторого другого типа и т. п.

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

Ограничения целостности можно специфицировать для элемен­тов, групп и групповых отношений.

Большинство конкретных моделей данных, поддерживаемых существующими СУБД, предусматривают в основном внутрен­ние ограничения целостности, нарушение которых приводит к не­корректности структуры данного, и достаточно просто контроли­руется. Контроль выполнения явных ограничений -более сложная задача, поскольку связан с проверкой некоторого множества зна­чений данных, часть из которых должна быть получена путем многократного обращения к базе данных.

Соседние файлы в папке Kolokvium