ich arbeite neu mit Datenbanken/Access und soll eine kleine Datenbank für unsere Messungen schreiben. In die Tabellen soll eine große Anzahl an Parametern geschrieben werden und später will ich mit externer Analysesoftware nach gewissen Parametern filtern und die entsprechenden Messergebnisse bearbeiten.
Manche der Messergebnisse sind allerdings nicht eine einzelne Zahl, sondern ein ganzer scan mit ~30-100 Werten (bzw. x-y Paare an Werten), also ein array.
Jetzt bin ich am grübeln wie ich mit diesen Arrays am besten verfahre.
Ich habe bisher 3 Lösungen ins Auge gefasst:
Jeden array in einem externen (ascii oder binär) file speichern, und in der Datenbank den kompletten Pfad angeben.
Für jede Messung eine eigene Tabelle erstellen, und in der Messübersichtstabelle die Tabellennamen ablegen. Allerdings wird die Anzahl der Messungen in die 1000e-10000e gehen, das heisst ich hätte dann eine große Anzahl an Tabellen.
Die Messwerte in einen hast/string verwandeln und direkt in die Messtabelle ablegen.
Meine Tendenz geht zu 1), aber es ist mir etwas unwohl wenn ich daran denke dass die datenbank allein dann nichts mehr wert ist, sondern dass ich auch immer die entsprechende Verzeichnisstruktur brauche.
Gibt es irgendeinen Standardweg ein derartiges Problem zu lösen?
nur um sicher zu gehen: du meinst dass ich z.B. eine Tabelle mit 3 Feldern (meas_ID, x-Wert, y_Wert) erstell, dann für einen array der Länge N N Datensätze (=N Zeilen) anleg die alle den gleichen meas_ID Wert haben, und den nächsten array einfach unten anhänge mit entsprechend anderer meas-ID? Daran hab ich gar nich gedacht, aber klingt ganz gut…
Klingt so als ob das dann eine sehr lange Tabelle werden könnte (mit >1e6 „Zeilen“. Stellt das ein Problem dar?
Zu deiner Frage: die Daten werden von einem externen Perl-script über einen sql Befehl in die Datenbank geschrieben.
Die Anzahl der Zeilen ist egal, die Datenbank kann aber nur max. 2 GB aufnehmen. Da es sich bei dir nur um wenig Informationen pro Datensatz handelt, wirst du ein paar Jahre damit auskommen.
Hallo Goa und Wolfgang,
die Access-Lösung funktioniert sicher, aber bietet es sich nicht an, bei der Auswertung von Messwerten gleich ein Programm zu nehmen, das für solche Sachen spezialisiert ist, wie z.B. R http://www.r-project.org/
Nur mal so als Anregung…
vielen Dank für die Anregung.
Wenn ich frei in meinen Entscheidungen wäre, dann wäre das sicher eine Überlegung wert, wobei ich mir wohl eher irgendwas mit Python+Packages stricken würde.
Für die Datenanalyse bin ich freier, und da werde ich dann Python (bzw. numpy/matplotlib/scipy) hernehmen, einfach weil ichs schon kann und es für eine sehr elegante Sprache halte.
Der Neugier halber: kennst du irgendwo einen guten Vergleich zwischen R und Python/Pylab?