Технология выполнения учебного задания. 1. На рис. 3.2 атрибут Телефон может содержать несколько рабочих телефонов, что является нарушением ограничения первой нормальной формы
1. На рис. 3.2 атрибут Телефон может содержать несколько рабочих телефонов, что является нарушением ограничения первой нормальной формы. Запись значения колонки через разделитель, например «92-61-98, 92-16-79, 25-55-66» приводит к ряду проблем. Размера поля может не хватить для хранения данных (нельзя увеличивать список телефонов до бесконечности), по такой колонке невозможно построить индекс и т. д. и т. п. Для приведения сущности к первой нормальной форме выполним следующие действия.
2. Разделим сложный атрибут Телефон сущности КЛИЕНТ на атомарные Телефон Клиента, а атрибут Телефон сущности АГЕНТ – на Телефон Агента.
3. Создадим две новых сущности ТЕЛЕФОН КЛИЕНТА и ТЕЛЕФОН АГЕНТА.
4. В каждую из них перенесем атомарные атрибуты Телефон Клиента (PhoneCl, String) и Телефон агента (PhoneAgent, String), соответственно. Сделаем данные атрибуты первичным ключом вновь созданных сущностей.
5. Установим связи:
· АГЕНТ-ТЕЛЕФОН АГЕНТА – идентифицирующая, 0,1 or More,
· КЛИЕНТ-ТЕЛЕФОН КЛИЕНТА – идентифицирующая, 0,1 or More.
На рис. 3.1 логическая модель, приведенная к первой нормальной форме.
Рис. 3.1. Полная атрибутивная модель базы данных
Контрольные вопросы
1. Что называется процессом нормализации?
2. Что называется функциональной зависимостью?
3. Что называется полной функциональной зависимостью?
4. Первая нормальная форма.
5. Вторая нормальная форма.
6. Третья нормальная форма.
7. Что называется процессом денормализации?
8. В чем смысл денормализации?
9. Что такое полная атрибутивная модель?
10. Что называется транзитивной зависимостью?
11. Как перевести сущность из первой нормальной формы во вторую?
12. Как перевести сущность из второй нормальной формы в третью?