Основы реляционных баз данных и SQL

Sep 5, 2024

Чихают ли рыбы?

Не знаем, но точно знаем, что у современных баз данных куча нюансов.

Введение

  • Пример сбора денег на подарок.
  • Запись данных на бумажке = база данных.
  • Переход в цифровое пространство = Excel-файл.

Ограничения Excel-файла

  • С увеличением объема данных требуется связывать их между собой.
  • Один Excel-файл не подходит для больших объемов данных.

Создание аналогичного YouTube

  • Хранение данных о пользователях, каналах, видео.
  • Неудобно хранить все в одной таблице.
  • Разделение на сущности: пользователи, каналы, видео.

Реляционные базы данных

  • Связанные таблицы.
  • Процесс нормализации: избавление от избыточных данных.
  • Первичный ключ (Primary Key) и внешний ключ (Foreign Key).

Типы связей между таблицами

  1. Один ко многим (или многие к одному)
    • Пример: одно видео может принадлежать только одному каналу, но на канале может быть много видео.
  2. Один к одному
    • Один пользователь = один канал (редко используется).
  3. Многие к многим
    • Промежуточная таблица для связей между двумя сущностями.

Системы управления базами данных (СУБД)

  • Определение СУБД: программа для создания и администрирования реляционных баз данных.
  • Использование языка SQL (Structured Query Language).

Примеры SQL-запросов

  • Запрос на получение названий видео с одного канала.
  • Использование JOIN для объединения таблиц.

Обзор курса по SQL

  • Курс с Олегом Филипповым по проектированию и администрированию баз данных.
  • Работа с PostgreSQL, MSSQL, MySQL.

Схема баз данных

  • Описание структуры таблицы, полей и ограничений.
  • Изменения в схеме касаются всех данных в таблице.

Ограничения для целостности данных

  • Первичный и внешний ключи.
  • Уникальность и ограничения полей.

Транзакции

  • Объединение нескольких SQL-запросов в один.
  • Проблема потери соединения при выполнении запросов.
  • Использование транзакций для отката изменений.

Принципы АСИД

  • Атомарность: операция выполняется целиком или не выполняется.
  • Согласованность: данные должны соответствовать правилам.
  • Изолированность: транзакции не должны пересекаться.
  • Надежность: подтверждение выполнения транзакции.

Примеры реляционных баз данных

  • Microsoft SQL Server, Oracle Database, MySQL, MariaDB, PostgreSQL.

Нереляционные базы данных (NoSQL)

  • Упоминание о NoSQL базах данных.
  • Вопрос о самой большой и высоко нагруженной базе данных в мире.

Заключение

  • Ввод данных в базу данных YouTube, лайки, подписки.
  • Напоминание о том, что рыбы не чихают.