Zerlegen einer ternären Beziehung in binäre Beziehungen

Ich entwerfe eine Datenbank, die Benutzer, Konten und Projekte mit den folgenden Beziehungen und Einschränkungen behandelt:

Ein Konto hat viele BenutzerEin Benutzer gehört zu vielen KontenEin Account hat viele ProjekteEin Projekt gehört zunur ein AccountEin Benutzer arbeitet an vielen Projekten mit (redundanter Hinweis: Jeder von ihnen gehört zu seinem eigenen Konto).

Mit anderen Worten, ein Benutzer kann an vielen Projekten desselben Kontos mitarbeiten. Da ein Benutzer jedoch mehreren Konten angehören kann, kann er in vielen Projekten mit mehreren Konten zusammenarbeiten. Das führt mich zu einem Ternärzusammenarbeitet Beziehung:

Nachdem ich einige Artikel gelesen hatte, in denen es darum ging, ternäre Beziehungen in binäre Beziehungen umzuwandeln, fand ich die folgenden äquivalenten Beziehungen:

Hier stellen sich zwei Fragen:

Ist diese Konvertierung korrekt? Ich habe festgestellt, dass ich zusätzliche Prüfungen auf Anwendungsebene hinzufügen muss, um Einfügungen zu handhaben. Zum Beispiel vor dem Hinzufügen eines neuen(User,Project) Ich muss überprüfen, ob der Benutzer zu demselben Konto gehört, zu dem das Projekt gehört.

Ist es wirklich notwendig, die Beziehung zwischenAccount undUser? Sobald die Beziehung zwischenUser undProject Wurde hinzugefügt. Konnten wir nicht wissen, zu welchem ​​Konto ein Benutzer gehört, wenn wir auf das Projekt zugreifen?

Vielen Dank!!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage