- •Системы управления базами данных. Ивт 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. Блокировки транзакций: уровни и виды, тупиковые ситуации.
9. Предложение where и классификация условий отбора (привести примеры).
Предложение WHERE состоит из ключевого слова WHERE, за которым следует условие отбора, определяющее, какие именно строки требуется извлечь. Если условие отбора имеет значение TRUE, строка будет включена в результаты запроса. Если же оно имеет значение FALSE или NULL, то строка исключается из результатов запроса.
В SQL обычно используются пять основных условий отбора (в стандарте ANSI/ISO они называются предикатами)
- сравнение(=, !=(не равно), <, >, <=, >=.)
Найти служащих с зарплатой меньше 300
select fname, lname
from staff
where salary< 300;
- проверка на принадлежность диапазону(BETWEEN … AND)
select fname, lname
from staff
where DOB between ’01-Oct-63’ and ’31-Dec-71’;
- проверка на членство в множестве(in)
select address, tel_no
from branch
where city in (‘Минск’, ‘Витебск’, ‘Брест’);
- проверка на соответствие шаблону(like)
select lname, address, tel_no
from staff
where lname like ‘K%’
Символ ‘%’ - замещает произвольную последовательность символов, а ‘_’ – замещает одиночный символ
- проверка на равенство значению NULL.
10. Составные условия отбора. Влияние значений null на результат отбора.
SQL позволяет получить ответы на эти запросы посредством многотабличных запросов, которые объединяют данные из нескольких таблиц.
Составить список всех сотрудников, работающих в Минском отделении.
select fname, lname, position, S.tel_no
from Branch B, Staff S
where B.bno=S.bno and city = ‘Минск’;
Определитель NULL указывает, что значение атрибута в настоящий момент неизвестно.
Даже в случае если запрос возвращает ноль строк, его результат считается таблицей. В этом случае таблица, содержит некоторое количество столбцов и ноль строк. Поддержка отсутствующих данных в SQL распространяется и на результаты запроса. Если один из элементов данных в исходной таблице имеет значение NULL, то оно попадет в результаты запроса при извлечении этого элемента
11. Многотабличные запросы и их особенности (привести пример).
SQL позволяет получить ответы на эти запросы посредством многотабличных запросов, которые объединяют данные из нескольких таблиц.
Составить список всех сотрудников, работающих в Минском отделении.
select fname, lname, position, S.tel_no
from Branch B, Staff S
where B.bno=S.bno and city = ‘Минск’;
SQL> select name,sn ,place from main1 b,ship c where b.wno=c.wno and place='China';
Вначале просматривается таблица ship и фильтруются строки где place = china
Внешний ключ табл main1 и первичный ключ табл ship должны совпадать
Как уже было отмечено выше, с увеличением количества таблиц в запросе резко возрастает объем работы, необходимой для выполнения запроса. Хотя ограничений на количество объединяемых таблиц нет, на практике высокие затраты на обработку многотабличных запросов во многих приложениях накладывают серьёзные ограничения на использование многотабличных запросов
В приложениях, предназначенных для оперативной обработки транзакций (OLTP), запрос обычно ссылается только на одну или две таблицы. В этих приложениях время ответа является критичной величиной, пользователь, как правило, вводит один или два элемента данных, и ему требуется получить ответ от базы данных в течение одной или двух секунд.
В отличие от OLTP-приложений, в приложениях, предназначенных для поддержки, принятия решений, запрос, как правило, обращается ко многим таблицам и использует сложные отношения, существующие в базе данных. В этих приложениях результаты запроса часто нужны для принятия важных решений, поэтому вполне приемлемыми считаются запросы, которые выполняются несколько минут или в течение большего времени.
