it-swarm.com.de

Ist es möglich, dass eine schwache Entität, die bereits mit einer starken Entität verbunden ist, in einem ER-Diagramm mit einer anderen schwachen Entität in Beziehung gesetzt wird?

Ich habe eine Problemstellung (unterrichtet),

Datenbank für einen Fitnessclub -

Attribute des Kunden : Name, Adresse, Ph. Nr.

Attribute des Mitgliedschaftsplans : Beg. Datum, Sub. Gebühr, monatliche Gebühr, Dauer

Attribute des Trainers : ID, Name, Gehalt

Beziehungstypen: Client ist ' eingeschrieben in ' ein Mem. Planen und Client ' trifft ' Trainer

Eingeschrieben in : Der Kunde hat die vollständige Teilnahme, während Mem. Plan nicht.

Treffen : Kunde & Trainer, beide haben die volle Teilnahme.

Mit Erfüllt bedeutet dies, dass eine Client-Entität an einer Sitzung teilnimmt, die von einer Trainer-Entität geleitet wird.

Also, Client & Mem. Plan sind schwache Entitätstypen & Trainer ist ein starker Entitätstyp.

Bei der Konvertierung in ein ER-Diagramm wird Client & Mem. Plan sind miteinander verbunden, und der Kunde ist mit dem Trainer verbunden.

Ist es möglich, ein solches ER-Diagramm zu haben, oder gibt es eine andere Möglichkeit, dasselbe zu korrigieren?

Bearbeiten: Dieses ER-Diagramm stellt dar, was ich denke, dass es sein sollte (ohne Teilschlüssel) und betrachtet Pfeile im Diagramm als gerade Linien, die zwei Blöcke/Formen verbinden.

(enter image description here

Fühlen Sie sich frei, mich zu korrigieren, wenn ich irgendwo falsch liege.

Ich habe auch eine Entität 'Workout Session', die eine Beziehung zum Trainer hat. Eine Trainingseinheit wird nur von einem Trainer durchgeführt. Das Problem besteht jedoch darin, dass nur die Daten der Trainer gespeichert werden, die ein Kunde trifft, nicht die Sitzungen, an denen er teilnimmt. Aber da das nicht mit der Frage zu tun hatte, die ich stellen musste, habe ich diesen Teil nicht hinzugefügt.

Ich denke, es gibt weder für den Kunden noch für den Mitgliedschaftsplan ein einzelnes Attribut, mit dem ich die jeweiligen Entitäten eindeutig unterscheiden kann. Daher denke ich, dass der Client und der Mitgliedschaftsplan schwache Entitätstypen sind.

Ich habe so viele Details wie möglich angegeben, da ich aus bestimmten Gründen die vollständige Erklärung nicht offenlegen kann.

6
PalashV

Abhängig davon, wie viel Sie über Ihre Problemstellung informiert haben, kann Folgendes festgestellt werden:

  • Trainer ist eine starke Einheit (er hat eine ID)
  • Weder Client noch Mitgliedschaftsplan scheinen schwache oder starke Einheiten zu sein.

    Sie beide könnten als starke Entitäten betrachtet werden, vorausgesetzt, auf ihnen ist ein Primärschlüssel definiert *; z.B. Client.(Name, Phone) und Membership Plan.("Beginning Date", Duration)

In Ihrem Chen-Diagramm sollte die Entität Erfüllt an beiden Enden die Gesamtbeteiligung haben, aber es gibt einen Pfeil zwischen Trainer und Erfüllt ?

Davon abgesehen scheint es in Ordnung zu sein.


* A starke Entität ist definiert als ein Schlüssel, der von keinem anderen Schlüssel abhängt; a schwache Entität als Schlüssel, der von einem Fremdschlüssel abhängt. Z.B. Order hat einen Primärschlüssel order_id was unabhängig ist, und das macht es zu einer starken Einheit, während Order_Detail hat einen Primärschlüssel order_detail_id und eindeutiger Schlüssel order_id, line_no, was es zu einer schwachen Entität macht, seit order_detail_id liefert keine aussagekräftige unabhängige ID, und der eindeutige Schlüssel hängt von der Tabelle Order ab. Siehe schwacher Entitätseintrag in Wikipedia .

Sie sind unabhängig von anderen Entitäten, daher sind sie Kandidaten dafür, als starke Entitäten betrachtet zu werden vorausgesetzt, sie haben einen Primärschlüssel, was nicht bekannt ist, wenn sie haben, und nicht klar ist, ob sie in der Entität könnten Definition.

Klient und Trainer sind beide starke Einheiten mit einer Beziehung von vielen zu vielen, die durch das Treffen der schwachen Einheit kategorisiert wird.

Mitgliedschaftsplan: scheint eine schwache Beziehung zu einer Eins-zu-Eins-Beziehung mit dem Kunden zu sein. Aber ich würde einen Primärschlüssel hinzufügen und ihn zu einer starken Einheit mit einer Beziehung von vielen zu eins zum Kunden machen. Dies ermöglicht historische Mitgliedschaftspläne usw.

Aktueller Mitgliedschaftsplan: Schwache Einheit mit einer Eins-zu-Eins-Beziehung zum Kunden. Angabe des aktuell aktiven Mitgliedschaftsplans für den Kunden.

Bearbeiten .. Sie haben das Diagramm hinzugefügt ..

Es sieht so aus, als wäre Ihre Mitgliedschaft eher das, was ich MembershipType nennen würde. Dh die Liste der verfügbaren Pläne zum Kauf. Der auf den Kunden bezogene Mitgliedschaftsplan sollte die Instanz des von ihm erworbenen Mitgliedschaftstyps sein.

Das Startdatum variiert beispielsweise je nach Client für die Instanz.

Um die allgemeine Frage zu beantworten. 'Kann eine schwache Entität mit einer anderen schwachen Entität verwandt sein?' Ich würde Nein sagen. Eine schwache Entität hat keinen eigenen Primärschlüssel, aber einen Fremdschlüssel, der mit der PK einer anderen Entität verknüpft ist. Wenn Sie also zwei schwache Entitäten mit derselben FK-ID haben, beziehen sie sich tatsächlich auf dieselbe starke Entität und nicht aufeinander.

2
Ewan