Разделы презентаций


Тема 9 : Язык структурированных запросов SQL

Содержание

СозданиеОдним из языков, появившихся в результате разработки реляционной модели данных, является язык SQL (Structured Query Language), который в настоящее время получил очень широкое распространение и фактически превратился в стандартный язык реляционных

Слайды и текст этой презентации

Слайд 1Тема 9: Язык структурированных запросов SQL

Тема 9: Язык структурированных запросов SQL

Слайд 2Создание
Одним из языков, появившихся в результате разработки реляционной модели данных,

является язык SQL (Structured Query Language), который в настоящее время

получил очень широкое распространение и фактически превратился в стандартный язык реляционных баз данных. Стандарт на язык SQL был выпущен Американским национальным институтом стандартов (ANSI) в 1986 г., а в 1987 г. Международная организация стандартов (ISO) приняла его в качестве международного. Нынешний стандарт SQL известен под названием SQL/92.
СозданиеОдним из языков, появившихся в результате разработки реляционной модели данных, является язык SQL (Structured Query Language), который

Слайд 3Основные категории команд языка SQL:
Основные категории команд языка SQL предназначены

для выполнения различных функций, включая построение объектов базы данных и

манипулирование ими, начальную загрузку данных в таблицы, обновление и удаление существующей информации, выполнение запросов к базе данных, управление доступом к ней и ее общее администрирование.
Основные категории команд языка SQL:
- DDL – язык определения данных;
- DML – язык манипулирования данными;
- DQL – язык запросов;
- DCL – язык управления данными;
- команды администрирования данных;
- команды управления транзакциями
Основные категории команд языка SQL:Основные категории команд языка SQL предназначены для выполнения различных функций, включая построение объектов

Слайд 4Основные категории команд языка SQL:
Определение структур базы данных (DDL)
Язык определения

данных (Data Definition Language, DDL) позволяет создавать и изменять структуру

