Эдуард, Rational Rose с Вами не согласен.
Может быть. Разные средства моделирования реализуют ассоциации по-разному. Я экспериментировал в Enterprise Architect. Тут все зависит еще и от того, как рисуешь связь, т.е. кто источник, а кто мишень.
Однако хотелось бы понять как правильно.
Читая книгу Рамбо и Блаха ""UML2.0 Объектно-ориентированная разработкаи и моделирования", обнаруживаю следующее:
односторонние ассоциации реализуются при помощи указателя (в логическом смысле). При реализации это может быть указатель, ссылка языка программирования или даже внешний ключ базы данных.
для двухсторонней ассоциации могут быть три подхода:
одностороння реализация - реализовать в виде одностороннего указателя и выполнять поиск при прослеживании в обратном направлении. используется если частота прослеживания в одном направлении сильно отличается от другого направления.
двусторонняя реализация - с указателями в обоих направлениях.
реализация при помощи объекта.
Далее в книге есть указание на то, что использование агрегации и композиции следует ограничить при концептуальном моделировании, т.к. они относятся скорее к реализации.
Если рассматривать реализацию в виде БД, то тут мне кажется все достаточно определено. Первичный ключ родительской сущности помещается в виде внешнего ключа либо в область ключевых, либо в область неключевых атрибутов.