304.29K
Category: databasedatabase

ИК Базы данных. Урок 1

1.

Урок 1
Базы данных
Типы баз данных. Основы реляционных баз
данных. СУБД MySQL. Клиенты. Управление
базами данных

2.

Типы баз данных
Данные и программы
Иерархические базы данных
Сетевые базы данных
Реляционные базы данных
NoSQL-базы данных
Базы данных в современных приложениях

3.

Данные живут дольше программ
Десктопная программа
Web-сайт
Мобильное приложение
База данных

4.

База данных
База данных

5.

Трудности работы с файлами
Трудно добиться компактности
Сложно обеспечить конкурентный доступ
Затруднено удаление и редактирование данных
Сканирование всех данных во время поиска
Файл может не помещаться на компьютере
Конфликты при совместном редактировании

6.

История развития СУБД
Иерархические
Сетевые
Реляционные
NoSQL

7.

Иерархические СУБД
Транспорт
Водный
Речной
Воздушный
Морской
Наземный
Автотранспорт
Ж/Д

8.

Отношение многие-ко-многим
Книги
Базы данных
Сеть
Книга2
Видео
Книга 1

9.

Сетевая база данных
Видео
Автор 1
Книга 1
Сеть
Автор 2
Книга2
Базы данных
Автор 2

10.

Реляционные базы данных
name
id
author_id
Автор 1
1
1
Автор 2
2
Автор 3
3
book_id
id
name
1
1
Книга 1
2
2
2
Книга 2
3
2

11.

Эдгар Кодд
Правила функционирования реляционных баз
данных были сформулированы доктором Э.Ф.
Коддом в 1970 году.
С работы Кодда берут начало все
современные реляционные базы данных.
Первая РСУБД Oracle появилась в 1979 году.

12.

Реляционные СУБД
Oracle
MySQL
MS SQL
PostgreSQL
DB2
Firebird

13.

Укрупнение проектов в Интернет
1990
сейчас
2010
2000
сервер
сайт
сайт
сайт
сервер
сервер
сайт
сайт
сервер
сервер
сайт
сайт
сервер
сервер

14.

Укрупнение проектов в Интернет
1990
2010
2000
сайт
сайт
сайт
сейчас
сайт

15.

NoSQL базы данных
Redis
MongoDB
ElasticSearch
ClickHouse
Cassandra

16.

Redis: один поток обслуживает все
соединения

17.

Шардирование

18.

Распределенная база данных

19.

Разрыв связи между базами данных

20.

Совместное использование СУБД
Код приложения
Redis
Кэш в
оперативной
памяти
MySQL
ElasticSearch
ClickHouse
Основная база
данных
Полнотекстовы
й поиск
Колоночная
база данных
для статистики

21.

Совместное использование СУБД
Код приложения
Redis
Кэш в
оперативной
памяти
MySQL
ElasticSearch
ClickHouse
Основная база
данных
Полнотекстовы
й поиск
Колоночная
база данных
для статистики

22.

Совместное использование СУБД
Код приложения
Redis
Кэш в
оперативной
памяти
MySQL
ElasticSearch
ClickHouse
Основная база
данных
Полнотекстовы
й поиск
Колоночная
база данных
для статистики

23.

Совместное использование СУБД
Код приложения
Redis
Кэш в
оперативной
памяти
MySQL
ElasticSearch
ClickHouse
Основная база
данных
Полнотекстовы
й поиск
Колоночная
база данных
для статистики

24.

Совместное использование СУБД
Код приложения
Redis
Кэш в
оперативной
памяти
MySQL
ElasticSearch
ClickHouse
Основная база
данных
Полнотекстовы
й поиск
Колоночная
база данных
для статистики

25.

Урок 1
Базы данных
Типы баз данных. Основы реляционных баз
данных. СУБД MySQL. Клиенты. Управление
базами данных

26.

Основы реляционных баз данных
Реляционные базы данных
Таблицы, строки и столбцы
Первичные и внешние ключи
Транзакции. ACID
CAP-теорема

27.

Таблица
Столбец
Строка
id
name
1
Процессоры
15
2
Видеокарты
10
3
Материнские платы
24
4
Оперативная память
12
total

28.

