Я учу UML для моделирования базы данных для проекта класса. По сути, база данных для социальной сети. Таблицы - это пользователь, друзья, профиль, статус, настенные посты и комментарии. У меня возникли проблемы с определением точных отношений.
На первый взгляд кажется, что все таблицы имеют композиционные отношения (разной кратности); пользователь "имеет" профиль (1-1), пользователь "имеет" друзей (1-0 .. *), wall_posts (1-0 .. *), а wall_post "имеет" комментарии (1-0. . *). Если пользователь удален, эффект будет каскадным и должен удалить все записи, имеющие этот идентификатор пользователя. В пользовательской таблице есть информация, такая как имя uid (которая не реплицируется в таблице wall_posts), поэтому необходимо удалить что-то вроде записи сообщения.
Есть ли изъян в моей логике?