Similar presentations:
Проектирование БД
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 нормальных форм, как правило, в
большинстве несложных задач не требуется.