Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение в целостность данных




Целостность данных

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

Пример 3.10. В качестве примера рассмотрим ограничение целостности:

CONSTRAINT SC1

IS_EMPTY (S WHERE STATUS < 1 OR STATUS > 100)

Смысл данного ограничения целостности: «Значение статуса поставщика должны находиться в диапазоне от 1 до 100». SC1 – имя ограничения целостности, под которым оно будет зарегистрировано в каталоге. Само ограничение целостности задается в виде логического выражения, результат выполнения которого не должно иметь значение false.

Замечание: В записи примера использован оператор IS_EMPTY, который возвращает истинны, если кардинальность переменной-отношения, указанной в качестве параметра, равна нулю. Аналог приведенного ограничения целостности в виде выражения реляционного исчисления выглядит следующим образом:

CONSTRAINT SC1

FORALL SX (SX.STATUS >=1 AND SX.STATUS <=100)

Где SX – переменная кортежа, изменяющаяся на отношении поставщиков S.

После того, как новое ограничение целостности будет объявлено, необходимо, чтобы оно было проверено системой, т.е. нужно убедиться, что БД удовлетворяет вновь введенному ограничению. Если это не так, то ограничение отвергается, иначе – принимается. Введение в систему приведенного выше ограничения приведет к тому, что СУБД будет контролировать все операции по вставке нового кортежа для нового поставщика или изменение статуса уже существующего поставщика.

Требуется также и наличие возможности для удаления уже имеющегося ограничения целостности из системы:

DROP CONSTRAINT <имя ограничения целостности>;

Замечание: Рассматриваемая нами поддержка ограничений целостности носит декларативный характер. Но на сегодняшний день поддержка такого рода ограничений целостности широкого распространения не нашла, хотя определенные процессы по улучшению этой ситуации идут. В настоящее время более распространенным подходом (как в реляционных, так и в нереляционных продуктах) является поддержка ограничений целостности, построенная на использовании хранимых, или триггерных, процедур [1]. Но декларативная поддержка является все же приоритетным направлением в этом аспекте.

Ограничения целостности можно классифицировать по четырем основным категориям:

§ Ограничения целостности типа, в которых задаются допустимые значения для данного типа.

§ Ограничения целостности атрибута, в которых задаются допустимые значения для данного атрибута.

§ Ограничения целостности переменной-отношения, в которых задаются допустимые значения для переменной-отношения.

§ Ограничения целостности БД, в которых задаются допустимые значения для БД.

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 362; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.