Similar presentations:
Проектирование баз данных: 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НФ
database