объектов базы данных, например, создавать и удалять таблицы. Основными командами языка DDL являются следующие: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.
Манипулирование данными (DML)
Язык манипулирования данными (Data Manipulation Language DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.

Основные категории команд языка SQL:Определение структур базы данных (DDL)Язык определения данных (Data Definition Language, DDL) позволяет создавать

Слайд 5Основные категории команд языка SQL:
Выборка данных (DQL)
Язык запросов DQL наиболее

известен пользователям реляционной базы данных, несмотря на то, что он

включает одну команду: SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.
Язык управления данными (DCL)
Команды управления данными позволяют управлять доступом к информации, находящейся внутри базы данных. Как правило, они используются для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользовате­лями. Команды управления данными следующие: GRANT, REVOKE.

Основные категории команд языка SQL:Выборка данных (DQL)Язык запросов DQL наиболее известен пользователям реляционной базы данных, несмотря на

Слайд 6Основные категории команд языка SQL:
Команды администрирования данных
С помощью команд администрирования

данных пользователь осуществляет контроль за выполняемыми действиями и анализирует операции

базы данных; они также могут оказаться полезными при анализе про­изводительности системы. Не следует путать администрирование данных с администрированием базы данных, которое представляет собой общее управление базой данных и подразумевает использование команд всех уровней.
Команды управления транзакциями
Существуют следующие команды, позволяющие управлять транзакциями базы данных: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

Основные категории команд языка SQL:Команды администрирования данныхС помощью команд администрирования данных пользователь осуществляет контроль за выполняемыми действиями

Слайд 7Преимущества языка SQL
Основные достоинства языка SQL заключаются в следующем:
- стандартность

— как уже было сказано, использование языка SQL в программах

стандартизировано международными организациями;
- независимость от конкретных СУБД — все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;
- возможность переноса с одной вычислительной системы на другую — СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;
- реляционная основа языка — SQL является языком реляционных БД, поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения;

Преимущества языка SQLОсновные достоинства языка SQL заключаются в следующем:- стандартность — как уже было сказано, использование языка

Слайд 8Преимущества языка SQL
- возможность создания интерактивных запросов — SQL обеспечивает

пользователям немедленный доступ к данным, при этом в интерактивном режиме

можно получить результат запроса за очень короткое время без написания сложной программы;
- возможность программного доступа к БД — язык SQL легко использовать в приложениях, которым необходимо обращаться к базам данных. Одни и те же операторы SQL употребляются как для инте­рактивного, так и программного доступа, поэтому части программ, содержащие обращение к БД, можно вначале проверить в интерактивном режиме, а затем встраивать в программу;
- обеспечение различного представления данных — с помощью SQL можно представить такую структуру данных, что тот или иной пользователь будет видеть различные их представления. Кроме того, данные из разных частей БД могут быть скомбинированы и представлены в виде одной простой таблицы, а значит, представления пригодны для усиления защиты БД и ее настройки под конкретные требования от­дельных пользователей;

Преимущества языка SQL- возможность создания интерактивных запросов — SQL обеспечивает пользователям немедленный доступ к данным, при этом

Слайд 9Преимущества языка SQL
- озможность динамического изменения и расширения структуры БД

— язык SQL позволяет манипулировать структурой БД, тем самым обеспечивая

гибкость с точки зрения приспособленности БД к изменяющимся требованиям предметной области;
- поддержка архитектуры клиент-сервер — SQL одно из лучших средств для реализации приложений на платформе клиент-сервер. SQL служит связующим звеном между взаимодействующей с пользователем клиентской системой и серверной системой, управляющей БД, позволяя каждой из них сосредоточиться на выполнении своих функций.

Преимущества языка SQL- озможность динамического изменения и расширения структуры БД — язык SQL позволяет манипулировать структурой БД,

Слайд 10Запросы
В Access могут быть созданы следующие типы запросов:
Запрос на выборку. Извлекает данные из

одной или нескольких таблиц и отображает их в таблице.
Помимо этого,

пользователю предоставляется возможность создавать дополнительное вычисляемое поле с данными, полученными в результате проведения математических или логических операций с другими полями, и вводить параметры (числа, тексты) запроса.
Запрос на изменение. Изменяет или перемещает данные. К этому типу относятся запросы на добавление или удаление записей, на создание или обновление таблицы.
Итоговый запрос. Служит для вычисления итоговых значений (сумма, среднее значение, количество по группам данных). Разновидностью итоговых запросов является перекрёстный запрос, позволяющий представить итоговые данные в виде таблицы, напоминающей электронную. Обычно перекрёстный запрос применяется к повторяющимся данным и связанных с ними датами, чтобы получить более наглядную, сгруппированную по интервалам времени (месяц, квартал) информацию.

ЗапросыВ Access могут быть созданы следующие типы запросов:Запрос на выборку. Извлекает данные из одной или нескольких таблиц и отображает их

Слайд 11Запрос на выборку
Запрос на выборку
SELECT [ALL | DISTINCT] список полей
FROM

имена таблиц
WRERE (критерий отбора)
ORDER BY столбцы сортировки [ASC | DESC]

Где

SELECT - команда, определяющая запрос на выборку и содержащая спи-сок полей, в котором указываются поля, подлежащие выводу;
ALL,DISTINCT - предикаты, включающие все строки удовлетворяющие принятым условиям, исключающие строки с повторяющимися данными;
FROM_имена таблиц - определяет имена таблиц, у которых запрос должен отобрать данные.
WHERE - (критерий отбора) - определяет условия для отбора записей указанных таблиц;
ORDER BY столбцы_сортировки - определяет порядок сортировки записей по возрастанию (ASC) или убыванию (DESC); по умолчанию производится сортировка по возрастанию.

Запрос на выборкуЗапрос на выборкуSELECT [ALL | DISTINCT] список полейFROM имена таблицWRERE (критерий отбора)ORDER BY столбцы сортировки

Слайд 12Пример
Пример 1. Запрос на выборку, позволяющий получить из таблицы СТУДЕНТ данные

(таблицу с полями «ФИО», «Дата рождения», «Группа») о студентах мужского

пола, родившихся до 1976 г.
SELECT СТУДЕНТ.ФИО,СТУДЕНТ.[Дата рождения],
СТУДЕНТ. Группа
FROM СТУДЕНТ
WHERE (((СТУДЕНТ.[Дата рождения])<#1/1/76#) АND (СТУДЕНТ.Пол)="М"));

Пример 2. Запрос на выборку с формированием в таблице СТИПЕНДИЯ вычисляемого поля "Размер", в котором данные получаются умножением значений столбца "Процент" на 80.
SELECT СТИПЕНДИЯ. Оценка, СТИПЕНДИЯ. Процент, [СТИПЕНДИЯ]! [Процент]*80 AS Размер FROM СТИПЕНДИЯ;

ПримерПример 1. Запрос на выборку, позволяющий получить из таблицы СТУДЕНТ данные (таблицу с полями «ФИО», «Дата рождения», «Группа»)

Слайд 13Запрос на выборку с параметром
Запрос на выборку с параметром
SELECT [ALL

| DISTINCT] список полей
FROM имя таблицы
WHERE ((имя поля)=[выражение])
Здесь в квадратных

скобках помещается выражение, поясняющее видвводимого параметра.

Пример 3. Запрос с параметром, позволяющий выделить в таблице СЕССИЯ имена студентов, имеющих оценку УДО, ХОР, ХОТ или ОТЛ, используемую в качестве параметра.
SELECT СЕССИЯ. ФИО,СЕССИЯ.Оценка
FROM СЕССИЯ
WHERE (((СЕССИЯ.Оценка)=([ВвеДите оценку])));
Запрос на выборку с параметромЗапрос на выборку с параметромSELECT [ALL | DISTINCT] список полейFROM имя таблицыWHERE ((имя

Слайд 14Запрос на добавление
Запрос на добавление
INSERT INTO таблица_получатель
SELECT [ALL | DISYINCT]

список полей
FROM таблица_источник
WHERE условие добавления,

где INSER INTO таблица_получатель - вставляет

в таблицу_получатель одну, несколько или все (если отсутствует WHERE) строки таблицы_источника.

Пример 4. Запрос на добавление, позволяющий таблицу АНКЕТА дополнить записями таблицы СТУДЕНТ, содержащими информацию о студентах группы ЭУ - 2.
INSERT INTO АНКЕТА(Номер,ФИО,Пол,[Дата рождения],Группа)
SELECT СТУДЕНТ.Номер,СТУДЕНТ.ФИО,СТУДЕНТ.Пол,СТУДЕНТ.[Дата рождения],СТУДЕНТ.Группа
FROM СТУДЕНТ WHERE (((СТУДЕНТ.Группа)="ЭУ-2"));

Запрос на добавлениеЗапрос на добавлениеINSERT INTO таблица_получательSELECT [ALL | DISYINCT] список полейFROM таблица_источникWHERE условие добавления, где INSER

Слайд 15Запрос на обновление
Запрос на обновление
UPDATE имя_таблицы
SET имя_поля1=значение1[, имя_поля2=значение2[,...]]
WHERE условие_обновления,
где UPDATE

имя_таблицы - обновляет выбранные поля в записях таблицы, удовлетворяющих условию

обновления.
SET - указывает имя поля и присваемое ему значение.
Пример 5. Запрос на обновление, позволяющий в таблице АНКЕТА восстановить прежнюю дату рождения 24.06.75 Ветровой
UPDATE АНКЕТА
SET АНКЕТА. [Дата рождения]=#24/6/75#
WHERE ((АНКЕТА.ФИО)="Ветрова А.Ф.")

Запрос на обновлениеЗапрос на обновлениеUPDATE имя_таблицыSET имя_поля1=значение1[, имя_поля2=значение2[,...]]WHERE условие_обновления, где UPDATE имя_таблицы - обновляет выбранные поля в

Слайд 16Запрос на удаление
Запрос на удаление
DELETE список_полей
FROM имя_таблицы
WHERE условия_удаления
где DELETE список_полей

- удаляет одну или несколько записей из таблицы в соответствии

с принятыми условиями. Если WHERE отсутствует, то удаляются все строки.
Пример 6. Запрос на удаление из таблицы АНКЕТА записей, содержащих информацию о группе ЭУ -2.
DELETE АНКЕТА.Номер,АНКЕТА.ФИО,АНКЕТА.Пол,АНКЕТА.[Дата рож-дения],АНКЕТА.Группа
FROM АНКЕТА
WHERE (((АНКЕТА.Группа)="ЭУ-2"));

Запрос на удалениеЗапрос на удалениеDELETE список_полейFROM имя_таблицыWHERE условия_удаления где DELETE список_полей - удаляет одну или несколько записей

Слайд 17Итоговые запросы
Итоговые запросы
SELECT [ALL | DISTINCT] список_полей, функция (имя поля)
AS

[заголовок_поля]
FROM имена_таблиц
WHERE условие_отбора
GROUP BY условие_группировки
HAVING условие_для_результата
где AS [заголовок_поля] - определяет

заголовок столбца результирующего набора записей; GROUP BY условие группировки - выбирает поле, по значениям которого записи объединяются в группы, к каждой из которых применяется функция; HAVING условие_для_результата - одно или несколько условий, налагаемых на значения поля (заголовок_поля), полученные после выполнения группировки и применения функции; WHERE услойие_отбора - условие для отбора исходных записей перед выполнением группировки и применением функции.

Итоговые запросыИтоговые запросыSELECT [ALL | DISTINCT] список_полей, функция (имя поля)AS [заголовок_поля]FROM имена_таблицWHERE условие_отбораGROUP BY условие_группировкиHAVING условие_для_результата где

Слайд 18Примеры
Пример 7. Итоговый запрос для вычисления в таблице СТУДЕНТ количества студентов

мужского пола в группе ЭУ-1.
SELECT Count (СТУДЕНТ.Номер) А8[количество]
FROM СТУДЕНТ
WHERE ((СТУДЕНТ.Группа)="ЭУ-1")

AND ((СТУДЕНТ. Пол)="М");
Пример 8. Итоговый запрос, позволяющий рассчитать средний балл по информатике в таблице СЕССИЯ.
SELECT Avg (СЕССИЯ.Информ) AS Среднее
FROM СЕССИЯ;

ПримерыПример 7. Итоговый запрос для вычисления в таблице СТУДЕНТ количества студентов мужского пола в группе ЭУ-1.SELECT Count (СТУДЕНТ.Номер)

Слайд 19Перекрестный запрос
Перекрестный запрос
TRANSFORM функция (имя_поля) [AS подпись]
SELECT [ALL | DISTINCT] список_полей
FROM имя_таблицы
PIVOT

Format (имя поля, "тип_форматирования" IN (список_значений)
где TRANSFORM - ключевое слово,

определяющее перекрестный запрос; PIVOT..IN - описывает формат и имена тех полей результирующего набора записей, которые соответствуют группам исходных строк и содержат значения, определенных функций.
Пример 9. Перекрестный запрос к таблице УСПЕВАЕМОСТЬ для получения таблицы со средними баллами студентов по месяцам.
TRANSFORM Аvg([Балл]) AS [Значение]
SELECT [ФИО], Аvg([Балл]) AS [Итоговое значение Балл]
FROM УСПЕВАЕМОСТЬ
GROUP BY [ФИО]
PIVOT Format ([Дата],"mmm") IN ("янв","фев","мар","апр","май”,“июнь”,"июл","авг","сен","окт","ноя","дек");
Перекрестный запросПерекрестный запросTRANSFORM функция (имя_поля) [AS подпись]SELECT [ALL | DISTINCT] список_полейFROM имя_таблицыPIVOT Format (имя поля,

Слайд 20Запрос на создание таблицы
а) путем выборки полей из таблицы

SELECT [ALL |

DISTINCT] список_полей
INTO новая_таблица
FROM исходная_таблица
WHERE условия_добавления
SELECT... INTO - ключевое выражение для создания

новой таблицы со списком полей выбранных из исходной таблицы.
Пример 10. Запрос на создание таблицы СПИСОК с полями "Номер", "ФИО", "Дата рождения" из таблицы АНКЕТА.
SELECT АНКЕТА.Номер,АНКЕТА.ФИО,АНКЕТА.[Дата рождения]
INTO СПИСОК
FROM АНКЕТА
WHERE (((АНКЕТА.Пол)=“М”)) ;
Запрос на создание таблицыа) путем выборки полей из таблицы SELECT [ALL | DISTINCT] список_полейINTO новая_таблицаFROM исходная_таблицаWHERE условия_добавленияSELECT... INTO -

Слайд 21Запрос на создание таблицы
б) путем слияния полей, выбранных из нескольких

таблиц
SELECT [ALL:DISTINCT] список_полей
FROM имя_таблицы 1
INNER JOIN имя_таблицы 2
ON условие_объединения
где INNER JOIN - операция

объединения из двух таблиц всех записей полей, указанных в инструкции SELECT и удовлетворяющих условию объединения.
Пример 11. Запрос на создание таблицы ВЕДОМОСТЬ с полями "Номер", "ФИО", "Пол", "Группа" на основании таблиц СЕССИЯ и СТУДЕНТ.
SELECT СЕССИЯ.Номер,СЕССИЯ.ФИО,СЕССИЯ.Матем,СТУДЕНТ.Пол, СТУДЕНТ.Группа AS ВЕДОМОСТЬ
FROM СЕССИЯ
INNER JOIN СТУДЕНТ
ON СЕССИЯ.Номер=СТУДЕНТ.Номер

Запрос на создание таблицыб) путем слияния полей, выбранных из нескольких таблиц SELECT [ALL:DISTINCT] список_полейFROM имя_таблицы 1INNER JOIN имя_таблицы 2ON условие_объединения

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика