Классика баз данных - статьи

       

Необходимые дополнительные атрибуты для каждого


Необходимые дополнительные атрибуты для каждого типа служащих приведены в следующей таблице.

тип служащего

дополнительные атрибуты

водитель грузовика
(trucker)
идентификатор транспортного средства (vehicle ID#)

номер лицензии (number of license)
секретарь
(secretary)
cкорость печатания (typing speed)
инженер (engineer) высшая ученая степень (highest degree),

тип (механик, электрик и т.д.) (type (mech, elec))

Для каждого родового типа служащих должны регистрироваться следующие атрибуты: количество служащих (size), количество вакантных должностей (vacancie), нанимающее агентство (agency).

Построим теперь реляционную модель,

удовлетворяющую перечисленным выше требованиям. Поскольку наиболее абстрактным объектом, который должен быть представлен, является "employee", начальная модель содержит в точности этот объект. Это показано на рис. 8. Следующий шаг заключается в декомпозиции этого объекта как в плоскости агрегации, так и в плоскости обобщения. Предположим, что мы решаем сначала произвести декомпозицию в плоскости обобщения. В этой плоскости компонентами "employee" являются родовые объекты "trucker", "secretary" и "engineer". Эти три объекта образуют единственный кластер. После этого модель приобретает вид, представленный на рис. 9.



Рис. 8. Начальная модель для объекта "Служащий"



Рис. 9.Декомпозиция объекта "Служащий" в плоскости обобщения

Теперь декомпозируем объект "employee" в плоскости агрегации. Имеется четыре атрибута служащих, которые должны регистрироваться: "employee ID#", "name", "age" и "employee type". Поэтому мы включаем эти четыре атрибута как компоненты "employee". Полученный результат показан на рис.10. За исключением "employee type", данные компоненты объекта "employee" являются примитивными

объектами, т.е. каждый из них мыслится как единое целое. Однако объект "employee type" имеет несколько важных компонентов, соответствующих атрибутам "typename", "size", "vacancies" и "agency".

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