2. Кортеж (запись, строка). Здесь имеются в виду ограничения на соотношения значений отдельных полей в пределах одной строки. В качестве ограничения на соотношения полей внутри одного кортежа можно привести следующее: значение поля «Стаж» не должно превышать [«Возраст» - 16] (предполагается, что трудовой стаж человека начинается не ранее чем в 16 лет).
3. Таблица. Ограничения целостности, относящиеся к таблице, затрагивают разные ее строки. Чаще всего для проверки их соблюдения приходится просматривать всю таблицу. К таким ограничениям относятся рассмотренные выше ограничения на уникальность поля или совокупности полей. Другим примером может служить ограничение для таблицы, содержащей сведения об окладах сотрудников, заключающееся в том, что средняя зарплата сотрудников не должна превосходить заданную величину. Такое ограничение может иметь место в случае, когда фонд заработной платы формируется исходя из величины нормативной средней заработной платы одного сотрудника и численности сотрудников.
Имеется ряд ограничений целостности, которые проверяют соотношения между записями одной таблицы: 1) нельзя быть родителем и ребенком одного и того же человека; 2) год рождения родителя должен быть меньше, чем год рождения ребенка. Первый из приведенных примеров является частным случаем более общего ограничения на отсутствие циклов. К аналогичным ограничениям относятся ограничения на наличие циклов при определении состава изделия (узел не может входить сам в себя), при описании организационной структуры и во многих других случаях. Если СУБД не позволяет контролировать подобные ограничения целостности, то следует написать универсальную программу (создать процедуру), позволяющую это делать, поскольку такого рода проверки нужны достаточно часто.
предыдущаяследующая