Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных / БД2012 / Understanding.SQL.doc
Скачиваний:
281
Добавлен:
28.03.2015
Размер:
1.75 Mб
Скачать

Отслеживание действий

Ваша SQL реализация - достаточна хороша, если она доступна многим пользователям, чтобы обеспечивать для них некий способ слежения за действиями выполняемыми в базе данных. Имеются две основные формы чтобы делать это:

Journaling(Протоколирование) и Auditing(Ревизия).

Эти формы отличаются по назначению. Journaling, применяется с целью защиты ваших данных, при разрушении вашей системы. Сначала Вы используете реализационно-зависимую процедуру чтобы архивировать текущее содержание вашей базы данных, поэтому копия ее содержания где-нибудь будет сохранена. Затем вы просматриваете протокол изменений сделанных в базе данных. Он сохраняется в некоторой области памяти, но не в главной памяти базы данных, а желательно на отдельном устройстве, и содержит список всех команд которые произвели изменения в структуре или в содержании базы данных. Если у вас вдруг появились проблемы и текущее содержание вашей базы данных оказалось нарушенным, вы можете повторно выполнить все изменения зарегистрированные в протоколе на резервной копии ва шей базы данных, и снова привести вашу базу данных в состояние которое было до момента последней записи в протокол. Типичной командой, чтобы начать протоколирование, будет следующая:

SET JOURNAL ON;

Auditing используется c целью защиты. Она следит за тем, кто и какие действия выполнял в базе данных, и сохраняет эту информацию в таблице доступной только очень немногим высоко привилегированным пользователям. Конечно, вы редко будете прибегать к процедуре ревизии, потому что очень скоро она займет много памяти и вам будет сложно работать в вашей базе данных. Но вы можете устанавливать ревизию для опре- деленных пользователей, определенных действий или определенных объектов данных. Имеется такая форма команды AUDIT:

AUDIT INSERT ON Salespeople BY Diane;

Или предложение ON или предложение BY могут быть исключены, устанавливая ревизию, либо всех объектов или всех пользователей, соответственно. Применение AUDIT ALL, вместо AUDIT INSERT, приведет к отслеживанию всех действий Diane в таблице Продавцов.

Приложение d

Синтаксис и команда ссылки

Это приложение содержит более краткое описание различных команд SQL. Цель состоит в том, чтобы дать вам быструю и точную ссылку и определение SQL. Первый раздел этого приложения определяет элементы, используемые для создания команд SQL; второй, подробности синтаксиса и предложения с кратким описанием самих команд. Далее показаны стандартные условные обозначения ( они называются BNF условиями):

 Ключевые cлова набираются в верхнем регистре.

 SQL и другие специальные условия заключаются в угловые скобки и набираются курсивом.(< and >)

 Необязательные части команд находятся в квадратных скобках ( [and] ).

 Многоточие ( .... ) указывает на то что предшествующая часть команды может повторяться любое число раз.

 Вертикальна полоса ( | ) означает - то, что ей предшествует может быть заменено на то что следует за ней.

 Фигурные Скобки ( {and} ) указывают - все что внутри них, должно быть расценено как целое, для оценки других символов ( например, вертикальных полос или эллипсов ).

 Двойное двоеточие и равняется (:: = ) означают - то что следует за ними является определением того что им предшествует.

Кроме того, мы будем использовать следующую последовательность (.,.. ) чтобы указывать, что предшествующее этому может повторяться любое число раз с индивидуальными событиями отделяемыми запятыми. Атрибуты которые не являются частью официального стандарта будут отмечены как (*нестандартные*) в описании.

ОБРАТИТЕ ВНИМАНИЕ: Терминология которую мы используем здесь, не официальна терминология ANSI. Официальная терминология может вас сильно запутать, поэтому мы несколько ее упростили. По этой причине, мы иногда используем условия отличающиеся от ANSI, или используем те же самые условия но несколько по-другому. Например, наше определение - < predicate > отличается от используемой в ANSI комбинации стандартного определения < predicate > с < search condition >.

Соседние файлы в папке БД2012