Презентация

Базы данных: вводный разбор для новичка

Базовое объяснение, зачем приложениям базы данных, чем SQL отличается от NoSQL и почему без индексов и транзакций быстро становится больно.

О чем этот материал

SQL, NoSQL, первичные ключи, индексы, транзакции и нормальный старт для понимания БД.

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

Что внутри

Ниже краткий план материала. По нему удобно понять, в каком порядке разбирать тему.

  1. Поговорим о том, что Базы Данных и зачем они нужны
  2. Поговорим о типах БД - реляционные, noSQL,
  3. Поговорим об основных терминах (PK, транзакции, индексы)
  4. Разберем вопросы

Базы Данных

Банки, Мобильные операторы, соцсети, продажи, списки сотрудников, та вообще все!

  • Персистентное (постоянное) хранение данных (и не очень)
  • Данные структурированы (или не очень)
  • Храним практически все

Базы Данных. Типы

Иллюстрация к теме Базы Данных. Типы
Иллюстрация из учебного материала.

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

Преимущества

Гибкость Структуры: Позволяют хранить неструктурированные и полуструктурированные данные, облегчая работу с разнообразными форматами

данных.

Масштабируемость: Хорошо подходят для горизонтального масштабирования, что идеально для обработки больших объемов данных и высоких нагрузок.