ich möchte eine Datenbank aufbauen, um Messwerte abzuspeichern. Zunächst habe ich eine Tabelle “Messwerte”, bei der pro Messung ein Datensatz eingetragen wird. Diese beinhaltet die wichtigsten Messresultate, ca. 10 Spalten.
Zu jeder Messung gehören, aber auch eine Messgrafik. Wenn ich diese beispielsweise in einer Tabelle speichern würde, hätte ich 3 Spalten und bis 5000 Zeilen. Allerdings hätte dann ich für jede neue Messung eine neue Tabelle…
Ich möchte nun die Messwerte mit der Messgraphik verknüpfen, weiss allerdings nicht so recht, wie dies am besten zu machen ist. In jeder Zeile von “Messwerte” möchte ich eine Referenz auf die Messgraphik haben. Kann man beispielsweise über eine Art Fremdschlüssel auf eine Tabelle “Messgraphik XY” verweisen?
Alternativ habe ich noch was zu Arrays gelesen, sollte man eher diese verwenden? Oder gibt es eine viel einfachere Lösung?
Im Voraus schon recht herzlichen Dank für Eure Antworten!
Herzlichen Dank für die schnelle Antwort, allerdings ist mir mir dasnoch nicht ganz klar
Deinen Vorschlag würde ich verstehen, wenn ich die 5000 x 3 Messpunkte als Spalten in der Tabelle Messgraphik machen würde. Dann hätte ich für jede Messung einen Datensatz in Messgraphik und einen in Messung. Würde das aber Sinn machen oder stehe ich generell noch auf dem Schlauch?
Generell hätte ich lieber von der Tabelle Messung eine Referenz zu Messgraphik. Hintergrund ist auch noch, dass eventuell aus Speichergründen die Messgraphik abgeschaltet werden soll. Somit gibt es eventuell nicht zu jedem Datensatz in der Tabelle Messung passende Einträge in der Tabelle Messgraphik…
Ok, ich glaube, ich hab es jetzt verstanden. Jetzt ist es mir klar, wie du es gemeint hast. Herzlichen Dank!
Damit wird die Tabelle messgrafik natürlich sehr gross. Noch eine Frage zur möglichen Geschwindigkeit einer solchen Datenbank:
Sagen wir, wir hätten in der Tabelle messgrafik, 1000 Messungen, also 5 Millionen Datensätze. Was meinst du, wie lange würde es auf “einem normalen PC” dauern, bis man die Daten einer beliebigen Messgrafik, d.h. ein Block von 5000 Datensätzen herausgelesen hätte? Keine Angst, ich nagele dich da nicht fest, bin aber als Anfänger nun mal noch ohne Plan Dauert es eher im Bereich einiger Millisekuden, Sekunden oder eher Minuten?
Millisekunden sicher nicht, Sekunden würd ich sagen, aber im unteren Bereich. Aber das hängt von vielen Faktoren ab, insbesondere RAM und Pladde. 5 Mille Datensätze ist eher, ähm, wenig. Wichtig ist natürlich auch die ganze Struktur der Sache, Indexe etc. Mit ‘richtiger’ Hardware bekommst das auch in deutlich unter 1 Sekunde hin.
Was meinst du, wie lange würde es auf “einem normalen PC” dauern, bis man die Daten einer beliebigen Messgrafik, d.h. ein Block von 5000 Datensätzen herausgelesen hätte?
Das hängt natürlich von vielen Faktoren ab. Auf meine ziemlich betagten Desktop dauert das Laden von 5000 Datensätzen für eine Messung (bei dem oben beschriebenen) Szenario via einem Java SQL Tool etwa 0.15 Sekunden (ohne Netzwerkverkehr, weil alles lokal). Dabei muss natürlich ein entsprechender Index existieren.
Das Berechnen der Durchschnittswerte für die Messwerte alle 5000 Messungen (also aller 5 Mio Messwerte) dauert auf meinem betagten Desktop ca. 3 Sekunden.
Es hängt halt immer davon ab, wie drauf zugegriffen wird.