Get Started. It's Free
or sign up with your email address
СУБД MySQL by Mind Map: СУБД MySQL

1. Связи

1.1. Один к одному

1.1.1. Это самый простой вид связи, который говорит: одной записи из этой таблицы соответствует только одна запись из другой таблицы. Если мы сделаем новую таблицу с фотографиями клиентов, то каждой фотографии будет соответствовать только один клиент и наоборот.

1.2. Один ко многим

1.2.1. Когда у нас есть таблица с клиентами и таблица с их покупками, тут работает связь «один ко многим». Это значит, что у нас одной записи о клиенте соответствует несколько записей об их покупках, например, если он их сделал в разное время. Благодаря этой связи мы можем вывести все покупки для каждого клиента в отдельности.

1.3. Многие ко многим

1.3.1. Нужна отдельная таблица. мы делаем промежуточную таблицу, в которой соединяем данные из одной таблицы с данными из другой. Получается, что в новой таблице как бы нет данных — в ней только связи.

2. Характеристики

2.1. Гибкость и простота в использовании

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

2.2. Высокая производительность

2.2.1. Широкий спектр кластерных серверов поддерживает MySQL. Независимо от того, храните ли вы большие объёмы данных электронной коммерции или выполняете тяжелую бизнес-аналитику, MySQL может помочь вам с оптимальной скоростью.

2.3. Промышленный стандарт

2.3.1. Отрасли используют MySQL в течение многих лет, а это означает, что для опытных разработчиков имеются обильные ресурсы. Пользователи MySQL могут рассчитывать на быструю разработку программного обеспечения, а эксперты-фрилансеры, желающие работать в меньшей степени, будут нуждаться в них.

2.4. Безопасность

2.4.1. Безопасность ваших данных должна быть вашей главной задачей при выборе правильного программного обеспечения СУРБД. С помощью системы доступа и управления учётными записями MySQL устанавливает высокий уровень безопасности. Доступна проверка на основе хоста и шифрование пароля.

3. Типы данных

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

3.1.1. TINYINT

3.1.1.1. представляет целые числа от -127 до 128, занимает 1 байт

3.1.2. BOOL

3.1.2.1. фактически не представляет отдельный тип, а является лишь псевдонимом для типа TINYINT(1) и может хранить два значения 0 и 1. Однако данный тип может также в качестве значения принимать встроенные константы TRUE (представляет число 1) и FALSE (предоставляет число 0).

3.1.3. TINYINT UNSIGNED

3.1.3.1. представляет целые числа от 0 до 255, занимает 1 байт

3.1.4. SMALLINT

3.1.4.1. представляет целые числа от -32768 до 32767, занимает 2 байтa

3.1.5. SMALLINT UNSIGNED

3.1.5.1. представляет целые числа от 0 до 65535, занимает 2 байтa

3.1.6. MEDIUMINT

3.1.6.1. представляет целые числа от -8388608 до 8388607, занимает 3 байта

3.1.7. MEDIUMINT UNSIGNED

3.1.7.1. представляет целые числа от 0 до 16777215, занимает 3 байта

3.1.8. INT

3.1.8.1. представляет целые числа от -2147483648 до 2147483647, занимает 4 байта

3.1.9. INT UNSIGNED

3.1.9.1. представляет целые числа от 0 до 4294967295, занимает 4 байта

3.1.10. BIGINT

3.1.10.1. представляет целые числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, занимает 8 байт

3.1.11. BIGINT UNSIGNED

3.1.11.1. представляет целые числа от 0 до 18 446 744 073 709 551 615, занимает 8 байт

3.1.12. DECIMAL

3.1.12.1. хранит числа с фиксированной точностью. Данный тип может принимать два параметра precision и scale: DECIMAL(precision, scale).

3.1.13. FLOAT

3.1.13.1. хранит дробные числа с плавающей точкой одинарной точности от -3.4028 * 1038 до 3.4028 * 1038, занимает 4 байта

3.1.14. DOUBLE

3.1.14.1. хранит дробные числа с плавающей точкой двойной точности от -1.7976 * 10308 до 1.7976 * 10308, занимает 8 байт

3.2. Символьные типы

3.2.1. Основные

3.2.1.1. VARCHAR

3.2.1.1.1. представляет стоку переменной длины. Длина хранимой строки также указыватся в скобках, например, VARCHAR(10). Однако в отличие от CHAR хранимая строка будет занимать именно столько места, скольо необходимо. Например, если определеная длина в 10 символов, но в столбец сохраняется строка в 6 символов, то хранимая строка так и будет занимать 6 символов плюс дополнительный байт, который хранит длину строки.

3.2.1.2. CHAR

3.2.1.3. представляет стоку фиксированной длины. Длина хранимой строки указыватся в скобках, например, CHAR(10) - строка из десяти символов. И если в таблицу в данный столбец сохраняется строка из 6 символов (то есть меньше установленной длины в 10 символов), то строка дополняется 4 проблеми и в итоге все равно будет занимать 10 символов

3.2.2. Дополнительные

3.2.2.1. TINYTEXT

3.2.2.1.1. представляет текст длиной до 255 байт.

3.2.2.2. TEXT

3.2.2.2.1. представляет текст длиной до 65 КБ.

3.2.2.3. MEDIUMTEXT

3.2.2.3.1. представляет текст длиной до 16 МБ

3.2.2.4. LARGETEXT

3.2.2.4.1. представляет текст длиной до 4 ГБ

3.3. Составные типы

3.3.1. SET

3.3.1.1. может хранить несколько значений (до 64 значений) из некоторого списка допустимых значений. Занимает 1-8 байт

3.3.2. ENUM

3.3.2.1. хранит одно значение из списка допустимых значений. Занимает 1-2 байта

3.4. Типы для работ с датой и временем

3.4.1. DATE

3.4.1.1. хранит даты с 1 января 1000 года до 31 декабря 9999 года (c "1000-01-01" до "9999-12-31"). По умолчанию для хранения используется формат yyyy-mm-dd. Занимает 3 байта.

3.4.2. TIME

3.4.2.1. хранит время от -838:59:59 до 838:59:59. По умолчанию для хранения времени применяется формат "hh:mm:ss". Занимает 3 байта

3.4.3. DATETIME

3.4.3.1. объединяет время и дату, диапазон дат и времени - с 1 января 1000 года по 31 декабря 9999 года (с "1000-01-01 00:00:00" до "9999-12-31 23:59:59"). Для хранения по умолчанию используется формат "yyyy-mm-dd hh:mm:ss". Занимает 8 байт

3.4.4. TIMESTAMP

3.4.4.1. также хранит дату и время, но в другом диапазоне: от "1970-01-01 00:00:01" UTC до "2038-01-19 03:14:07" UTC. Занимает 4 байта

3.4.5. YEAR

3.4.5.1. хранит год в виде 4 цифр. Диапазон доступных значений от 1901 до 2155. Занимает 1 байт.

3.5. Бинарные типы

3.5.1. TINYBLOB

3.5.1.1. хранит бинарные данные в виде строки длиной до 255 байт

3.5.2. BLOB

3.5.2.1. хранит бинарные данные в виде строки длиной до 65 КБ

3.5.3. MEDIUMBLOB

3.5.3.1. хранит бинарные данные в виде строки длиной до 16 МБ

3.5.4. LARGEBLOB

3.5.4.1. хранит бинарные данные в виде строки длиной до 4 ГБ

4. Структура базы данных

4.1. База данных

4.1.1. Таблица

4.1.1.1. Поля таблицы

4.1.1.1.1. Записи в таблице