- •Системы управления базами данных. Ивт 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. Блокировки транзакций: уровни и виды, тупиковые ситуации.
20. Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)
CREATE/DROP ALIAS
Поэтому и только в случае получения разрешения на доступ к таблицам другого пользователя, для ссылки на них необходимо использовать полные имена таблиц. На практике это означает, что в каждом запросе к таким таблицам следует указывать полные имена таблиц, в результате чего запросы становятся длинными, а их ввод – утомительным:
Для решения этой проблемы во многих СУБД вводится понятие псевдонима или синонима. Псевдоним – это назначаемое пользователем имя, которое заменяет имя некоторой таблицы.
В ORACLE для создания псевдонимов используется инструкция CREATE SYNONYM. В других СУБД для аналогичных целей используется инструкция CREATE ALIAS
DROP ALIAS – удаление псевдонима
CREATE/DROP INDEX
Одним из структурных элементов физической памяти, присутствующим в большинстве реляционных СУБД, является индекс. Индекс – это средство, обеспечивающее быстрый доступ к строкам таблицы на основе значений одного или нескольких столбцов
СУБД пользуется индексом так же, как читатели пользуетесь предметным указателем книги. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Данные в индексе располагаются в отсортированном по убыванию или возрастанию порядке, чтобы СУБД могла быстро найти требуемое значение. Затем по указателю СУБД может быстро локализовать строку, содержащую искомое значение.
Пример select tel_no, address
from staff
where lname = ‘Комаров’;
В инструкции ничего не говорится о том, имеется ли индекс для столбца LNAME или нет, и СУБД выполнит запрос в любом случае.
Если бы индекса для столбца LNAME не существовало, то СУБД была бы вынуждена выполнять запрос путем последовательного “сканирования” таблицы STAFF, строка за строкой, просматривая в каждой строке столбец LNAME.
В инструкции указывается имя индекса и таблица, для которой он создается. Задается также индексируемый столбец и порядок его сортировки (по возрастанию или убыванию, на приведенной диаграмме данная возможность не отражена с целью придания ей по – возможности “большей” универсальности).
21. Аутентификация. Создание и изменение пользователей. Аутентификация пользователей
Безопасность базы данных обеспечивается с помощью идентификаторов пользователей. Однако в стандарте ничего не говорится о механизме связи идентификатора пользователя с инструкциями SQL. Например, на сервере баз данных может существовать программа генерации отчетов, запланированная на выполнение каждый вечер, каков в этом случае идентификатор, если нет самого пользователя? Наконец, как обрабатываются запросы к базе данных по сети, если на локальном компьютере у пользователя может быть один идентификатор, а на удаленном компьютере – другой?
В большинстве коммерческих реляционных СУБД идентификатор пользователя создается для каждого сеанса связи с базой данных. В интерактивном режиме сеанс начинается, когда пользователь запускает интерактивную программу формирования запросов, и продолжается до тех пор, пока пользователь не выйдет из программы. В приложении, использующем программный SQL, сеанс начинается, когда приложение подключается к СУБД, и заканчивается по завершении работы приложения. В течение сеанса все инструкции SQL ассоциируются с идентификатором пользователя, установленным для этого сеанса.
Как правило, в начале сеанса необходимо ввести как идентификатор пользователя, так и связанный с ним пароль. Пароль служит для подтверждения того, что пользователь действительно имеет право работать под введенным идентификатором. Идентификаторы и пароли применяются в большинстве реляционных СУБД, однако способ, которым пользователь вводит свой идентификатор и пароль, меняется в зависимости от СУБД.
В некоторых СУБД реализована своя собственная система безопасности с идентификаторами пользователей и паролями. Например, когда в СУБД ORACLE вы работаете с интерактивной SQL-утилитой, которая называется SQL*Plus, вы вводите имя пользователя и соответствующий пароль.
