СУБД Oracle. ТЕМА 4. Безопасность и целостность баз данных.

Спасибо господину Илюшечкину Владимиру Михайловичу.

Статья содержит краткий обзор по следующим темам: безопасность и целостность баз данных, подходы обеспечения безопасности, виды и типы ограничений целостности.

ТЕМА 4

Безопасность и целостность баз данных

Безопасность — защита БД от несанкционированного разрушения, изменения и модификации. Систему можно считать безопасной только в том случае, если пользователь может выполнять только разрешенные действия.

Целостность БД — обеспечивается корректным выполнением разрешенных действий.

В СУБД поддерживается избирательный или обязательный подходы обеспечения безопасности.

Избирательный подход — каждый пользователь обладает определенными правами (полномочиями, привилегиями) при работе с тем или иным объектом БД.

Обязательный подход — каждому объекту БД присваивается уровень доступа, а пользователям — уровень допуска.

В случае избирательного подхода предусмотрены слелующие правила:

  • имя правила;
  • правила или привилегии;
  • диапазон применения привилегий;
  • идентификаторы пользователей;
  • действие при нарушении правила.

При обязательном подходе предусмотрено следующее:

  • пользователь имеет возможность работы с объектом, если уровень его допуска больше или равен уровню доступа объекта;
  • пользователь имеет возможность модифицировать объект, если уровень его допуска равен уровню доступа объекта.

Виды ограничений целостности:

  • немедленно проверяемые;
  • откладываемые.

К немедленно проверяемым ограничениям целостности относятся такие ограничения, проверку которых не имеет смысла откладывать на более поздний период. Откладываемые ограничения целостности — это ограничения на БД, а не на какие-либо отдельные операции.

Уровни изолированности пользователей:

  1. Отсутствие потерянных изменений.
  2. Отсутствие чтения данных, модифицируемых другой транзакцией.
  3. Отсутствие неповторяющихся чтений.
  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 =]