Базы данных. Введение в SQL. Типы данных. Индексы. CRUD-операции

Содержание

Слайд 2

План урока

Введение в SQL
Числовые и строковые типы данных
Календарные типы данных и множества
Индексы
CRUD-операции

План урока Введение в SQL Числовые и строковые типы данных Календарные типы

Слайд 3

Введение в SQL

Стандарт SQL
Описание данных DDL
Управление данными DML
Комментарии
Ключевые слова
Кавычки и их использование

Введение в SQL Стандарт SQL Описание данных DDL Управление данными DML Комментарии

Слайд 4

Язык SQL


SEQUEL — Structured English Query Language

SQL — Structured Query Language

Язык SQL SEQUEL — Structured English Query Language SQL — Structured Query Language

Слайд 5

Достоинства SQL

Декларативная природа
Высокоуровневая струра, напоминающая естественный язык
Высокая эффективности обработки множеств
Независимость от конкретных

Достоинства SQL Декларативная природа Высокоуровневая струра, напоминающая естественный язык Высокая эффективности обработки
СУБД
Межплатформенная переносимость
Наличие стандартов


Слайд 6

Недостатки SQL

Слабоструктурированный язык
Язык старый
Плохо взаимодействует с ООП-языками
SQL — не универсальный язык
Множество диалектов

Недостатки SQL Слабоструктурированный язык Язык старый Плохо взаимодействует с ООП-языками SQL —

Слайд 7

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

Комментарии
Скалярные выражения
Ключевые слова
Операторы
Таблицы
Столбцы
Индексы


Предопределенные функции
Представления
Переменные
Хранимые процедуры
Хранимые функции
Триггеры
Коды ошибок

Элементы языка Комментарии Скалярные выражения Ключевые слова Операторы Таблицы Столбцы Индексы Предопределенные

Слайд 8

DDL и DML


DDL (Data Definition Language) — язык описания данных

DML

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

Слайд 9

Структура запроса


SELECT
id,
name
FROM
users
WHERE
name = ‘Игорь’

Ключевые слова

Скалярное выражение

Таблица

Столбцы

Структура запроса SELECT id, name FROM users WHERE name = ‘Игорь’ Ключевые

Слайд 10

Базы данных

Введение в SQL. Типы данных. Индексы. CRUD-операции


Урок 2

Базы данных Введение в SQL. Типы данных. Индексы. CRUD-операции Урок 2

Слайд 11

Числовые и строковые типы данных

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


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

Слайд 12

Типы данных MySQL


Числовые
Строковые
NULL
Календарные
Коллекции

Типы данных MySQL Числовые Строковые NULL Календарные Коллекции

Слайд 13

Атрибуты


NULL или NOT NULL
DEFAULT
UNSIGNED

Атрибуты NULL или NOT NULL DEFAULT UNSIGNED

Слайд 14

Атрибут UNSIGNED


–2 147 683 648

2 147 683 647

INT

INT UNSIGNED

0

4

Атрибут UNSIGNED –2 147 683 648 2 147 683 647 INT INT
294 967 295

–231

231

232

Слайд 15

Числовые типы


Числовые

Вещественные

Точные

Целочисленные

DECIMAL

FLOAT
DOUBLE

TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT

Числовые типы Числовые Вещественные Точные Целочисленные DECIMAL FLOAT DOUBLE TINYINT SMALLINT MEDIUMINT INT BIGINT

Слайд 16

Объем памяти целых типов


TINYINT

SMALLINT

MEDIUMINT

INT

BIGINT

Объем памяти целых типов TINYINT SMALLINT MEDIUMINT INT BIGINT

Слайд 17

Объем памяти вещественных типов


FLOAT

DOUBLE

DECIMAL(7,4)

1

1

1

.

2

0

0

0

Объем памяти вещественных типов FLOAT DOUBLE DECIMAL(7,4) 1 1 1 . 2 0 0 0

Слайд 18

Строковые типы


Строковые

Переменные

BLOB

Фиксированные

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

VARCHAR

CHAR

