314.04K
Category: databasedatabase

Проектирование БД

1.

ФГБОУ ВО Волгоградский государственный технический университет
кафедра «Технология машиностроения»
Проектирование баз данных методом
нормальных форм
к.т.н., доцент Жданов А. А.
Волгоград, 2022

2.

Некоторая некорректная структура данных
Проблемы:
1. Тяжело воспринимать информацию.
2. Тяжело программно управлять информацией (необходимо «парсить» строку и т.д.).
3. Легко ошибиться: не поставить запятую, тире, ..., что приведет к ошибкам программной обработки.
Правило №1.
Все элементы любой ячейки таблицы должны быть атомарными
(неделимыми)

3.

Результат применения правила №1
Проблемы:
1. Возможны дубликаты строк. К примеру, исполнитель записал повторно композицию в рамках
другого альбома.
Правило №2.
Все строки в таблице должны быть уникальными

4.

Пример базы данных, находящейся в первой
нормальной форме (1НФ)
Артикул здесь – это первичный ключ, или уникальный идентификатор ID
Таблица находится в 1НФ, если все ячейки базы данных являются
атомарными, а каждая строка является уникальной

5.

Предпосылки к дальнейшей декомпозиции БД
Пусть имеется некоторая таблица товаров интернет-магазина. В определенный
момент времени руководство магазина решает устроить распродажу и установить
скидку на категорию женской одежды в 15%, а на категорию мужской в 25%
Проблемы:
1. Возможные ошибки.
2. Избыточность и дублирование информации.

6.

Приведение БД ко второй нормальной форме 2НФ
Правило №3. Любое поле, не входящее в состав первичного ключа, функционально полно
зависит от первичного ключа.
Для того, чтобы выполнить данное
правило, нужно определить, какая
информация дублируется, чтобы
попытаться выделить ее в отдельную
одну или несколько таблиц
При выделении новой таблицы
следует помнить о правилах №1 и
№2 первой нормальной формы. Для
этого добавлен первичный ключ –
колонка ID, при помощи которого
осуществляется связь или отношение
между таблицами

7.

Приведение БД ко третьей нормальной форме 3НФ
Правило №4. База данных находится в третьей нормальной форме, если она удовлетворяет 1НФ
и 2НФ и любой ее не ключевой атрибут функционально зависит только от первичного ключа.

8.

Преимущества БД, находящейся в 3НФ
1. В рамках каждой таблицы легко добавляются новые атрибуты (столбцы).
Например, можно добавить столбец «Цена» для таблицы №4, столбцы «Фото
товара», «Описание товара» и т.д. К таблице №2 можно добавить столбец
«Описание бренда» или «Ссылка на статью» о бренде. При этом изменения
одной таблицы никак не отразятся на других таблицах.
2. Уменьшение дублирования информации, меньше потребности в памяти на ее
хранение.
Дальнейшая декомпозиция до 4-6 нормальных форм, как правило, в
большинстве несложных задач не требуется.
English     Русский Rules