2017-11-04 5 views
0

Ist es richtig, keine Beziehung zwischen einigen Entitäten herzustellen? und wie erreichen wir die Normalisierung, um dieses Diagramm zu erreichen?ist diese ERD korrekt und wie normalisiert man?

enter image description here

+0

Auf den ersten Blick sollte ein Administrator ein Benutzer sein. Es sieht so aus, als ob Sie den Benutzer verwenden, um Mitarbeiter und Kunden zu repräsentieren, würde ich die beiden trennen. –

+0

Ich verstehe nicht, was die Tabelle service_provider tut. Die Serviceanfrage verfolgt bereits die Benutzer- und Service-ID. Warum brauchst du einen anderen Tisch? Wenn diese Tabelle zusätzliche Felder enthält, warum befindet sich der Verfolgungsbenutzer in der Serviceanforderungstabelle, wenn sie bereits in der Serviceprovider-Tabelle enthalten sind? –

+0

Was soll diese Datenbank erreichen? –

Antwort

0

Es ist nicht falsch mehrere ERDs zu haben, die nicht verbunden sind, aber in der Regel die meisten/alles in einem einzigen System beteiligt werden Ähnliche beenden.

Administratoren werden normalerweise als Benutzer mit den meisten/allen aktivierten Berechtigungen behandelt, nicht als separate Entitätsgruppen. Es kann sein, dass Anzeigen getrennt werden, obwohl sie oft damit zusammenhängen, dass Werbetreibende bestimmte Nutzergruppen ansprechen oder das System Impressionen oder Klicks protokollieren muss. Was die anderen Teile anbetrifft, ist es schwierig zu sagen, ob sie verwandt sein sollten oder nicht, ohne die Situation besser zu verstehen, die Sie modellieren.

Die Normalisierung wird normalerweise durchgeführt, nachdem eine konzeptionelle ERD in ein logisches relationales Modell übersetzt wurde, nicht direkt in eine ERD oder in die Erstellung einer solchen. Das Verständnis, wie Entitätsgruppen, Attribute und Beziehungen in Domänen, Relationen und Abhängigkeiten umgesetzt werden, kann dazu führen, dass man versucht, direkt im ERD zu normalisieren, aber ein Problem bei diesem Ansatz ist, dass das Entity-Relationship-Modell kein vollständiges und konsistentes logisches Modell ist daher sind einige Beziehungen in einer ERD möglicherweise nicht darstellbar.

Ein Problem bei der Verwendung von Notation besteht darin, dass Sie Fremdschlüssel als schwache Schlüsselattribute angeben. Schwache Schlüssel sind ein anderes Konzept als Fremdschlüssel, Fremdschlüssel werden normalerweise nicht in einer ERD angezeigt. Zweitens würde ich services_providers eine Beziehung machen und eine Beziehung zwischen ihr und services_requests hinzufügen (eine Beziehung in einer Beziehung verwandelt die letztere in eine associative entity), anstatt sie direkt auf services zu beziehen.