- •Системы управления базами данных. Ивт 3 курс
- •1. Основные понятия и определения курса. Традиционные файловые системы.
- •2. Модели данных. Сравнительный анализ структуры и свойств.
- •3. Типовая структура и основные возможности субд
- •4. Преимущества и недостатки субд.
- •5. Общие сведения об инструкциях sql. Правила именования таблиц и столбцов
- •6. Общие сведения о dml.
- •7. Общий синтаксис инструкции select
- •8. Предложения select и from. Предикаты и вычисляемые столбцы (пример).
- •9. Предложение where и классификация условий отбора (привести примеры).
- •10. Составные условия отбора. Влияние значений null на результат отбора.
- •11. Многотабличные запросы и их особенности (привести пример).
- •12. Предложение group by. Статистические (агрегативные) функции в sql (примеры).
- •13. Сортировка результатов запроса (предложение order by).
- •14. Добавление данных (инструкции insert, merge).
- •15. Модификация и удаление данных (инструкции update, merge и delete).
- •16. Общие сведения о ddl.
- •17. Типы данных sql.
- •18. Создание таблиц (инструкция create table).
- •19. Изменение определения и удаление таблицы (инструкции alter ,drop table).
- •20. Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)
- •21. Аутентификация. Создание и изменение пользователей. Аутентификация пользователей
- •22. Привилегии. Системные привилегии.
- •23. Привилегии доступа к объектам схемы. Правила предоставления привилегий
- •24. Работа с привилегиями при помощи ролей. Системные роли, определение, изменение, удаление ролей
- •25. Аудит. Типы и применение аудита.
- •Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения
- •Аудит изменений хранилища данных авторизации
- •26. Условия целостности данных
- •27. Понятие транзакций. Инструкции обработки транзакций (commit и rollback)
- •28. Модель транзакции в стандарте ansi/iso
- •29. Журнал транзакций. Проблемы обработки параллельных транзакций.
- •Проблема пропавшего обновления.
- •Проблема несогласованных данных
- •Проблема строк – призраков
- •30. Блокировки транзакций: уровни и виды, тупиковые ситуации.
25. Аудит. Типы и применение аудита.
Аудит — это сочетание нескольких элементов в одном пакете для определенной группы действий сервера или базы данных. Компоненты подсистемы аудита SQL Server совместно формируют выходные данные, называемые аудитом, аналогично тому, как определение отчета в сочетании с элементами графики и данных формируют отчет.
Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения
Аудит времени выполнения включает два следующих аспекта:
аудит времени выполнения инициализации приложения, создающий события аудита при открытии приложения;
аудит времени выполнения клиентского контекста и проверки доступа, создающий события аудита при создании клиентского контекста и при каждом клиентском запросе проверки доступа. Проверки доступа основаны на методе AccessCheck, который описан в разделе «Авторизация» документации Platform SDK.
Аудит времени выполнения может быть настроен для регистрации успешных выполнений, отказов или и того и другого вместе.
Аудит изменений хранилища данных авторизации
Если включен аудит изменений хранилища данных авторизации, аудит проводится каждый раз при изменении хранилища данных авторизации. Аудит регистрирует все события - как успешные выполнения, так и отказы.
26. Условия целостности данных
Обязательное наличие данных. Некоторые столбцы в базе данных должны содержать значения в каждой строке; строки в таких столбцах не могут содержать значения NULL. Например, в базе данных для каждого заказа должен существовать соответствующий заказчик, сделавший этот заказ. Поэтому столбец Заказчик в таблице Договора является обязательным. Можно указать СУБД, что запись значения NULL в такие столбцы недопустима.
Условие на значение. У каждого столбца в базе данных есть свой домен, т.е. тот набор значений, которые допускается хранить в данном столбце. Можно указать СУБД, что запись значений, не входящих в определенный диапазон, в такие столбцы недопустима.
Целостность таблицы(сущности). Первичный ключ таблицы должен в каждой строке иметь уникальное значение, отличное от значений во всех остальных строках. Можно указать СУБД, чтобы она обеспечивала целостность таблиц.
Ссылочная целостность. В реляционной базе данных каждая строка таблицы-потомка с помощью внешнего ключа связана со строкой таблицы-предка, содержащей первичный ключ, значение которого равно значению внешнего ключа. В учебной базе данных значение столбца Bno таблицы STAFF связывает служащего с офисом, в котором он работает. Столбец Bno должен содержать значение из столбца Bno таблицы BRANCH; в противном случае служащий будет закреплен за несуществующим офисом. Можно указать СУБД, чтобы она обеспечивала ограничение на значения внешнего ключа.
Бизнес правила. Обновление информации в базе данных может быть ограничено деловыми правилами, которым подчиняются сделки, представляемые подобными обновлениями. Например, организация, использующая базу данных, может установить деловое правило, запрещающее принимать заказы на продукцию в количествах, превышающих её количество на складе. Можно указать СУБД, что следует проверять каждую новую строку, добавляемую в таблицу ДОГОВОРА, и убеждаться, что значение в столбце Количество не нарушает установленное деловое правило.
Непротиворечивость. Многие реальные деловые операции вызывают в базе данных несколько изменений одновременно. Например, операция “увольнение сотрудника и передача всех закрепленных за ним объектов другим сотрудникам этого же отделения” может включать в себя удаление строки из таблицы STAFF с предварительным изменением содержимого соответствующих столбцов SNO таблицы Property_for_Rent. Одна инструкция DELETE и инструкция UPDATE – все они должны быть выполнены для того, чтобы база данных осталась в правильном, непротиворечивом состоянии. Можно указать СУБД, что следует обеспечивать непротиворечивость изменяемых данных.
