Beziehungen zwischen Relationen (Beziehung auf sich selbst?)

Batzi84

Neuer Benutzer
Beiträge
1
Hallo,

ich bin neu hier und auch was Datenbanken angeht noch nicht ganz so fit.
Ich erstelle gerade zu Übungszwecken eine Datenbank, die Arzneimittel verwaltet und komm nicht weiter.

Ich habe eine Relation Arzneimittel: MittelID (= Primärschlüssel) , weitere Eigenschaften...
Relation Vergleichsmittel: ID (= Primärschlüssel) , MittelID (Fremdschlüssel auf Relation Arzneimittel) , VergleichsmittelID (soll sich auch auf irgendeine MittelID aus Arzneimittel beziehen!)

so, in der Relation Arzneimittel werden alle Daten zu einem Medikament gespeichert.
Jetzt soll aber auch zu jeder MittelID alle Medikamente gespeichert werden, die diesem Medikament ähnlich sind. Also diese "ähnlichen" sind auch in der Relation Arzneimittel aufgeführt. Ich brauche also eine Beziehung zwischen den Relationen Arzneimittel und Vergleichsmittel. Aber wenn ich da einen Fremdschlüssel von VergleichsID auf MittelID mach, geht das nicht. Das ist ja quasi eine Fremdschlüsselbeziehung zu sich selbst. Aber wie realisiere ich das?

Ich hoffe ihr versteht was ich meine.
Danke schon mal
 
Werbung:
Arzneimittel ist zunächst mal keine Relation sondern eine Entität die als Tabelle abgebildet wird (Primärschlüssel ist MittelID). Da jedes Mittel Ähnlichkeiten mit n weiteren Mitteln haben kann (genauso umgekehrt) hast du eine n:m Relation / Beziehung von der Entität auf sich selbst.

Um eine n:m Relation abbilden zu können brauchst du zwigend eine Hilfstabelle, ein Fremdschlüssel in der Haupttabelle taugt nur für 1:n Relationen.
In der Hilfstabelle hast du dann deine Fremdschlüssel stehen und zwar zwei, jeder zeigt auf eine MittelID.

Wenn zwischen zwei unterschiedlichen Mitteln maximal eine Ähnlichkeit geführt werden soll, können diese beiden Fremdschlüssel zusammen den Primärschlüssel der Hilfstabelle bilden (in der Theorie...).
 
Zurück
Oben