СУБД IBM System R. SEQUEL Structured English QUEry Language — структурированный английский язык запросов презентация

Содержание

Слайд 2

Язык SQL

Интерактивный
функционирование непосредственно в базе данных
Программный - встраивание запросов в прикладную программу
Статический SQL


Динамический SQL
API-интерфейсы

Слайд 3

Типы данных в SQL

Целочисленный
Вещественный
Тип данных даты и времени
Строковый

Слайд 4

Целочисленный тип данных в SQL

Слайд 5

Вещественный тип данных в SQL

Слайд 6

Тип данных даты и времени в SQL

Слайд 7

Строковый тип данных в SQL

Слайд 8

Основные команды SQL

Слайд 9

. DDL (Data Definition Language) – язык определения данных
CREATE
ALTER
DROP
RENAME
DML (Data Manipulation Language)– язык

манипуляции данными
INSERT
UPDATE
DELETE

Типы операторов SQL

Слайд 10

DQL (Data Query Language) – язык запросов к данным
SELECT
DCL (Data Control Language) –

язык управления данными
PASSWORD
GRANT
REVOKE

Типы операторов SQL

Слайд 11

DAL (Data Administration Language) – язык администрирования данных
START
AUDIT
STOP
Команды управления транзакциями
SAVE
POINT
SET

Типы операторов SQL

Слайд 12

Операторы SQL

CREATE TABLE (создание таблицы):
CREATE TABLE
( [()],

name> [()], ... );

Слайд 13

Операторы SQL

CREATE TABLE Продавцы
(КодПродавца integer,
ИмяПродавца char (10),
Город char (10),
Комиссионные

real);

Слайд 14

Операторы SQL

DROP TABLE (удаление таблицы):
DROP TABLE < table name >

DROP TABLE

Продавцы

Слайд 15

Введение ограничений

