Примечания:
1. Идентифицирующая связь отображается сплошной линией, неидентифицирующая – пунктирной.
2. Необязательность обозначается ромбиком.
На рис. 7.3–7.5 приведены примеры отображения связей.
Рис. 7.3. Идентифицирующая связь
Рис. 7.4. Неидентифицирующая связь
Рис. 7.5. Рекурсивная связь
На рис. 7.4 связь необязательная, так как некоторые сотрудники не обязательно должны входить в какой-либо отдел (например, директор предприятия), и неидентифицирующая, так как табельный номер уникален для каждого сотрудника.
4. Определение суперклассов и подклассов.
В тех случаях, когда две и более сущностей по набору атрибутов незначительно отличаются друг от друга, можно применять в модели конструкцию – иерархию наследования (категорий), включающую в себя суперклассы и подклассы.
Суперкласс – сущность, включающая в себя подклассы.
Иерархия наследования представляет собой особый тип объединения сущностей, которые разделяют общие характеристики. Например, в организации работают служащие, занятые полный рабочий день (постоянные служащие) и совместители. Из их общих свойств можно сформировать обобщенную сущность (родового предка) «Сотрудник» (рис. 7.6), чтобы представить информацию, общую для всех типов служащих. Специфическая для каждого типа информация может быть расположена в дополнительных сущностях (потомках) «Постоянный сотрудник» и «Совместитель» [19].
Рис. 7.6. Иерархия наследования (неполная категория)
Обычно иерархию наследования создают, когда несколько сущностей имеют общие по смыслу атрибуты, либо когда сущности имеют общие по смыслу связи (например, если бы «Постоянный сотрудник» и «Совместитель» имели бы сходную по смыслу связь «работает в» с сущностью «Организация»).
Для каждой категории требуется указать дискриминатор – атрибут родового предка, который показывает, как отличить одну сущность от другой. В приведенном примере дискриминатор – атрибут «Тип».
Иерархии категорий делятся на два типа: неполные (рис. 7.6) и полные (рис. 7.7).
Рис. 7.7. Иерархия наследования (полная категория)
В полной категории одному экземпляру родового предка обязательно соответствует экземпляр в каком-либо потомке, т. е. в примере сотрудник обязательно является либо совместителем, либо консультантом, либо постоянным сотрудником.
Если категория еще не выстроена полностью и в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках, то такая категория будет неполной.
При построении модели возможны различные комбинации полных и неполных категорий. Например, первый уровень категории неполный, отдельные сущности которого дополняются вторым уровнем – полной категорией.
7.3. Пример построения концептуальной модели
На рис. 7.8 показан фрагмент концептуальной информационной модели для задачи определения допускаемых скоростей.
Рис. 7.8. Фрагмент концептуальной информационной модели
В концептуальной модели выделены следующие логические блоки данных:
нормативно-справочная информация;
информация об участках дороги;
задание на расчет;
ведомости допускаемых скоростей;
проект Приказа «Н» (на рис. 7.8 не показан);
Формы № 1, 1а и 2 (на рис. 7.8 не показан).
Все сущности, входящие в блоки (кроме блока «Нормативно-справочная информация»), представлены во фрагменте только наименованиями. Сущности, входящие в блок «Нормативно-справочная информация», показаны развернуто, т.е. включая все атрибуты и первичные ключи. В этом блоке присутствуют две сущности («Нормативы для сопрягаемых кривых» и «Допускаемые скорости по уклону отвода возвышения в кривых»), которые не связаны ни с одной другой сущностью. Это не является ошибкой, так как существует мнение, что модель БД должна представлять собой связный граф (все сущности должны быть связаны между собой). Для большинства задач, где в БД накапливается различная оперативная информация, а затем на основе ее формируются различные отчеты и сводки, такое утверждение действительно имеет место. Но для инженерных, оптимизационных и некоторых других задач возможно наличие несвязанных таблиц. В рассматриваемом примере две несвязанные сущности участвуют в каждом расчете допускаемых скоростей, т. е. они влияют на результаты, отображаемые в ведомостях допускаемых скоростей. Но учитывая специфику задачи, изменение содержимого этих таблиц не должно приводить к изменению уже полученных результатов. Поэтому таблицы не связаны ни с заданиями на расчет, ни с результатами расчета.
7.4. Логическое проектирование с использованием методологии IDEF1X
Достарыңызбен бөлісу: |