Другая проблема – это хранение в одном атрибуте разных по смыслу значений, что нарушает 1НФ.
Таблица 18.5. Экземпляры сущности Сотрудник1
Сотрудник# |
Фамилия |
Адрес |
Дата зачисления или увольнения |
El |
Седов |
Сурикова, 10 |
01.07.00 |
Е2 |
Куликов |
Мира, 23 |
07.08.00 |
Атрибут «Дата зачисления или увольнения» (табл. 13) хранит информацию как о зачислении, так и об увольнении сотрудника. Если хранится только одно значение (например, 01.07.00), то невозможно понять, какая именно дата внесена. Решение проблемы в том, чтобы позволить отдельным атрибутам хранить отдельные факты.
Для приведения сущности «Сотрудник1» к 1НФ: разделим сложный атрибут «Дата зачисления или увольнения» на атомарные атрибуты – «Дата зачисления» и «Дата увольнения». Результат приведения сущности «Сотрудник1» к 1НФ в табл. 14.
Таблица 18.6. Таблица 5: Экземпляры сущности Сотрудник1
Сотрудник# |
Фамилия |
Адрес |
Дата зачисления |
Дата увольнения |
Е1 |
Седов |
Сурикова, 10 |
01.07.00 | |
Е2 |
Куликов |
Мира, 23 |
07.08.00 |
01.09.00 |