CREATE TABLE с учетом ограничений:
CREATE TABLE < table name >
(

name> ,
...;

CREATE TABLE Продавцы
(КодПродавца integer NOT NULL,
ИмяПродавца char (10),
Город char (10),
Комиссионные real);

Слайд 16

Введение ограничений

CREATE TABLE с учетом ограничений:
CREATE TABLE < table name >
(

name> ,
...;

CREATE TABLE Продавцы
(КодПродавца integer UNIQUE,
ИмяПродавца char (10),
Город char (10),
Комиссионные real);

Слайд 17

Введение ограничений

CREATE TABLE с учетом ограничений:
CREATE TABLE < table name >
(

name> ,
...;

CREATE TABLE Продавцы
(КодПродавца integer NOT NULL UNIQUE,
ИмяПродавца char (10),
Город char (10),
Комиссионные real);

Слайд 18

Создание первичных ключей

CREATE TABLE Продавцы
(КодПродавца integer PRIMARY KEY,
ИмяПродавца char (10),
Город

char (10),
Комиссионные real);

CREATE TABLE Заказы
(КодПокупки integer,
СуммаПокупки double,
ДатаПокупки date,
КодКлиента integer,
КодПродавца integer,
PRIMARY KEY (КодКлиента, КодПродавца));

Ограничение на столбец

Ограничение на таблицу

Слайд 19

Создание внешних ключей

CREATE TABLE Заказы
(КодПокупки integer,
СуммаПокупки double,
ДатаПокупки date,
КодКлиента integer

REFERENCES Клиенты (КодКлиента),
КодПродавца integer REFERENCES Продавцы (КодПродавца));

CREATE TABLE Заказы
(КодПокупкиinteger,
СуммаПокупки double,
ДатаПокупки date,
КодКлиента integer,
КодПродавца integer,
FOREIGN KEY (КодКлиента) REFERENCES Клиенты (КодКлиента),
FOREIGN KEY (КодПродавца) REFERENCES Продавцы (КодПродавца));

Ограничение на столбец

Ограничение на таблицу

Слайд 20

Операторы SQL

INSERT (ввод значений):
INSERT INTO


[(column [,column] ...)]
VALUES
( [,] ... );

INSERT INTO Продавцы
VALUES (11, 'Браун', 'Лондон', 0.12);

INSERT INTO Продавцы (ИмяПродавца, Комиссионные, КодПродавца, Город)
VALUES ('Браун',0.12, 11, 'Лондон');

Слайд 21

Операторы SQL

DELETE (удаление строк):
DELETE FROM


[WHERE search–condition];

DELETE FROM Продавцы;


DELETE FROM Продавцы
WHERE КодПродавца = 13;

Удаление всего содержимого таблицы

Удаление строки

Слайд 22

Операторы SQL

UPDATE (изменение значения поля):

Первый вариант:
UPDATE


SET column = expression [, column = expression] ...
[WHERE search–condition]
где expression – это столбец | выражение | константа | переменная.
Второй вариант:
UPDATE

SET column = expression, ...
[ FROM table–list ]
[ WHERE search–condition ]

Слайд 23

Операторы SQL

UPDATE Клиенты
SET Рейтинг = 200;

UPDATE Клиенты
SET Рейтинг = 200


WHERE КодПродавца = 11;

Модифицирование определенных строк

Использование арифметических выражений

UPDATE Продавцы
SET Комиссионные = Комиссионные * 2;

Изменить рейтинг всех клиентов на 200

Слайд 24

Операторы SQL

SELECT (извлечение информации):
SELECT [DISTINCT| ALL] {* | [<СПИСОК СТОЛБЦОВ>]} FROM <СПИСОК

ТАБЛИЦ>
[WHERE <предикат-условие выборки или соединения;>] [GROUP BY <список полей результата>]
[HAVING <предикат-условие для группы>]
[ORDER BY <список полей, по которым требуется упорядочить ВЫВОД>]

Слайд 25

Операторы SQL

Задача. Вывести номера телефонов кафедр университета.
SELECT Name_kaf, Nom_telef
FROM kafedra;
Результат:

Слайд 26

Операторы SQL

Задача. Вывести сведения о кафедре «Графики».
SELECT *
FROM kafedra
WHERE Name_kaf = 'Графики';
Результат:

Слайд 27

Операторы SQL

Задача. Вывести сведения о кафедрах университета, находящихся па первом этаже, учитывая тот

факт, что номера аудиторий первого этажа лежат в диапазоне от 1 до 99.
SELECT * FROM kafedra
WHERE NonuAuditoria BETWEEN 1 AMD 99;
Результат:

Слайд 28

Операторы SQL

Задача. Вывести сведения о кафедрах университета в виде, отсортированном по столбцу Name_kaf

в порядке возрастания.
SELECT *
FROM kafedra
ORDER BY Namejtaf ASC;
Результат:

Слайд 29

Агрегатные функции языка SQL

COUNT — возвращает количество значений в указанном столбце;

SUM — возвращает

сумму значений в указанном столбце;

AVG — возвращает усредненное значение в указанном столбце;

MIN — возвращает минимальное значение в указанном столбце;

МАХ — возвращает максимальное значение в указанном столбце.

Слайд 30

Задача. Определить среднее число сотрудников, работающих на кафедрах университета.
SELECT AVG(Col_sotr) AS avg
FROM kafedra;
Результат:

Агрегатные

функции языка SQL

Слайд 31

Задача. Вывести список платежей, где величина единовременных начислении превысила среднее значение.
SELECT ФИО, Этап,

Начисления
FROM r
WHERE Начисления > (SELECT avg(Начисления) FROM r);
Результат:

Вложенные запросы SQL

Слайд 32

SELECT *
FROM rl, r2;
и соответствует декартову произведению таблиц r1 и r2.
Выражение
SELECT rl.A, r2.B
FROM

rl, r2;
соответствует проекции декартова произведения двух таблиц на два столбца А из таблицы r1 и В из таблицы r2.

Многотабличные запросы SQL

Слайд 33

База данных «НИР»
R1 = (ФИО, Отдел);
R2= (Отдел, Этап);
R3= (ФИО, Этап, Начисления).

Слайд 34

Задача. Вывести список сотрудников отдела 03, которые
участвовали в выполнении Этапа_3.
SELECT r3.ФИО, r3.Этап
FROM rl,

r3
WHERE rl.Отдел = '03' AND
rl.ФИО = r3.ФИО AND
r.Этап = 'Этап_3';
Результат:

Вложенные запросы SQL

Слайд 35

База данных «Сессия»
S1 = (ФИО, Дисциплина, Оценка) —
содержит сведения о результатах сессии;
S2=

(ФИО, Группа) —
содержит сведения о составе групп;
S3 = (Группа, Дисциплина) —
содержит перечень экзаменов, подлежащих сдаче.

Слайд 36

База данных «Сессия»

Слайд 37

Задача. Вывести группы, в которых по одной дисциплине на экзаменах получено больше одной

пятерки.
SELECT s2.Группа
FROM s1, s2
WHERE s1.ФИО = s2.ФИО AND
s1.Оценка = 5
GROUP BY s2.Группа , s1.Дисциплина
HAVING count (*)> 1;
Результат:

Вложенные запросы SQL

Имя файла: СУБД-IBM-System-R.-SEQUEL-Structured-English-QUEry-Language-—-структурированный-английский-язык-запросов.pptx
Количество просмотров: 28
Количество скачиваний: 0