Студопедия

КАТЕГОРИИ:


Архитектура-(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)

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




Внешние ключи

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

Определение 5

Внешний ключ отношения r1 есть множество атрибутов, которое является первичным ключом на схеме отношения r2.

Определение 6

Отношение, содержащее внешний ключ (r1), называется ссылающимся отношением.

Определение 7

Отношение r1, содержащее первичный ключ, адекватный внешнему ключу r2 отношения r2, называется ссылочным отношением.

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

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

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

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

· Запретить удаление записи в ссылочном отношении, если в ссылающемся отношении есть кортеж, в котором значение внешнего ключа совпадает со значением первичного ключа в ссылочном отношении.

· Выполнить каскадное удаление. При удалении записи в ссылочном отношении удалить все соответствующие записи в ссылающемся отношении.

При выполнении операции редактирования следует:

· Запретить обновление первичного ключа записи в ссылочном отношении, если в ссылающемся отношении есть кортеж, в котором значение внешнего ключа совпадает со значением первичного ключа в ссылочном отношении.

· Выполнить каскадное редактирование. При редактировании записи в ссылочном отношении отредактировать все соответствующие записи в ссылающемся отношении.

При выполнении операции добавления следует:

· Запретить добавление записи в ссылающееся отношение, если в ссылочном отношении нет кортежа, в котором значение первичного ключа совпадает со значением внешнего ключа в ссылающемся отношении.




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


Дата добавления: 2014-12-17; Просмотров: 426; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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