Основы SQL. Тема 4.1

Содержание

Слайд 2

УПРАВЛЕНИЕ ДАННЫМИ

ОНЛАЙН КУРС:

ТЕМА 4.1

Основы SQL

УПРАВЛЕНИЕ ДАННЫМИ ОНЛАЙН КУРС: ТЕМА 4.1 Основы SQL

Слайд 3

Вопрос 1

Что такое SQL

Вопрос 1 Что такое SQL

Слайд 4

(Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый

(Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый
для создания, модификации и управления данными в реляционных базах данных

SQL

Слайд 5

- информационно-логический язык

SQL

- информационно-логический язык SQL

Слайд 6

Структурированными
Неструктурированными
Слабоструктурированными

Преимущества языка

Структурированными Неструктурированными Слабоструктурированными Преимущества языка

Слайд 7

Сложность
Отсутствие полной совместимости

Недостатки языка

Сложность Отсутствие полной совместимости Недостатки языка

Слайд 8

DDL - язык определения объектов БД
DML - язык манипулирования данными и выборки
DCL

DDL - язык определения объектов БД DML - язык манипулирования данными и
- язык управления данными
DQL – язык запросов.
Transaction Control - язык управления транзакциями

Состав SQL

Слайд 9

Базы данных
Таблицы (и представления)
Индексы
Записи

SQL оперирует следующими объектами

Базы данных Таблицы (и представления) Индексы Записи SQL оперирует следующими объектами

Слайд 10

Команды
Операторы
Операнды
Функции

Элементы языка SQL

Команды Операторы Операнды Функции Элементы языка SQL

Слайд 11

В командах SQL не различаются прописные и строчные буквы (кроме содержимого символьных

В командах SQL не различаются прописные и строчные буквы (кроме содержимого символьных
строк).
Каждая команда может занимать несколько строк и заканчивается символом ';'.
Символ и символьная строка заключается в одинарные кавычки:
'А', '2' , 'строка', 'другая строка'

Элементы языка SQL

Слайд 12

Однострочный комментарий начинается с символов '--'.
Многострочный комментарий заключается в символы /* ...

Однострочный комментарий начинается с символов '--'. Многострочный комментарий заключается в символы /*
*/.

Элементы языка SQL

Слайд 13

Вопрос 2

Команды SQL

Вопрос 2 Команды SQL

Слайд 14

Команды DLL

CREATE – создание объекта
ALTER – изменения структуры объекта
DROP – удаление объекта

Команды DLL CREATE – создание объекта ALTER – изменения структуры объекта DROP – удаление объекта

Слайд 15

Сreate
Alter
Drop
_____тип_объекта имя_объекта [параметры];

Общий вид синтаксиса команд DDL:

Сreate Alter Drop _____тип_объекта имя_объекта [параметры]; Общий вид синтаксиса команд DDL:

Слайд 16

CREATE TABLE [имя_схемы.]имя_таблицы
( имя_поля тип_данных [(размер)] [NOT NULL]
[DEFAULT выражение]
[ограничения_целостности_поля…] .,..
[, ограничения_целостности_таблицы

CREATE TABLE [имя_схемы.]имя_таблицы ( имя_поля тип_данных [(размер)] [NOT NULL] [DEFAULT выражение] [ограничения_целостности_поля…]
.,..] )
[ параметры ];
ограничения_целостности (ОЦ):
[CONSTRAINT имя_ОЦ ] название_ОЦ [параметры]

Создание таблиц

Слайд 17

Типы данных

Символьные типы (CHAR [(длина)] – строка фиксированной длины, VARCHAR2 (длина) –

Типы данных Символьные типы (CHAR [(длина)] – строка фиксированной длины, VARCHAR2 (длина) – строка переменной длины)
строка переменной длины)

Слайд 18

Типы данных

Числовой тип (NUMBER [(точность[, масштаб])] – используется для представления чисел с

Типы данных Числовой тип (NUMBER [(точность[, масштаб])] – используется для представления чисел с заданной точностью)
заданной точностью)

Слайд 19

Типы данных

DATE – дата и время с точностью до секунды (sysdate –

Типы данных DATE – дата и время с точностью до секунды (sysdate
функция получения текущих даты и времени)

Слайд 20

Уникальность (значений атрибута или комбинации значений атрибутов):
UNIQUE (имя_атрибута1 [,имя_атрибута2,...])
Обязательность/необязательность:
NOT NULL / NULL

Ограничения

Уникальность (значений атрибута или комбинации значений атрибутов): UNIQUE (имя_атрибута1 [,имя_атрибута2,...]) Обязательность/необязательность: NOT
целостности Oracle в СУБД

Слайд 21

Первичный ключ:
PRIMARY KEY(имя_атрибута1 [, имя_атрибута2,...])
Внешний ключ:
FOREIGN KEY(имя_атрибута1 [, имя_атрибута2,...]) REFERENCES имя_таблицы [(имя_атрибута1

Первичный ключ: PRIMARY KEY(имя_атрибута1 [, имя_атрибута2,...]) Внешний ключ: FOREIGN KEY(имя_атрибута1 [, имя_атрибута2,...])
[, имя_атрибута2,...])]
Условие на значение поля:
CHECK (условие)

Ограничения целостности Oracle в СУБД

Слайд 22

Команды DML

INSERT – добавление строк в таблицу
Добавляет одну или несколько строк в

Команды DML INSERT – добавление строк в таблицу Добавляет одну или несколько строк в указанную таблицу.
указанную таблицу.

Слайд 23

Команды DML

UPDATE – изменение данных
Изменяет значения одного или нескольких полей в

Команды DML UPDATE – изменение данных Изменяет значения одного или нескольких полей
записях указанной таблицы.
Если ни одна строка не удовлетворяет условию, ни одна строка не будет обновлена.

Слайд 24

Команды DML

DELETE – удаление строк из таблицы
Удаляет одну или несколько строк из

Команды DML DELETE – удаление строк из таблицы Удаляет одну или несколько
таблицы. Если ни одна строка не удовлетворяет условию, ни одна строка не будет удалена.

Слайд 25

Потерянное обновление
«Грязное» чтение
Неповторяющееся чтение
Фантомное чтение – тут данные не изменяются/удаляются, а добавляются

Потерянное обновление «Грязное» чтение Неповторяющееся чтение Фантомное чтение – тут данные не
новые (фантомные) записи

Проблемы параллельного доступа к данным

Слайд 26

Неподтверждённое чтение — чтение незафиксированных всех транзакций
Подтверждённое чтение — чтение зафиксированных изменений

Неподтверждённое чтение — чтение незафиксированных всех транзакций Подтверждённое чтение — чтение зафиксированных
параллельных транзакций

Уровни изоляции
транзакций

Слайд 27

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

Повторяемое чтение — все изменения параллельных транзакций после начала своей недоступны Упорядоченный
все транзакции выполняются строго последовательно

Уровни изоляции
транзакций

Слайд 28

Явная – транзакция начинается оператором начала транзакции или вызовом API-функции
Автоматическая – режим

Явная – транзакция начинается оператором начала транзакции или вызовом API-функции Автоматическая –
по умолчанию – каждый оператор автоматически начинает транзакцию и подтверждает ее
Пакетная – в режиме MARS

Типы транзакций

Слайд 29

Вопрос 3

Операторы SQL

Вопрос 3 Операторы SQL

Слайд 30

Операторы DCL

GRANT предоставление разрешения на определенное действие с объектом
DENY устанавливает запрет на

Операторы DCL GRANT предоставление разрешения на определенное действие с объектом DENY устанавливает
действие с объектом
REVOKE удаляет разрешение или запрет

Слайд 31

Операторы DDL

CREATE – создает объект
ALTER – изменяет существующий объект или составные части

Операторы DDL CREATE – создает объект ALTER – изменяет существующий объект или
его
DROP – удаляет объект
TRUNCATE – очищает таблицу

Слайд 32

Операторы DML

SELECT – возвращает набор данных
UPDATE – изменяет существующие данные
INSERT – добавляет

Операторы DML SELECT – возвращает набор данных UPDATE – изменяет существующие данные
новые данные
MERGE – слияние наборов данных
DELETE – удаляет данные

Слайд 33

CRUD

термин компьютерной науки, и определяется как минимальный достаточный набор функций постоянного хранилища

CRUD термин компьютерной науки, и определяется как минимальный достаточный набор функций постоянного хранилища данных
данных

Слайд 34

Вопрос 4

Выполнение запросов

Вопрос 4 Выполнение запросов

Слайд 35

Пользователь и СУБД

Выполнение запросов

Пользователь и СУБД Выполнение запросов

Слайд 36

Выводы

Технически SQL языком не является
SQL используется для всего спектра работы с базой

Выводы Технически SQL языком не является SQL используется для всего спектра работы
данных
Для его использования надо помнить про особенности синтаксиса, как и в других языках