Naps: Relation zwischen zwei Tabellen

Hi,

was ist die gängige Praxis, wenn ich zwei Tabellen miteinander verbinden will?

Macht man eine "Relationship-Tabelle" in der dann eine eindeutige ID beider Tabellen steht?
Oder trage ich einfach eine eindeutige ID z.B. der Tabelle 2 in die Tabelle 1 ein?

Danke!
MfG Naps

  1. Lieber Naps,

    Relationen werden über identische Schlüsselwerte und -bezeichner erreicht. Du interessierst Dich für Grundlagen relationaler Datenbanken und für eine Einführung in JOIN-Techniken. Bei letzteren wird genau dieser Umstand genutzt.

    Liebe Grüße,

    Felix Riesterer.

    --
    "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)
    1. Relationen werden über identische Schlüsselwerte und -bezeichner erreicht. Du interessierst Dich für Grundlagen relationaler Datenbanken und für eine Einführung in JOIN-Techniken. Bei letzteren wird genau dieser Umstand genutzt.

      Die verschiedenen JOIN-Möglichkeiten sind mir denke ich klar.
      Mich verwirren nur die verschiedenen Ansatzpunkte. Wenn man hier bei Wikipedia http://de.wikipedia.org/wiki/Relationale_Datenbank#Beziehungen_zwischen_Tabellen

      nachliest, sieht man, dass dort genau so eine Tabelle vorhanden ist, in der dann nur die beiden Schlüsselwerte zweier Tabellen eingetragen sind. D.h. man hat 3 Tabellen.

      Bei deinem Link wir aber der Schlüssel der Tabelle "Orte" einfach in die erste Tabelle eingetragen.

      Hier würde mich der Unterschied interessieren, bzw. was der bessere Weg ist.

      MfG Naps

      1. Hi,

        Die verschiedenen JOIN-Möglichkeiten sind mir denke ich klar.
        Mich verwirren nur die verschiedenen Ansatzpunkte. Wenn man hier bei Wikipedia http://de.wikipedia.org/wiki/Relationale_Datenbank#Beziehungen_zwischen_Tabellen

        nachliest, sieht man, dass dort genau so eine Tabelle vorhanden ist, in der dann nur die beiden Schlüsselwerte zweier Tabellen eingetragen sind. D.h. man hat 3 Tabellen.

        Bei deinem Link wir aber der Schlüssel der Tabelle "Orte" einfach in die erste Tabelle eingetragen.

        Hier würde mich der Unterschied interessieren, bzw. was der bessere Weg ist.

        Der Unterschied ist die Relation 1:n <---> m:n.

        m:n geht nicht (vernünftig) ohne Verknüpfungstabelle, 1:n schon.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  2. Moin

    was ist die gängige Praxis, wenn ich zwei Tabellen miteinander verbinden will?

    Macht man eine "Relationship-Tabelle" in der dann eine eindeutige ID beider Tabellen steht?
    Oder trage ich einfach eine eindeutige ID z.B. der Tabelle 2 in die Tabelle 1 ein?

    Das kommt auf die Relation an. Bei 1:1 kann man direkt in der einen Tabelle die Relation zur anderen Tabelle eintragen.

    Komplizierter wird es bei 1:n oder m:m Beziehungen. Hier würde ich auf eine gesonderte Relationstabelle zurückgreifen.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ### Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  3. Meine Herren!

    Macht man eine "Relationship-Tabelle" in der dann eine eindeutige ID beider Tabellen steht?
    Oder trage ich einfach eine eindeutige ID z.B. der Tabelle 2 in die Tabelle 1 ein?

    Sowas kann man auf sehr abstrakter Ebene den Normalformen entnehmen. Lass dich nicht von den Formalismen dort abschrecken, den Großteil wird man intuitiv sowieso schon richtig machen. Wenn ich mal wieder vor so einem Problem stehe, rufe ich mir die Normalenformen schnell wieder ins Gedächtnis. Für mich sind diese Normalformen besonders ergiebig, weil sie die Problematik auf einer Ebene erfassen, auf der man sich über JOINS und andere relationale Algebra noch keine Gedanken machen muss, es geht im wesentlichen erstmal nur darum Redundanzen zu vermeiden.

    --
    “All right, then, I'll go to hell.” – Huck Finn
  4. Perfekt!
    Danke an alle ;)