База данных
catalogs
users
products

29.

Таблица catalogs
id
name
1
Процессоры
15
2
Видеокарты
10
3
Материнские платы
24
4
Оперативная память
12
total

30.

Таблица catalogs
id
name
1
Процессоры
15
2
Видеокарты
10
3
Материнские платы
24
4
Оперативная память
12
total

31.

Таблица catalogs
id
name
1
Процессоры
15
3
Материнские платы
24
4
Оперативная память
12
2
Видеокарты
10
total

32.

Таблица catalogs
id
name
3
Материнские платы
24
1
Процессоры
15
4
Оперативная память
12
2
Видеокарты
10
total

33.

Таблица catalogs
id
name
3
Материнские платы
24
4
Оперативная память
12
2
Видеокарты
10
1
Процессоры
15
total

34.

Пустая таблица: ноль строк
id
name
total

35.

Первичный ключ (primary key)
id
name
1
Процессоры
15
2
Видеокарты
10
3
Материнские платы
24
4
Оперативная память
12
total

36.

Категории и товары
categories
Процессоры
Intel Core i7
Видеокарты
AMD Ryzen 3
Intel Core i5
GeForce GTX 1060
Radeon RX 580
GeForce GTX 1070

37.

Связи между таблицами
products
categories
id
name
1
category_id
id
name
Intel Core i7
1
1
Процессоры
2
Intel Xeon Silver
1
2
Видеокарты
3
AMD Ryzen 3
1
4
GeForce GTX 1060
2
5
GeForce GTX 1070
2
6
Radeon RX 580
2

38.

Транзакции
SELECT
SELECT
INSERT
INSERT
INSERT
ERROR
UPDATE
UPDATE

39.

ACID
Atomicy — атомарность
Consistency — согласованность
Isolation — изолированность
Durability — сохраняемость

40.

CAP-теорема
Доступность
Availibility
Согласованность
Consistency
Устойчивость к разделению
Partition tolerance

41.

CAP-теорема
A
MySQL
PostgreSQL
C
Cassandra
Riak
Redis
MongoDB
P

42.

Урок 1
Базы данных
Типы баз данных. Основы реляционных баз
данных. СУБД MySQL. Клиенты. Управление
базами данных

43.

СУБД MySQL и клиенты
СУБД MySQL
Клиент-серверное взаимодействие
Утилита mysql
Конфигурационный файл .my.cnf
Утилита mysqldump SQL-дамп

44.

Архитектура MySQL
Ядро
InnoDB
MyISAM
Memory
Archive

45.

Сервер как правило один,
клиентов — много
Клиент
Клиент
Клиент
Клиент
Клиент

46.

Клиенты MySQL
DBeaver
mysql
Ruby
Python
Java

47.

Команды mysql
Команда
Сокращение
Описание
USE
\u
Выбор базы данных
SOURCE
\.
Выполнение SQL-команд из файла
SYSTEM
\!
Выполнение команды операционной системы
STATUS
\s
Вывод информации о состоянии сервера
EXIT
\q
Выход
\G
Вывод результата в вертикальном формате

48.

Урок 1
Базы данных
Типы баз данных. Основы реляционных баз
данных. СУБД MySQL. Клиенты. Управление
базами данных

49.

Управление базами данных
Создание и удаление баз данных
Текущая база данных
Создание и удаление таблиц
Оператор SHOW
Информационная схема
Документация

50.

Создание таблицы
CREATE TABLE имя_таблицы (
имя_столбца параметры,
имя_столбца параметры,
...
)

51.

Домашнее задание
Установите СУБД MySQL. Создайте в домашней директории
файл .my.cnf, задав в нем логин и пароль, который указывался
при установке.
Создайте базу данных example, разместите в ней таблицу users,
состоящую из двух столбцов, числового id и строкового name.
Создайте дамп базы данных example из предыдущего задания,
разверните содержимое дампа в новую базу данных sample.

52.

Домашнее задание
(по желанию) Ознакомьтесь более подробно с документацией
утилиты mysqldump. Создайте дамп единственной таблицы
help_keyword базы данных mysql. Причем добейтесь того, чтобы
дамп содержал только первые 100 строк таблицы.
English     Русский Rules