Базы данных

Представление типов связей категорий


Понятие категорий было введено 3.1.3 с целью предоставить типу связи возможность использовать объединение классов в качестве одной из сторон связи. Например, показанный на 4.16, а тип связи Has соединяет customerTransaction как с Rental, так и с Sale через категорию Transactionltem. Этот рисунок является упрощением 3.5. Корректным представлением типа связи категории является ее трактовка в виде двух отдельных типов связей, как показано на 4.16, б.

Но такое представление не является удовлетворительным, о чем свидетельствуют два важных аспекта 4.16, б. Во-первых, категория Transactionltem исчезла. Она более не представлена на диаграмме в явном, виде. Во-вторых, ослаблено ограничение участия на связь категории. В диаграмме на 4.16, а требуется, чтобы CustomerTransaction была связана по меньшей мере с одной сущностью Transactionltem, но это требование не означает, что в связи должны участвовать по меньшей мере одна сущность Sale и по меньшей мере одна сущность Rental. Следовательно, участие CustomerTransaction в типе связи Has на 4.16, б не должно быть обязательным. И выполнение исходного ограничения участия не будет автоматически обеспечиваться посредством этой диаграммы.

Комментарии закрыты