Привет, я новичок в моделировании баз данных графов и у меня есть некоторые сомнения по поводу выражения одобрения за услугу, предоставляемую Лицом.Вариант использования следующий.PersonA дает Одобрение Сервису, предоставленному PersonB.
Ключевым моментом является то, что если я получаю одобрение, я хотел бы знать, кто поддержал меня.Я придумал несколько сценариев того, как я могу это сделать, но из-за недостатка опыта у меня есть сомнения в том, что будет лучшим подходом.
Сценарий 1.
Индоссамент выражается непосредственно как отношение, а услуга переходит в собственность как индоссамент. Таким образом, это будет выглядеть так:
PersonA-------ENDORSE{service}--->PersonB
Сценарий 2
Я моделирую сущность с именем Сервис.Проблема заключается в том, что, когда я выполняю отношение «ENDORSE» к сервису, я теряю информацию о том, кого я поддерживаю.Таким образом, я должен был бы сохранить собственность в отношениях с тем, кого я поддерживаю.Затем PersonB должен получить одобрение за СЕРВИС, но он не будет знать, кто на самом деле дает одобрение.Итак ..... это будет выглядеть так:
PERSONA----ENDORSE{personB}--->Service------ENDORSMENT{personA}--->PERSONB
Имеет ли это смысл?
Сценарий 3:
Я нормализую второе отношение "ENDORSMENT" и исключаю personA как свойство, но затем мне нужно запросить все Person, чтобы выяснить, кто имеетони одобрили.
Как бы вы смоделировали такие отношения?