Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен (СУБД).doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
183 Кб
Скачать
☆

25. Аудит. Типы и применение аудита.

Аудит — это сочетание нескольких элементов в одном пакете для определенной группы действий сервера или базы данных. Компоненты подсистемы аудита SQL Server совместно формируют выходные данные, называемые аудитом, аналогично тому, как определение отчета в сочетании с элементами графики и данных формируют отчет.

Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения

Аудит времени выполнения включает два следующих аспекта:

  • аудит времени выполнения инициализации приложения, создающий события аудита при открытии приложения;

  • аудит времени выполнения клиентского контекста и проверки доступа, создающий события аудита при создании клиентского контекста и при каждом клиентском запросе проверки доступа. Проверки доступа основаны на методе AccessCheck, который описан в разделе «Авторизация» документации Platform SDK.

Аудит времени выполнения может быть настроен для регистрации успешных выполнений, отказов или и того и другого вместе.

Аудит изменений хранилища данных авторизации

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

26. Условия целостности данных

  1. Обязательное наличие данных. Некоторые столбцы в базе данных должны содержать значения в каждой строке; строки в таких столбцах не могут содержать значения NULL. Например, в базе данных для каждого заказа должен существовать соответствующий заказчик, сделавший этот заказ. Поэтому столбец Заказчик в таблице Договора является обязательным. Можно указать СУБД, что запись значения NULL в такие столбцы недопустима.

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

  3. Целостность таблицы(сущности). Первичный ключ таблицы должен в каждой строке иметь уникальное значение, отличное от значений во всех остальных строках. Можно указать СУБД, чтобы она обеспечивала целостность таблиц.

  4. Ссылочная целостность. В реляционной базе данных каждая строка таблицы-потомка с помощью внешнего ключа связана со строкой таблицы-предка, содержащей первичный ключ, значение которого равно значению внешнего ключа. В учебной базе данных значение столбца Bno таблицы STAFF связывает служащего с офисом, в котором он работает. Столбец Bno должен содержать значение из столбца Bno таблицы BRANCH; в противном случае служащий будет закреплен за несуществующим офисом. Можно указать СУБД, чтобы она обеспечивала ограничение на значения внешнего ключа.

  5. Бизнес правила. Обновление информации в базе данных может быть ограничено деловыми правилами, которым подчиняются сделки, представляемые подобными обновлениями. Например, организация, использующая базу данных, может установить деловое правило, запрещающее принимать заказы на продукцию в количествах, превышающих её количество на складе. Можно указать СУБД, что следует проверять каждую новую строку, добавляемую в таблицу ДОГОВОРА, и убеждаться, что значение в столбце Количество не нарушает установленное деловое правило.

  6. Непротиворечивость. Многие реальные деловые операции вызывают в базе данных несколько изменений одновременно. Например, операция “увольнение сотрудника и передача всех закрепленных за ним объектов другим сотрудникам этого же отделения” может включать в себя удаление строки из таблицы STAFF с предварительным изменением содержимого соответствующих столбцов SNO таблицы Property_for_Rent. Одна инструкция DELETE и инструкция UPDATE – все они должны быть выполнены для того, чтобы база данных осталась в правильном, непротиворечивом состоянии. Можно указать СУБД, что следует обеспечивать непротиворечивость изменяемых данных.