Мне было интересно, существовала ли такая вещь, как отношения «принадлежит», и какова ее функция, или она была прямо противоположна «имеет»?
Вопрос возник при создании ORM, и он хотел найти способ определить, когда экземпляр сущности должен быть автоматически удален, например:
Пользователь "имеет много" Тема
Тема "имеет много" Комментарий
Тема 'имеет одного' пользователя
Комментарий "имеет одну" тему
Предположим, вы удалили пользовательский экземпляр. Связанные с ним экземпляры потоков должны оставаться нетронутыми.
Но если вы удалите экземпляр потока, его комментарии должны быть удалены.
С помощью приведенной выше схемы ORM не может определить, когда удалять, а когда нет.
Но если я использую «принадлежу», это может быть решением:
Пользователь "имеет много" Тема
Тема "имеет много" Комментарий
Тема 'имеет одного' пользователя
Комментарий «принадлежит одной» теме
Имеет ли это смысл? Это возможно для ORM, но охватывает ли ERD этот сценарий? Соединения «один к одному» или «один ко многим» кажутся недостаточными.
Есть мысли?