Слайд 2Нормализация отношений
Основной проблемой при построении схемы БД является ответ на вопрос какие
атрибуты должны быть в одном отношении, а какие должны находится в разных.
Основанием для формирования отношений в БД являются объективно существующие зависимости в прикладной области:
функциональные зависимости;
многозначные зависимости;
зависимости соединения;
зависимости включения.
Слайд 3Пример функциональных зависимостей
А1 – табельный номер сотрудника
А2 – ФИО
А3 – должность сотрудника
А4
– дата увольнения сотрудника
А1→А2 (функционально определяет)
А1→А2
А1→А3
Слайд 4Первая нормальная форма (1НФ)
Таблица находится в первой нормальной форме, если каждый её
атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение.
В реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. Само определение понятия отношение заведомо подразумевает наличие 1НФ.
Слайд 5Вторая нормальная форма (2НФ)
Отношение R находится во второй нормальной форме (2НФ), если
оно находится в 1НФ и каждый атрибут, не являющийся элементом первичного ключа, функционально полностью зависит от первичного ключа в R.
Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей).
Слайд 7Третья нормальная форма (3НФ)
Неформальное определение: Отношение находится в третьей нормальной форме, если
оно находится во 2НФ и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых.
Слайд 9Первый шаг
На первом шаге необходимо построить список всех атрибутов и пронумеровать их.
Как
правило атрибуты обозначаются Аn, где n – это номер атрибута в списке
Результатом первого шага должен стать список следующего вида:
А1 – табельный номер сотрудника
А2 – имя сотрудника
А3 – фамилия сотрудника
…
Слайд 10Второй шаг
На построенном списке атрибутов необходимо выделить существующие функциональные зависимости.
Можно воспользоваться прямым
или обратным методом определения функциональных зависимостей.
Слайд 11Второй шаг (пример)
А1 – день недели
А2 – номер пары
А3 – номер группы
А4
– номер аудитории
А1 ← 0
А2 ← 0
А3 ← 0
А4 ← А1 А2 А3