- •Описание предметной области базы данных. Нормализация концептуальной модели
- •1Нф, 2нф, 3нф, Бойса-Кодда.
- •1. Теоретические сведения
- •1.1. Нормальные формы отношений
- •1.2. Понятие нормальной формы отношений.
- •1.2.1. Домен.
- •1.2.2. Функциональные зависимости.
- •Нфбк (bcnf) - нормальная форма Бойса-Кодда.
- •Порядок выполнения работы
- •2.1. Выбор задания
- •2.2. Анализ схем отношений.
- •3. Содержание отчета
- •4. Контрольные вопросы
- •Приложение
ЛАБОРАТОРНАЯ РАБОТА №3
Описание предметной области базы данных. Нормализация концептуальной модели
1Нф, 2нф, 3нф, Бойса-Кодда.
Цель работы: Получить теоретические знания и практические навыки проектирования баз данных (БД). Привести анализ схем отношений с точки зрения соответствия структуры БД нормальным формам.
1. Теоретические сведения
1.1. Нормальные формы отношений
Во второй лабораторной работе мы рассматривали описание таблицы БД (рис. 3.1.) и выяснили, что первичный ключ - это атрибут, уникально идентифицирующий отдельные экземпляры типа сущности, т.е. если считать, что сущность преобразовывается в таблицу, то первичный ключ - это поле уникально идентифицирующее запись.
Рис. 3.1. Описание таблицы БД
Также разобрали четыре типа связи между классами объектов: «один к одному» (1:1); «один ко многим» (1:М); «многие к одному» (М:1) и «многие ко многим» (М:М). Причем желательно при создании БД использовать связи типа «один к одному», «многие к одному» или «один ко многим».
Связь «многие к одному» при создании БД физически обычно организуется путем введения дополнительного поля в таблицу со стороны «много». Это поле называется внешний ключ. На рис. 3.2. код группы - внешний ключ.
В процессе проектирования базы данных возникают вопросы: хорошо ли спроектированы отношения между сущностями? Правильно ли они отражают предметную область?
Рис. 3.2. Введение внешнего ключа в БД
На стадии физической реализации базы данных отношения преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
При этом также возникают вопросы: хорошо ли спроектированы таблицы? Правильно ли выбраны индексы?
Для ответа на этот вопрос необходимо рассмотреть понятие нормальной формы.
1.2. Понятие нормальной формы отношений.
Говорят, что отношение находится в некоторой нормальной форме, если удовлетворяет заданному набору условий. Например, отношение находится в первой нормальной форме, или сокращенно в 1 НФ, тогда и только тогда, когда оно содержит только скалярные значения.
рис. 3.3 Нормальные формы отношений.
Отсюда следует, что каждое нормализованное отношение находится в первой нормальной форме. Иначе говоря, термины "нормализованное" и "1НФ" означают одно и то же. На рис. 3.3. показано несколько нормальных форм, которые определены к настоящему времени.
Все нормализованные отношения находятся в 1НФ. Некоторые отношения 1НФ находятся также в 2НФ и некоторые отношения 2НФ находятся также в ЗНФ. Мотивом для введения дополнительных определений было то, что вторая нормальная форма "более желательна", чем первая, а третья, в свою очередь, "более желательна", чем вторая. Таким образом, при проектировании базы данных вообще следует использовать отношения не только в первой или во второй, но также и в третьей форме.
Процедуру нормализации можно охарактеризовать как последовательное приведение данного набора отношений к некоторой более желательной форме. Эта процедура обратима, т.е. всегда можно использовать ее результат (например, множество отношений, находящихся в ЗНФ) для обратного преобразования (в исходное отношение, находящееся в 2НФ). Возможность выполнения обратного преобразования является весьма важной характеристикой, поскольку означает, что в процессе нормализации информация не утрачивается