О чем этот материал
SQL, NoSQL, первичные ключи, индексы, транзакции и нормальный старт для понимания БД.
Это адаптированная версия учебной презентации: слайды разобраны в формате обычной статьи, чтобы материал было легче читать с телефона и возвращаться к нужным блокам позже.
Что внутри
Ниже краткий план материала. По нему удобно понять, в каком порядке разбирать тему.
- Поговорим о том, что Базы Данных и зачем они нужны
- Поговорим о типах БД - реляционные, noSQL,
- Поговорим об основных терминах (PK, транзакции, индексы)
- Разберем вопросы
Базы Данных
Банки, Мобильные операторы, соцсети, продажи, списки сотрудников, та вообще все!
- Персистентное (постоянное) хранение данных (и не очень)
- Данные структурированы (или не очень)
- Храним практически все
Базы Данных. Типы
SQL (Реляционные):
NoSQL:
большого объема
Графовые:
- Структурированный язык запросов (SQL)
- Данные хранятся в четко определенных таблицах.
- MySQL, PostgreSQL и Microsoft SQL Server.
- Для работы с большими объемами неструктурированных данных.
- Хорошо масштабируются и часто используются для хранения данных
- Документоориентированные: MongoDB, Elastic
- Key-Value: Redis
- Данные структурированы в виде узлов и ребер
- Применяются часто в соцсетях
- Neo4j
Базы Данных. SQL
SQL - Structured Query Language
данные в базах данных (часто сокращается как CRUD - Create, Read, Update, Delete).
реляционными базами данных, где данные организованы в таблицах.
PostgreSQL, Microsoft SQL Server), основной язык имеет стандартизированный набор команд.
- Язык Управления Данными: SQL позволяет создавать, читать, обновлять и удалять
- Работа с Реляционными Базами Данных: Применяется в основном для работы с
- Стандартизированный: Хотя существуют различные диалекты SQL (например, MySQL,
- Мощные Возможности Запросов: SQL обладает сложными и мощными возможностями
- Управление Структурой Базы Данных: Включает в себя команды для создания,
Базы Данных. SQL. Первичный ключ
Primary Key
(строку) в таблице базы данных.
таблицами.
нескольких полей, если это необходимо.
- Уникальная Идентификация: Первичный ключ уникально идентифицирует каждую запись
- Неизменность: Значение PK не должно изменяться в течение времени жизни записи.
- Использование в Связях: Первичные ключи используются для создания отношений между
- Одно или Комбинация Полей: Первичный ключ может быть одним полем или комбинацией
- Индексация: По умолчанию для первичных
Базы Данных. SQL. Индексы
Ускорение Поиска: Индексы позволяют быстрее находить записи, снижая время доступа, особенно в больших таблицах.
Структура: По своей сути, индекс - это отдельная структура данных
(например, B-дерево), которая хранит ключи и указатели на соответствующие строки в таблице.
Выборочное Создание: Индексы создаются для конкретных столбцов, которые часто используются в запросах. Не каждый столбец в таблице требует индексации.
Базы Данных. SQL. Индексы b Tree
Hashmap
Базы Данных. SQL. Нормализация https://habr.com/ru/articles/254773/
Базы Данных. SQL. Транзакции
Группа Операций: Транзакция представляет собой группу операций с базой данных, которые должны быть выполнены целиком. Если любая из операций не удается, вся транзакция откатывается.
ACID-свойства: Транзакции обеспечивают четыре основных свойства: Атомарность (Atomicity),
Согласованность (Consistency), Изолированность (Isolation), и Долговечность (Durability). Эти свойства гарантируют надежное и предсказуемое управление данными.
Атомарность: Это свойство гарантирует, что все операции внутри транзакции либо выполняются полностью, либо не выполняются вовсе. Нет частично выполненных транзакций.
Базы Данных. noSQL. Elasticsearch
Базы Данных. noSQL
Преимущества
Гибкость Структуры: Позволяют хранить неструктурированные и полуструктурированные данные, облегчая работу с разнообразными форматами
данных.
Масштабируемость: Хорошо подходят для горизонтального масштабирования, что идеально для обработки больших объемов данных и высоких нагрузок.