Введение в реляционные базы данных

         

Первая нормальная форма ER-диаграммы


В первой нормальной форме ER-диаграммы устраняются атрибуты, содержащие множественные значения, т. е. производится выявление неявных сущностей, «замаскированных» под атрибуты.

На рис. 9.9 (a) показана диаграмма, в которой тип сущности  АЭРОПОРТ не удовлетворяет требованию первой нормальной формы. Здесь для нас несущественны атрибуты сущности  АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ, но сущность  АЭРОПОРТ помимо атрибутов, отражающих собственные характеристики аэропортов (длина взлетно-посадочной полосы, число ангаров и т.д.) содержит атрибут, множественное значение которого характеризует самолеты, приписанные к этому аэропорту. Очевидно, что самолеты нуждаются в ремонте, т. е. должны обслуживаться некоторым авиаремонтным предприятием. Но поскольку самолеты являются частью сущности  АЭРОПОРТ, единственным способом фиксации этого факта на диаграмме является проведение связи «многие ко многим» между типами сущности  АЭРОПОРТ и АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ. Таким образом выражается то соображение, что для ремонта разных самолетов, приписанных к одному аэропорту, могут использоваться разные транспортные предприятия, и каждое транспортное предприятие может обслуживать несколько аэропортов.


Рис. 9.9.  Пример приведения ER-диаграммы к первой нормальной форме

Чем плоха эта ситуация? Прежде всего, тем, что скрывается тот факт, что авиаремонтное предприятие ремонтирует самолеты, а не аэропорты. Наша же связь на самом деле означает, что любой аэропорт из группы аэропортов обслуживается любым авиаремонтным предприятием из группы таких предприятий. Проблема состоит именно в том, что значением атрибута «самолеты» является множество экземпляров типа сущности  САМОЛЕТ, и этот тип сущности сам обладает атрибутами и связями.

Ситуацию исправляет ER-диаграмма, показанная на рис. 9.9 (b). Здесь мы выделили тип сущности  САМОЛЕТ. Связь между сущностями  АЭРОПОРТ и САМОЛЕТ показывает, что к одному аэропорту приписывается несколько самолетов. Связь между сущностями  САМОЛЕТ и АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ означает, что каждый самолет из группы самолетов (группу самолетов могут составлять, например, все самолеты одного типа) обслуживается любым транспортным предприятием из некоторой группы таких предприятий. ER-диаграмма на рис. 9.9 (b) находится в первой нормальной форме и, как мы видим, лучше отображает реальную ситуацию.



Содержание  Назад  Вперед