Лекции / Л-7 - Защита данных в СУБД
.pdfИспользование представлений
всистеме безопасности (3)
Представления могут ограничить отображаемые данные сводной информацией. Например, подытоживать информацию о продажах по номерам заказов.
Дополнительные ограничения в представлениях можно реализовать с помощью предложения WHERE и условий JOIN. Это полезно, когда в представлении объединяется информация из нескольких таблиц.
Например, в представлении можно отображать только тех клиентов, которые размещали заказы, и скрывать всех остальных.
Использование представлений
всистеме безопасности (4)
Представления используют не только для инструкций
SELECT, но и для UPDATE, INSERT и DELETE.
Некоторые из этих операций управляются внутренними свойствами объекта представления. Другие следует определять при создании представления.
Так, нельзя выполнить обновление и вставку строк в представление с итоговыми функциями (порядок определяется внутренними свойствами представления).
В потенциально обновляемом представлении можно создать ограничение, принимающее или отвергающее данные на основе некоторого критерия.
Использование хранимых процедур
итриггеров (1)
Хранимые процедуры и триггеры предназначены для поддержания безопасности на уровне объектов.
Они представляют собой скомпилированные модули,
реализованные на некотором языке программирования, внутреннем или внешнем, и обычно хранимые на сервере СУБД.
Все последние версии СУБД для создания таких модулей допускают использование языков программирования общего назначения, таких как Java или C#.
Использование хранимых процедур
итриггеров (2)
Основная задача ХП в плане обеспечения безопасности – внедрение в модули, хранимые на сервере, правил бизнес-логики, и обеспечение доступа пользователя к данным только через эти процедуры.
Можно создать набор ХП, реализующих вставку, обновление и удаление данных. Пользователям даются разрешения на использование этих процедур и запрещается непосредственное обращение к таблицам.
В самих ХП реализуются правила бизнес-логики, определяющие допустимые способы вставки, обновления и удаления и отбора данных.