ПОСТРОЕНИЕ ДЕКОМПОЗИЦИИ, УДОВЛЕТВОРЯЮЩЕЙ ТРЕБОВАНИЯМ 3НФ Синтетический подход. Часть 1
Н ОРМАЛИЗАЦИЯ ОТНОШЕНИЙ Основной проблемой при построении схемы БД является ответ на вопрос какие атрибуты должны быть в одном отношении, а какие должны находится в разных. Основанием для формирования отношений в БД являются объективно существующие зависимости в прикладной области: функциональные зависимости; многозначные зависимости; зависимости соединения; зависимости включения.
П РИМЕР ФУНКЦИОНАЛЬНЫХ ЗАВИСИМОСТЕЙ А 1 – табельный номер сотрудника А 2 – ФИО А 3 – должность сотрудника А 4 – дата увольнения сотрудника А 1 А 2 (функционально определяет) А 1 А 2 А 1 А 3
П ЕРВАЯ НОРМАЛЬНАЯ ФОРМА (1НФ) Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. В реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. Само определение понятия отношение заведомо подразумевает наличие 1НФ.
В ТОРАЯ НОРМАЛЬНАЯ ФОРМА (2НФ) Отношение R находится во второй нормальной форме (2НФ), если оно находится в 1НФ и каждый атрибут, не являющийся элементом первичного ключа, функционально полностью зависит от первичного ключа в R. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей).
П РИМЕР
Т РЕТЬЯ НОРМАЛЬНАЯ ФОРМА (3НФ) Неформальное определение: Отношение находится в третьей нормальной форме, если оно находится во 2НФ и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых.
П РИМЕР
П ЕРВЫЙ ШАГ На первом шаге необходимо построить список всех атрибутов и пронумеровать их. Как правило атрибуты обозначаются А n, где n – это номер атрибута в списке Результатом первого шага должен стать список следующего вида: А 1 – табельный номер сотрудника А 2 – имя сотрудника А 3 – фамилия сотрудника …
В ТОРОЙ ШАГ На построенном списке атрибутов необходимо выделить существующие функциональные зависимости. Можно воспользоваться прямым или обратным методом определения функциональных зависимостей.
В ТОРОЙ ШАГ ( ПРИМЕР ) А 1 – день недели А 2 – номер пары А 3 – номер группы А 4 – номер аудитории А 1 0 А 2 0 А 3 0 А 4 А 1 А 2 А 3
В ТОРОЙ ШАГ Пользуясь правилом объединения необходимо объединить функциональные зависимости с одинаковой левой частью и совпадающими областями определения. Y A i, Y A j Y A i A j