Чихают ли рыбы?
Не знаем, но точно знаем, что у современных баз данных куча нюансов.
Введение
- Пример сбора денег на подарок.
- Запись данных на бумажке = база данных.
- Переход в цифровое пространство = Excel-файл.
Ограничения Excel-файла
- С увеличением объема данных требуется связывать их между собой.
- Один Excel-файл не подходит для больших объемов данных.
Создание аналогичного YouTube
- Хранение данных о пользователях, каналах, видео.
- Неудобно хранить все в одной таблице.
- Разделение на сущности: пользователи, каналы, видео.
Реляционные базы данных
- Связанные таблицы.
- Процесс нормализации: избавление от избыточных данных.
- Первичный ключ (Primary Key) и внешний ключ (Foreign Key).
Типы связей между таблицами
- Один ко многим (или многие к одному)
- Пример: одно видео может принадлежать только одному каналу, но на канале может быть много видео.
- Один к одному
- Один пользователь = один канал (редко используется).
- Многие к многим
- Промежуточная таблица для связей между двумя сущностями.
Системы управления базами данных (СУБД)
- Определение СУБД: программа для создания и администрирования реляционных баз данных.
- Использование языка SQL (Structured Query Language).
Примеры SQL-запросов
- Запрос на получение названий видео с одного канала.
- Использование JOIN для объединения таблиц.
Обзор курса по SQL
- Курс с Олегом Филипповым по проектированию и администрированию баз данных.
- Работа с PostgreSQL, MSSQL, MySQL.
Схема баз данных
- Описание структуры таблицы, полей и ограничений.
- Изменения в схеме касаются всех данных в таблице.
Ограничения для целостности данных
- Первичный и внешний ключи.
- Уникальность и ограничения полей.
Транзакции
- Объединение нескольких SQL-запросов в один.
- Проблема потери соединения при выполнении запросов.
- Использование транзакций для отката изменений.
Принципы АСИД
- Атомарность: операция выполняется целиком или не выполняется.
- Согласованность: данные должны соответствовать правилам.
- Изолированность: транзакции не должны пересекаться.
- Надежность: подтверждение выполнения транзакции.
Примеры реляционных баз данных
- Microsoft SQL Server, Oracle Database, MySQL, MariaDB, PostgreSQL.
Нереляционные базы данных (NoSQL)
- Упоминание о NoSQL базах данных.
- Вопрос о самой большой и высоко нагруженной базе данных в мире.
Заключение
- Ввод данных в базу данных YouTube, лайки, подписки.
- Напоминание о том, что рыбы не чихают.