Спасибо господину Илюшечкину Владимиру Михайловичу.
Статья содержит краткий обзор по следующим темам: безопасность и целостность баз данных, подходы обеспечения безопасности, виды и типы ограничений целостности.
ТЕМА 4
Безопасность и целостность баз данных
Безопасность — защита БД от несанкционированного разрушения, изменения и модификации. Систему можно считать безопасной только в том случае, если пользователь может выполнять только разрешенные действия.
Целостность БД — обеспечивается корректным выполнением разрешенных действий.
В СУБД поддерживается избирательный или обязательный подходы обеспечения безопасности.
Избирательный подход — каждый пользователь обладает определенными правами (полномочиями, привилегиями) при работе с тем или иным объектом БД.
Обязательный подход — каждому объекту БД присваивается уровень доступа, а пользователям — уровень допуска.
В случае избирательного подхода предусмотрены слелующие правила:
- имя правила;
- правила или привилегии;
- диапазон применения привилегий;
- идентификаторы пользователей;
- действие при нарушении правила.
При обязательном подходе предусмотрено следующее:
- пользователь имеет возможность работы с объектом, если уровень его допуска больше или равен уровню доступа объекта;
- пользователь имеет возможность модифицировать объект, если уровень его допуска равен уровню доступа объекта.
Виды ограничений целостности:
- немедленно проверяемые;
- откладываемые.
К немедленно проверяемым ограничениям целостности относятся такие ограничения, проверку которых не имеет смысла откладывать на более поздний период. Откладываемые ограничения целостности — это ограничения на БД, а не на какие-либо отдельные операции.
Уровни изолированности пользователей:
- Отсутствие потерянных изменений.
- Отсутствие чтения данных, модифицируемых другой транзакцией.
- Отсутствие неповторяющихся чтений.
- Сериализация транзакций.
Уровень 1.
Транзакция 1 |
Транзакция 2 |
Изменение объекта S |
….. |
….. |
Изменение объекта S |
Чтение объекта S |
ROLLBACK |
Транзация 1 не увидит изменений.
До изменения транзакции 1 другие транзакции не должны изменять объект S.
Уровень 2.
Транзакция 1 |
Транзакция 2 |
Изменение объекта S |
….. |
….. |
Чтение объекта S |
Транзакция 2 видит несогласованные данные.
До завершения транзакции 1 другие транзакции не должны читать данные объекта.
Уровень 3.
Транзакция 1 |
Транзакция 2 |
Изменение объекта S |
….. |
….. |
Изменение объекта S |
….. |
COMMIT |
Чтение объекта S |
|
Транзакция 1 видит измененные данные.
До завершения транзакции 1 другие транзакции не должны изменять объект S.
Уровень 4.
Способ выполнения набора транзакций называется серийным, если результат совместного выполнения транзакций эквивалентен результату некоторого последовательного выполнения этих же транзакций.
Сериализация транзакций — этой такой механизм их выполнения по некоторому плану, который обеспечивается на уровне основных функций СУБД, ответственных за управление транзакциями. Система, в которой поддерживается сериализация транзакций, обеспечивает самый высокий уровень изолированности пользователей.
Ограничения целостности
- имя ограничения, по которому это ограничение идентифицируется системой;
- собственно ограничение, задаваемое набором директив и команд, составляющих способ и возможность контроля и представляющее в конечном итоге логическое выражение. Ограничение удовлетворяется, если оно истинно, и нарушается, если оно ложно;
- действие, выполняемое системой при нарушении ограничения.
Типы ограничений целостности
- ограничение целостности домена;
- ограничение целостности атрибута;
- ограничение целостности отношения;
- ограничение целостности БД.
Разновидность ограничений целостности — ограничение состояния и перехода.
В следующей статье рассмотрим основные элементы архитектуры Oracle, БД и экземпляр Oracle, файлы БД.
Awayka из страны Notavailable =]