- •Системы управления базами данных. Ивт 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. Блокировки транзакций: уровни и виды, тупиковые ситуации.
3. Типовая структура и основные возможности субд
Процессор запросов
Это основной компонент СУБД, который преобразует запросы в последовательность низкоуровневых инструкций для контроллера базы данных
Контроллер базы данных
Этот компонент взаимодействует с запущенными пользователем прикладными программами и запросами. Контроллер базы данных принимает запросы и проверяет схему базы данных для определения тех записей, которые необходимы для удовлетворения требований запроса. Затем контроллер баз данных. Вызывает контроллер файлов для выполнения поступившего запроса.
Контроллер файлов
Манипулирует предназначенными для хранения данных файлами и отвечает за распределение доступного дискового пространства. Он создает и поддерживает список индексов. Если используются хешированные файлы, то в его обязанности входит и вызов функций хеширования для генерации адресов записей. Однако контроллер файлов не управляет физическим вводом и выводом данных непосредственно, а лишь передает запросы соответствующим методам доступа, которые считывают данные в системные буферы или записывают их оттуда на диск.
Препроцессор языка DML
Этот модуль преобразует внедренные в прикладные программы DML операторы в вызовы стандартных функций базового языка.
Компилятор языка DDL
Компилятор языка DDL преобразует DDL команды в набор таблиц , содержащих метаданные, затем эти таблицы сохраняются в системном каталоге.
Контролер словаря
Контроллер словаря управляет доступом к системному каталогу и обеспечивает работу с ним.
4. Преимущества и недостатки субд.
ПРЕИМУЩЕСТВА:
Контроль избыточности данных
Непротиворечивость данных
Совместное использование данных
Поддержка целостности данных
Повышенная безопасность
Повышение эффективности с ростом масштабов системы
Повышение доступности данных и их готовности к работе
Улучшение показателей производительности
Упрощение сопровождения системы за счет независимости от данных
Улучшенное управление параллельностью
Развитые службы резервного копирования и восстановления
-Глобальность
НЕДОСТАТКИ:
Сложность
Размер
Стоимость
Затраты на преобразование
Производительность
Более серьезные последствия при выходе системы из строя
5. Общие сведения об инструкциях sql. Правила именования таблиц и столбцов
В SQL существует приблизительно сорок инструкций. Каждая из них "просит" СУБД выполнить опр. действие, например, извлечь данные, создать таблицу или добавить в таблицу новые данные.
Каждая инструкция SQL начинается с команды, т.е. ключевого слова, описывающего действие, выполняемое инструкцией. Типичными командами являются: create, insert, delete и commit. После команды идет одно или несколько предложений. Предложение описывает данные, с которыми работает инструкция, или содержит уточняющую информацию о действии, выполняемом инструкцией. Каждое предложение также начинается с ключевого слова, такого как where, from, into и having. Одни предложения в инструкции являются обязательными, другие — нет. Конкретная структура и содержимое предложения могут изменяться. Многие предложения содержат имена таблиц или столбцов; некоторые из них могут содержать дополнительные ключевые слова, константы и выражения.
В соответствии со стандартом ANSI/ISO имена в SQL должны содержать от 1 до 18 символов, начинаться с буквы и не содержать пробелов или специальных символов пунктуации. В обновленном стандарте SQL2 максимальное число символов в имени увеличено до 128. На практике поддержка имен в различных СУБД реализована по-разному
Имена таблиц
Большинство СУБД позволяют различным пользователям создавать таблицы с одинаковыми именами. Имея соответствующее разрешение, можно обращаться к таблицам, владельцами которых являются другие пользователи, с помощью полного имени таблицы, записанным посредством уточняющей записи через точку. Например, полное имя таблицы birthdays, владельцем которой является пользователь по имени user, имеет следующий вид: user . birthdays
Полное имя таблицы можно использовать вместо короткого имени во всех инструкциях SQL.
Имена столбцов
Если в инструкции задается имя столбца, СУБД сама определяет, в какой из указанных в этой же инструкции таблиц содержится данный столбец. Однако если в инструкцию требуется включить два столбца из различных таблиц, но с одинаковыми именами, необходимо указать полные имена столбцов, которые однозначно определяют их местонахождение. Полное имя столбца состоит из имени таблицы, содержащей столбец, и имени столбца (короткого имени), разделенных точкой.
