493.73K
AI
Category: databasedatabase

Проектирование баз данных: ER-моделирование и нормализация

1.

Проектирование БД и ER-моделирование
От концептуальной схемы и связей до 3-й нормальной формы (1NF–3NF)

2.

Основы ER-моделирования
Понятия сущностей, атрибутов и видов логических связей

3.

Базовые элементы ER-модели
Сущность (Entity)
Атрибут (Attribute)
Связь (Relationship)
Реальный или абстрактный объект
предметной области, информация о
котором сохраняется в системе
(например, Клиент, Товар, Заказ).
Свойство или характеристика
сущности. Каждый атрибут описывает
отдельную деталь (например, Имя,
Цена, Email, Дата рождения).
Логическое отношение и
взаимодействие между сущностями
(например, сущность Клиент
«оформляет» сущность Заказ).

4.

Типы связей между сущностями
1:1 и 1:N Связи
M:N Связь (Многие ко многим)
1:1 (Один к одному): Каждой записи первой сущности
соответствует строго одна запись второй сущности (например,
Человек — Паспорт).
M:N (Многие ко многим): Множество записей первой сущности
могут быть связаны с множеством записей второй (например,
Студенты — Курсы).
1:N (Один ко многим): Одной записи в главной сущности
соответствует множество записей в подчиненной (например,
Отдел — Сотрудники).
Важное правило: В реляционной БД связь M:N всегда
преобразуется в две связи 1:N через промежуточную таблицу.

5.

Шаги проектирования ER-модели
Выделить сущности: Определить ключевые объекты бизнеслогики.
Задать атрибуты: Назначить свойства и выбрать первичные ключи
(Primary Key).
Установить связи: Определить типы отношений (1:1, 1:N, M:N)
между сущностями.
Убрать M:N: Создать связующие таблицы для всех отношений
«многие ко многим».

6.

Нормализация баз данных
Устранение дублирования и аномалий: 1NF, 2NF и 3NF

7.

1NF — Первая нормальная форма
Атомарность значений: Каждая ячейка таблицы должна содержать только одно неделимое значение (запрещены списки и массивы через
запятую).
Первичный ключ: Таблица должна иметь уникальный идентификатор (Primary Key) для каждой строки.
Однородность колонок: Все значения в пределах одной колонки обязаны иметь один и тот же тип данных.
Порядок строк: Порядок следования строк и столбцов не должен влиять на смысл данных.

8.

2NF и 3NF — Нормальные формы
2NF (Вторая форма)
3NF (Третья форма)
Условие: Таблица находится в 1NF.
Условие: Таблица находится в 2NF.
Правило: Все неключевые атрибуты должны полностью
зависеть от всего первичного ключа (актуально при составном
PK).
Правило: Все неключевые атрибуты зависят только от
первичного ключа и не зависят от других неключевых колонок.
Устраняет частичную зависимость от составного ключа.
Устраняет транзитивную зависимость (A → B → C).

9.

Сводный анализ нормализации
Форма
Главный принцип
Что устраняет?
Пример решения
1NF
Атомарность ячеек и наличие PK
Списки значений в одной ячейке
Вынос списка телефонов в отдельные строки
2NF
Зависимость от всего составного PK
Частичную зависимость от ключа
Вынос наименования товара из таблицы
заказов
3NF
Зависимость только от первичного ключа
Транзитивную зависимость (А → Б → В)
Вынос Города/Индекса в отдельный
справочник

10.

Примеры ER-моделей

11.

Ключевые метрики качества
Почему это важно?
3NF
Золотой стандарт OLTP БД
Минимизация избыточности: Каждый факт хранится в одном месте,
сокращая объем используемого дискового пространства.
Защита от аномалий: Исключаются ошибки при вставке (Insert),
обновлении (Update) и удалении (Delete) записей.

12.

Задание
Необходимо самостоятельно разработать ER-модель по вашей предметной области.
1) Определиться с сущностями
2) Добавь атрибуты
3) Назначить PK (Первичные ключи)
4) Настроить связи между таблицами
5) Убедиться, что ваша er-модель относится к 3НФ
English     Русский Rules