Frage

Ich möchte mein Verständnis der Mächtigkeit Einschränkungen in ER-Diagrammen verbessern.

Ich habe zwei Entitäten:

  1. User
  2. Location

Aber, ich mag die Beziehung zwischen diesen beiden Einheiten many-to-many sein (ein Benutzer an verschiedenen Orten sein kann, und ein Standort kann viele Benutzer).

Dieses brauche ich eine Assoziationsklasse UserLocation einzuführen.

Ist es zu sagen korrigiert Ich habe jetzt drei Entitäten?

Wenn ich ein ER diagam der oben zu ziehen, würde ich in der UserLocation Einheit ziehen, und würde die Mächtigkeit wie folgt aussehen?

User 1 ------ * User Location *  ------ 1 Location
War es hilfreich?

Lösung

Sie haben nicht eine dritte Entität benötigen.

In der Welt Entity, dies wie folgt modelliert:

  • Die Entität Benutzer hat eine Liste der Standorte.
  • Die Entität Ort hat eine Liste der Benutzer.

In der relationalen Welt wird dies wie folgt modelliert:

  • Eine Tabelle USER, mit Primärschlüssel BENUTZER_ID
  • Eine Tabelle LOCATION, mit Primärschlüssel LOCATION_ID
  • Eine Tabelle USER_LOCATION, mit zwei Fremdschlüsseln, eine zu jedem der obigen Tabellen.

Ich glaube, dass in dem Beziehungsdiagramm der „Vermittler“ nicht sichtbar ist. Also, ich glaube, Sie so etwas wie diese brauchen würde:

  

User * ------- * Lage

Andere Tipps

Es hängt alles von der Art und Höhe der Rechtsträger Mapping Sie tun.

Sie können die Beziehung ausdrücken, wie es ist

Entity 1 <> Entity 2

Wie mit den ‚Krähenfüßen‘ die Beziehung zu vertreten.

Wenn die Karte Normalisieren Sie würde die viele zu viele Beziehungen mit einer Zwischentabelle brechen, ist dies normalerweise die Primärschlüssel von beiden der vielen Tabellen enthalten würde

Entity 1> Entity 3

Wo Entity 3 (Ihre intermedite Tabelle) PK für beide Tabellen halten würde, und ocassionally alle anderen Daten, wie zum Beispiel eine eindeutige ID etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top