Rozkładanie relacji trójskładnikowej na relacje binarne

Projektuję bazę danych, która obsługuje użytkowników, konta i projekty z następującymi relacjami i ograniczeniami:

Konto ma wielu użytkownikówUżytkownik należy do wielu kontKonto ma wiele projektówProjekt należy dotylko jedno kontoUżytkownik współpracuje w wielu projektach (zbędna uwaga: każda z nich należy do własnego konta).

Innymi słowy, użytkownik może współpracować w wielu projektach tego samego konta. Ale ponieważ użytkownik może należeć do kilku kont, użytkownik może współpracować w wielu projektach z kilku kont. To prowadzi mnie do potrójnegowspółpracuje związek:

Po przeczytaniu kilku artykułów na temat przekształcania relacji trójskładnikowych w relacje binarne wymyśliłem następujące równoważne relacje:

Tu powstają dwa pytania:

Czy ta konwersja jest poprawna? Odkryłem, że muszę dodać dodatkowe kontrole na poziomie aplikacji, aby obsługiwać wstawki. Na przykład przed dodaniem nowego(User,Project) Muszę sprawdzić, czy użytkownik należy do tego samego konta, do którego należy projekt.

Czy naprawdę konieczne jest ustalenie relacji międzyAccount iUser? Kiedyś związek międzyUser iProject został dodany, czy nie możemy poznać konta, do którego należy użytkownik, uzyskując dostęp do projektu?

Dzięki!!

questionAnswers(1)

yourAnswerToTheQuestion