Relationstabelle bei sehr vielen Datensätzen erstellen?

cesupa

Erfahrenes Mitglied
Hallo,

ich habe ein Frage bzgl. der Relation zwischen zwei Tabellen. Angenommen, ich habe eine Tabelle A, die Namen eines Ortes speichert und in Tabelle B werden beispielsweise Temperaturwerte zu dem entsprechenden Ort aus Tabelle A gespeichert. Jede Minute ensteht ein neuer Datensatz in Tabelle B, diese wird also sehr schnell sehr sehr groß. Jetzt bin ich mir unschlüssig, wie ich die Tabellen in Relation bringen soll. Mir fallen auf Anhieb zwei Möglichkeiten ein:

1. Es wird eine dritte Tabelle erstellt, die als Relationstabelle zwischen A und B dient, sodass in ihr jedem Ort aus A ein Datensatz aus B zugewiesen wird -> Vorteil: übersichtlich, Nachteil: Relationstabelle wächst mit Tabelle B, wird also auch sehr sehr groß

2. In Tabelle B wird zu jedem Datensatz der zugehörige Ort aus Tabelle A gespeichert -> Vorteil: Es bleibt bei zwei Tabellen Nachteil: es dient nicht gerade der Übersichtlichkeit

Welche Variante sollte ich bevorzugen? Welche ist am effizientesten oder nimmt sich bei beiden Möglichkeiten nicht viel?

Gruß
ces
 
Du hast eine klasische 1:n Beziehung. Eien temperatur ist nur einem Ort zugewiesen. Ein Ort kann mehrere Temperaturen haben.

Ergo Variante 2. In Tabelle B den Schlüssel von Tabelle A mitspeichern.
 
Eine Verknüpfungstabelle wäre sinnlos und würde sogar für mehr Daten sorgen, als notwendig. Ganz klar lösen wie Yaslaw es gesagt hat:

Tabelle1:
ID --- Ortsname

Tabelle2:
ID --- OrtsID --- Temperatur

Gutes Tutorial hierzu: http://www.php-kurs.com/normalisierung.htm
Sonst bei Wikipedia, wenn man das Fachchinesisch versteht. Normalisierung ist verdammt wichtig, wenn es größere Projekte (mit vielen Daten) werden.
Verknüpfungstabellen würden z.B. Sinn machen, wenn du 3 der folgenden Tabellen hast:

Tabelle1:
ID --- Ortsname

Tabelle2:
ID --- Temperatur
Hier eine Liste aller möglichen Temperaturen anlegen (z.B. -40°C bis 50°C)

Tabelle3 (Verknüpfungstabelle):
ID --- OrtsID --- TempID --- Zeitpunkt

Jedoch würde ich eher zu der ersten Variante tendieren, die ich dir beschrieben habe. Die ist meiner Meinung nach etwas praktischer.
 

Neue Beiträge

Zurück