Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Ссылочная целостность

Ссылочная целостностьСсылочная целостность поддерживается с помощью отношений между таблицами. Образно выражаясь, это СУБД-версия лозунга “Не бросай ребенка!”. При этом гарантируется, что в дочерней таблице будут отсутствовать строки, у которых нет соответствующих строк в родительской таблице. Другими словами, запись в родительской таблице не сможет быть удалена без одновременного удаления ссылающихся на нее строк дочерних таблиц. Ниже приведен пример использования таблицы ADDRESS базы данных ACME. Ограничение FOREIGN KEY диктует, что в таблице ADDRESS не может существовать строки, если она не ссылается на допустимого клиента в таблице CUSTOMER. Поле ADDR_CUSTID_FN таблицы ADDRESS ссылается на поле первичного ключа CUST_ID_N таблицы CUSTOMER следующим образом. Ограничения сами по себе покрывают лишь небольшой сегмент области обеспечения безопасности базы данных. Их следует рассматривать как дополнение к более надежным механизмам, обеспечиваемым СУБД. Хранимые процедуры и триггеры предназначены для поддержания безопасности на уровне объектов. Оба эти объекта представляют собой скомпилированные модули (в стандарте SQL:2003 определены процедуры уровня схемы и уровня модуля), реализованные на некотором языке программирования, внутреннем или внешнем, и обычно хранимые на сервере СУБД. Все последние версии СУБД для создания таких модулей допускают использование языков программирования общего назначения, таких как Java или C#. Основной задачей хранимых процедур в области обеспечения безопасности является внедрение в модули, хранимые на сервере, определенных правил бизнес-логики, и обеспечение доступа пользователя к данным только посредством этих процедур. К примеру, можно создать набор хранимых процедур, в которых реализованы операции вставки, обновления и удаления данных. При этом пользователям предоставляются разрешения на использование этих процедур и запрещается непосредственное обращение к соответствующим таблицам. В самих хранимых процедурах реализуются правила бизнес-логики, определяющие допустимые способы вставки, обновления и удаления и отбора данных. Хранимые процедуры можно использовать даже для создания объектов базы данных (хотя при этом действуют некоторые характерные для конкретных СУБД ограничения).