6.00M
AI
Категория: Базы данныхБазы данных

Кат

1.

Проектирование баз данных
Катышев И.В.

2.

Связи между сущностями
Пример из магазина:
• 1:N — Один клиент → много заказов
• M:N — Много заказов → много товаров
(через таблицу order_items)
Связь M:N всегда разбивается на две
связи 1:N через промежуточную таблицу.

3.

Этапы проектирования БД
Анализ
требований
Концептуальна
я модель
Логическая
модель
Физическая
реализация
Каждый этап опирается на результат предыдущего — пропуск шага ведёт к ошибкам в структуре.

4.

Три ключевых принципа
Целостность данных
Нельзя создать заказ для несуществующего клиента.
Обеспечивается внешними ключами (FOREIGN KEY).
Отсутствие дублирования
Адрес клиента хранится в одной таблице — не в
каждом заказе отдельно.
Независимость данных
Изменение структуры таблиц не ломает приложение.
Данные отделены от логики.

5.

Нормализация: 1НФ → 2НФ → 3НФ
1НФ
Атомарные
значения, без
повторяющихся
групп
2НФ
1НФ + все
неключевые
колонки зависят
от полного
ключа
3НФ
2НФ + нет
транзитивных
зависимостей
между
столбцами
Нормализация устраняет аномалии вставки, обновления и удаления. На практике большинство
таблиц проектируют до 3НФ.

6.

ACID: надёжность транзакций
Что такое транзакция?
Набор операций, которые выполняются
как единое целое: либо все успешно,
либо ни одна.
Пример: перевод денег — списание и
зачисление должны произойти вместе.
A — Атомарность
C — Согласованность
Всё или ничего
БД остаётся валидной
I — Изоляция
D — Долговечность
Транзакции не
мешают друг другу
Результат сохраняется
после сбоя

7.

Спасибо за внимание!
English     Русский Правила