Тема_3 (1122336), страница 4
Текст из файла (страница 4)
Базы данных.48 Реляционная моделРеляционная модель данных (12)Целостность сущности и ссылок (10)Заметим, что, как и первичный ключ, внешний ключ долженспецифицироваться при определении переменнойотношения и представляет собой ограничение надопустимые значения-отношения этой переменнойДругими словами, определение внешнего ключапредставляет собой определение ограничения целостностибазы данныхОграничения целостности сущности и по ссылкам должныподдерживаться СУБДДля соблюдения целостности сущности достаточногарантировать отсутствие в любой переменной отношениязначений-отношений, содержащих кортежи с одним и тем жезначением первичного ключа (и запрещать вхождение взначение первичного ключа неопределенных значений)С целостностью по ссылкам дело обстоят несколькосложнее25.09.2009С.Д.
Кузнецов. Базы данных.49 Реляционная моделРеляционная модель данных (13)Целостность сущности и ссылок (11)Понятно, что при обновлении ссылающегося отношениядостаточно следить за тем, чтобы не появлялись некорректныезначения внешнего ключаНо как быть при удалении кортежа из отношения, на которое ведетссылка?Здесь существуют три подхода, каждый из которых поддерживаетцелостность по ссылкамПервый подход заключается в том, что вообще запрещаетсяпроизводить удаление кортежа, для которого существуют ссылкит.е.
сначала нужно либо удалить ссылающиеся кортежи, либосоответствующим образом изменить значения их внешнего ключаПри втором подходе при удалении кортежа, на который имеютсяссылки, во всех ссылающихся кортежах значение внешнего ключаавтоматически становится полностью неопределеннымНаконец, третий подход (каскадное удаление) состоит в том, чтопри удалении кортежа из отношения, на которое ведет ссылка, изссылающегося отношения автоматически удаляются всессылающиеся кортежи25.09.2009С.Д. Кузнецов. Базы данных.50 Реляционная моделЗаключениеС очень большой вероятностью вам придется работать скакой-либо SQL-ориентированной СУБДЛюбая компания, производящая подобные СУБД,называет их реляционными системамиОчень важно отчетливо понимать, какие свойства такихсистем действительно являются реляционными, а что вних в действительности отходит от исходных, ясных истрогих идей реляционного подхода и даже противоречитэтим идеямПри наличии такого понимания можно более правильноорганизовывать базы данных и строить приложения всреде SQL-ориентированной СУБД25.09.2009С.Д.
Кузнецов. Базы данных.51 Реляционная модел.