- •Системы управления базами данных. Ивт 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. Блокировки транзакций: уровни и виды, тупиковые ситуации.
6. Общие сведения о dml.
СУБД позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными (DML Data Manipulation Language).
Наличие централизованного хранилища данных позволяет использовать язык DML как общий инструмент организации запросов, который иногда называют языком запросов (query language).
Существует две разновидности языков DML процедурные и непроцедурные, которые отличаются между собой способом извлечения данных. Основное отличие между ними заключается в том, что процедурные языки обрабатывают информацию в базе данных последовательно, запись за записью, а непроцедурные оперируют сразу целыми наборами записей
Инструкции SELECT, INSERT, DELETE, UPDATE, рассмотренные ранее, предназначены для обработки данных. В совокупности эти инструкции называются языком обработки данных, или DML (Data Manipulation Language). Инструкции DML могут модифицировать информацию, хранимую в базе данных, но не могут изменять ее структуру. Например, ни одна из этих инструкций не позволяет создавать и удалять таблицы или столбцы.
Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне. Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL
7. Общий синтаксис инструкции select
Инструкция SELECT извлекает информацию из базы данных и возвращает её в виде таблицы результатов запроса.
SELECT (DISTINCT) ВОЗВРАЩАЕМЫЙ СТОЛБЕЦ
FROM ИМЯ ТАБЛИЦЫ(ИЦ)
WHERE УСЛОВИЕ ОТБОРА
(GROUP BY ИМЯ СТОЛБЦА)
(HAVING УСЛОВИЕ ОТБОРА)
(ORDER BY СОРТИРОВКА )
В предложении select указывается список столбцов, которые должны быть возвращены инструкцией select. Возвращаемые столбцы могут содержать значения, извлекаемые из столбцов таблиц базы данных, или значения, вычисляемые во время выполнения запроса.
В предложении from указывается список таблиц, которые содержат элементы данных, извлекаемые запросом.
Предложение where показывает, что в результаты запроса следует включать только некоторые строки
Предложение group by позволяет создать итоговый запрос. Обычный запрос включает в результаты запроса по одной записи для каждой строки из таблицы
Предложение having показывает, что в результаты запроса следует включать только некоторые из групп, созданных с помощью предложения group by.
Предложение order by сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах. Если это предложение не указано, результаты запроса не будут отсортированы
8. Предложения select и from. Предикаты и вычисляемые столбцы (пример).
Предложение SELECT
В предложении select, с которого начинаются все инструкции select, необходимо указать элементы данных, которые будут возвращены в результате запроса. Эти элементы задаются в виде списка возвращаемых столбцов, разделенных запятыми. Для каждого элемента из этого списка в таблице результатов запроса будет создан один столбец. Столбцы в таблице результатов будут расположены в том же порядке, что и элементы списка возвращаемых столбцов. Возвращаемый столбец может представлять собой:
имя столбца, идентифицирующее один из столбцов, содержащихся в таблицах, которые перечислены в предложении from. СУБД просто берет значение этого столбца для каждой из строк исходной таблицы и помещает его в соответствующую строку таблицы результатов запроса;
константу, показывающую, что в каждой строке результатов запроса должно содержаться одно и то же значение;
выражение, показывающее, что СУБД должна вычислять значение, помещаемое в таблицу результатов запроса, по формуле, определенной в выражении. Такие столбцы таблицы результатов носят название вычисляемых.
Предложение FROM
Предложение FROM состоит из ключевого слова from, за которым следует список спецификаторов таблиц, разделенных запятыми. Каждый спецификатор таблицы идентифицирует таблицу, содержащую данные, которые извлекает запрос. Такие таблицы называются исходными таблицами запроса.
Предикаты и вычисляемые столбцы
В SQL обычно используются пять основных условий отбора (в стандарте ANSI/ISO они называются предикатами)
- сравнение(=, !=(не равно), <, >, <=, >=.)
- проверка на принадлежность диапазону(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.
