Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Ограничения целостности могут быть классифицированы по различным признакам.



По области действия.

Учитывается размер части БД, контролируемый ограничением.

а) Ограничение минимального элемента данных.

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

- задания диапазона допустимых значений (например, зарплата сотрудника не может быть ниже минимального размера оплаты труда);

- задания набора допустимых значений (например, состояние установки может принимать значения «Выключено», «Тестовый режим», «Рабочий режим»);

- требования обязательности задания значения (например, задание марки прибора обязательно);

- требования уникальность значения (например, инвентарный номер должен быть уникальным)

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

б) Ограничение, предъявляемое к экземпляру объекта.

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

Ограничение такого типа задает допустимое соотношение между значениями разных элементов в одном экземпляре объекта (например, дата списания оборудования должна отсутствовать или быть больше даты пуска этого оборудования).

в) Ограничение, предъявляемое к набору экземпляров объектов одного типа.

Скорее всего, это будет требование:

- уникальности экземпляров в наборе (например, все сотрудники должны иметь уникальный табельный номер)

- определенного соотношения между данными разных экземпляров объектов (например, максимальная зарплата по сотрудникам не должна превышать среднюю зарплату более чем в 5 раз)

г) Ограничение, предъявляемое к набору экземпляров разных типов объектов.

С помощью ограничений этой группы может контролироваться:

- ссылочная целостность (например, значение внешнего ключа дочернего отношения должно совпадать с одним из значений первичного ключа в родительском отношении или быть неопределенным (NULL))

- соотношение между данными разных типов объектов (например, суммарная зарплата сотрудников отдела не должна превышать запланированного для этого отдела фонда оплаты труда).

По месту реализации.

Проверка выполнения ограничения выполняется СУБД или приложением. Места реализации ограничения могут различаться не только логически, но и физически, если СУБД и приложение размещены на разных компьютерах

а) Реализация на уровне СУБД.

Может выполняться через декларативное объявление или путем программной реализации.

В первом случае описание ограничения вставляется в описание той части БД, к которой оно предъявляется. Ограничение в данном случае декларируется, то есть указывается, что следует проверять, а не задается программный код для выполнения проверки. Например, фраза fio NOT NULL в описании поля fio указывает, что поле fio не может быть незаполненным. Код выполняющий данную проверку спрятан в СУБД.

Во втором случае программный код проверки в явном виде вводится разработчиком в описание БД (в виде программных триггеров вставки, обновления, удаления), храниться в БД и исполняется СУБД в нужные моменты времени. Этот вариант дает большие возможности разработчику, но и более трудоемок в реализации, чем декларативное объявление;

Достоинство применения ограничения на сервере:

– однократность

– не нужно менять ограничения в клиентских приложениях

– единство ограничения для всех клиентов

б) Реализация на уровне приложения.

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 494; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.014 с.)
Главная | Случайная страница | Обратная связь