КАТЕГОРИИ: Архитектура-(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) |
Действия по обеспечению ссылочной целостности
Ссылочная целостность, внешние ключи и действия по обеспечению ссылочной целостности Ссылочная целостность (referential integrity), иногда называемая целостностью отношений (relation integrity), устанавливает взаимоотношения между различными столбцами и таблицами в базе данных. Ссылочная целостность гарантирует, что каждое значение столбца во внешнем ключе (foreign key) дочерней (child), или подчиненной (detail), таблицы соответствует значению первичного или дополнительного ключа родительской (parent), или основной (master), таблицы, связанной с дочерней. Например: строка таблицы ЕМР не является корректной, если поле номера отдела (department number — deptno), в котором работает служащий (employee), не ссылается на корректный номер отдела (department) в таблице DEPT. Когда родительская и дочерняя таблицы совпадают, это называется самоссылочной целостностью (self-referential integrity).
Ссылочная целостность гарантирует, что для каждого значения внешнего ключа всегда установлено его соответствие значению родительского ключа. Для обеспечения ссылочной целостности РСУБД всегда должна иметь возможность использовать операции, управляющие родительскими ключами. Действия, по обеспечению ссылочной целостности (referential actions) — это шаги, необходимые в тех ситуациях, когда приложение обновляет или удаляет родительский ключ, имеющий зависимые дочерние записи. В модели реляционной базы данных предусмотрено несколько таких действий: - Update/Delete Restrict (ограничение обновления/удаления). СУБД не позволяет приложению обновлягь родительский ключ или удалять родительскую строку, если ключ или строка имеет зависимые дочерние записи. Например, нельзя удалить из таблицы заказ на продажу, если с ним связаны пункты заказа в другой таблице
- Delete Cascade (каскадное удаление). Когда приложение удаляет строку родительской таблицы, РСУБД каскадно удаляет все зависимые записи в дочерней таблице. Например, при удалении заказа из одной таблицы РСУБД автоматически удаляет все соответствующие пункты этого заказа из другой таблицы. - Update/Cascade (каскадное обновление). Когда приложение обновляет родительский ключ, РСУБД каскадно обновляет зависимые внешние ключи. Например, при изменении идентификатора заказа в таблице Заказов РСУБД автоматически обновит идентификаторы заказа всех соответствующих записей о пунктах этого заказа в других таблицах. Действие по обеспечению ссылочной целостности крайне полезно, так как обычно в приложениях пользователям, не разрешается обновлять значения ключей. - Update/Delete Set NULL (установление null-значений при обновлении/удалении). Когда приложение обновляет или удаляет родительский ключ, значения всех зависимых ключей сгановятся null-значениями. - Update/Delete Set Default (установление значений по умолчанию при обновлении/удалении). Когда приложение обновляет или удаляет родительский ключ, значениями всех зависимых ключей становятся осмысленные значения по умолчанию. По умолчанию для всех ограничений ссылочной целостности в Oracle используется действие Update/Delete Restrict. Кроме того, для ограничения ссылочной целостности Oracle может выполнять действие Delete Cascade.
Дата добавления: 2013-12-12; Просмотров: 492; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |