При приведении отношений при помощи алгоритма нормализации к отношениям в 3НФ неявно предполагалось, что все отношения содержат один потенциальный ключ. Это не всегда верно. Рассмотрим следующий пример отношения, содержащего два ключа.
Пример 1. Пусть требуется хранить данные о поставках деталей некоторыми поставщиками. Предположим, что наименования поставщиков являются уникальными. Кроме того, каждый поставщик имеет свой уникальный номер
Сущность. 1НФ, 2НФ, 3НФ, НФ Бойса Кодда.
1НФ- это обычное отношение. Согласно определению отношений, любое отношение автоматически уже находится в 1НФ. Свойства отношений (это и будут свойства 1НФ):
ü В отношении нет одинаковых кортежей.
ü Кортежи не упорядочены.
ü Атрибуты не упорядочены и различаются по наименованию.
ü Все значения атрибутов атомарны.
В ходе логического моделирования на первом шаге предложено хранить данные в одном отношении, имеющем следующие атрибуты:
СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ (Н_СОТР, ФАМ, Н_ОТД, ТЕЛ, Н_ПРО, ПРОЕКТ, Н_ЗАДАН)
|
|
Н_СОТР | ФАМ | Н_ОТД | ТЕЛ | Н_ПРО | ПРОЕКТ | Н_ЗАДАН |
Иванов | 11-22-33 | 1 | Космос | |||
Иванов | 11-22-33 | 2 | Климат | |||
Петров | 11-22-33 | 1 | Космос | |||
Сидоров | 33-22-11 | 1 | Космос | |||
Сидоров | 33-22-11 | 2 | Климат |