Строковые типы Строковые Переменные BLOB Фиксированные TINYTEXT TEXT MEDIUMTEXT LONGTEXT VARCHAR CHAR

Слайд 19

CHAR vs VARCHAR


Запись фиксированной длины

Запись переменной длины

INT

INT

CHAR

CHAR

INT

INT

VARCHAR, NULL

65536

CHAR vs VARCHAR Запись фиксированной длины Запись переменной длины INT INT CHAR

Слайд 20

Объем памяти типа TEXT


TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

8

8

8

8

8

8

8

8

8

8

28

216

224

232

Объем памяти типа TEXT TINYTEXT TEXT MEDIUMTEXT LONGTEXT 8 8 8 8

Слайд 21

Объем памяти типа TEXT


TINYTEXT

TEXT

MEDIUMTEXT

LONGTEXT

28

216

224

232

256

65536

16777216 (16 Мб)

4294967296 (4 Гб)

Объем памяти типа TEXT TINYTEXT TEXT MEDIUMTEXT LONGTEXT 28 216 224 232

Слайд 22

TEXT и BLOB медленнее других типов


Запись фиксированной длины

Запись переменной длины

INT

INT

CHAR

CHAR

INT

INT

VARCHAR, NULL

65536

TEXT

BLOB

TEXT и BLOB медленнее других типов Запись фиксированной длины Запись переменной длины

Слайд 23

Базы данных

Введение в SQL. Типы данных. Индексы. CRUD-операции


Урок 2

Базы данных Введение в SQL. Типы данных. Индексы. CRUD-операции Урок 2

Слайд 24

Календарные типы и множества

Значение NULL
Календарные типы
ENUM
SET
JSON тип
Изменение структуры таблицы при помощи ALTER

Календарные типы и множества Значение NULL Календарные типы ENUM SET JSON тип
TABLE


Слайд 25

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 26

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 27

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 28

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 29

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 30

Календарные типы


Календарные типы

DATETIME

TIMESTAMP

DATE

YEAR

TIME

Календарные типы Календарные типы DATETIME TIMESTAMP DATE YEAR TIME

Слайд 31

Формат календарных типов


Формат календарных типов

Слайд 32

Объем памяти календарных типов


YEAR

DATE

TIME

TIMESTAMP

DATETIME

Объем памяти календарных типов YEAR DATE TIME TIMESTAMP DATETIME

Слайд 33

ENUM и SET


ENUM

SET

‘first’,’second’,’third’

first

third

first,third

first,second,third

ENUM и SET ENUM SET ‘first’,’second’,’third’ first third first,third first,second,third

Слайд 34

Базы данных

Введение в SQL. Типы данных. Индексы. CRUD-операции


Урок 2

Базы данных Введение в SQL. Типы данных. Индексы. CRUD-операции Урок 2

Слайд 35

Индексы

Индексы
Устройство индекса
Типы индексов
Атрибут AUTO_INCREMENT
Управление индексами


Индексы Индексы Устройство индекса Типы индексов Атрибут AUTO_INCREMENT Управление индексами

Слайд 36

Сортировка в индексе


1

2

3

4

5

6

4

6

2

5

1

3

Модули памяти

Блоки питания

Материнские платы

Жесткие диски и SSD

Процессоры

Видеокарты

Сортировка в индексе 1 2 3 4 5 6 4 6 2

Слайд 37

Типы индексов


индексы

уникальные,
первичный ключ

полнотекстовый

Обычные

Типы индексов индексы уникальные, первичный ключ полнотекстовый Обычные

Слайд 38

Типы индексов


индексы

уникальные,
первичный ключ

полнотекстовый

Обычные

Типы индексов индексы уникальные, первичный ключ полнотекстовый Обычные

Слайд 39

Типы индексов


индексы

уникальные,
первичный ключ

полнотекстовый

Обычные

Типы индексов индексы уникальные, первичный ключ полнотекстовый Обычные

Слайд 40

Типы индексов


индексы

уникальные,
первичный ключ

полнотекстовый

Обычные

Типы индексов индексы уникальные, первичный ключ полнотекстовый Обычные

Слайд 41

Псевдотип SERIAL


SERIAL == BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

Псевдотип SERIAL SERIAL == BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

Слайд 42

Индексы BTREE


4

2

6

3

1

7

5

4

3

2

1

7

6

5

Индексы BTREE 4 2 6 3 1 7 5 4 3 2 1 7 6 5

Слайд 43

Индексы HASH


Обычный индекс

Уникальный индекс

индекс

данные

индекс

данные

Индексы HASH Обычный индекс Уникальный индекс индекс данные индекс данные

Слайд 44

Индекс по нескольким столбцам


1990

1990

1990

1991

1991

1991

Абакумов

Борисов

Сергеев

Антонов

Ковалев

Трофимов

Сергей

Игорь

Вячеслав

Антон

Сергей

Александр

SELECT * FROM tbl
WHERE
year = 1990 AND

Индекс по нескольким столбцам 1990 1990 1990 1991 1991 1991 Абакумов Борисов
last_name = Борисов

year

last_name

first_name

SELECT * FROM tbl
WHERE year = 1990

SELECT * FROM tbl
WHERE first_name = ‘Сергей’

Слайд 45

Базы данных

Введение в SQL. Типы данных. Индексы. CRUD-операции


Урок 2

Базы данных Введение в SQL. Типы данных. Индексы. CRUD-операции Урок 2

Слайд 46

CRUD-операции

Введение в CRUD-операции
Вставка данных
Извлечение данных
Обновление данных
Удаление данных
Команда INSERT ... SELECT


CRUD-операции Введение в CRUD-операции Вставка данных Извлечение данных Обновление данных Удаление данных Команда INSERT ... SELECT

Слайд 47

CRUD-операции


INSERT

SELECT

UPDATE

DELETE

CREATE

READ

UPDATE

DELETE

CRUD-операции INSERT SELECT UPDATE DELETE CREATE READ UPDATE DELETE

Слайд 48

Вставка. Оператор INSERT

Однострочная вставка
INSERT INTO catalogs VALUES (NULL, ‘Процессоры’);
INSERT INTO catalogs VALUES

Вставка. Оператор INSERT Однострочная вставка INSERT INTO catalogs VALUES (NULL, ‘Процессоры’); INSERT
(NULL, ‘Мат.платы’);
INSERT INTO catalogs VALUES (NULL, ‘Видеокарты’);


Многострочная вставка
INSERT INTO catalogs VALUES
(NULL, ‘Процессоры’),
(NULL, ‘Мат.платы’),
(NULL, ‘Видеокарты’);

Слайд 49

Удаление данных

Удаление данных
DELETE FROM catalogs


Очистка таблицы
TRUNCATE catalogs

Удаление данных Удаление данных DELETE FROM catalogs Очистка таблицы TRUNCATE catalogs

Слайд 50

Домашнее задание

Пусть в таблице catalogs базы данных shop в строке name могут

Домашнее задание Пусть в таблице catalogs базы данных shop в строке name
находиться пустые строки и поля принимающие значение NULL. Напишите запрос, который заменяет все такие поля на строку ‘empty’. Помните, что на уроке мы установили уникальность на поле name. Возможно ли оставить это условие? Почему?
Спроектируйте базу данных, которая позволяла бы организовать хранение медиа-файлов, загружаемых пользователем (фото, аудио, видео). Сами файлы будут храниться в файловой системе, а база данных будет хранить только пути к файлам, названия, описания, ключевых слов и принадлежности пользователю.


Слайд 51

Домашнее задание

(по желанию) В учебной базе данных shop присутствует таблица catalogs. Пусть

Домашнее задание (по желанию) В учебной базе данных shop присутствует таблица catalogs.
в базе данных sample имеется таблица cat, в которой могут присутствовать строки с такими же первичными ключами. Напишите запрос, который копирует данные из таблицы catalogs в таблицу cat, при этом для записей с конфликтующими первичными ключами в таблице cat должна производиться замена значениями из таблицы catalogs.


Имя файла: Базы-данных.-Введение-в-SQL.-Типы-данных.-Индексы.-CRUD-операции.pptx
Количество просмотров: 72
Количество скачиваний: 0