Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:datensatz:struktur

Struktur

Jeder Datensatz für eine bestimmte Art von Daten wird spezifische, nur für diesen Zweck notwendige Felder besitzen. Gleichzeitig hat aber jeder Datensatz eine allgemeine, immer gleiche Struktur. Das erleichtert die Arbeit mit unterschiedlichen Datensätzen und ermöglicht die einfache und sichere Identifikation des jeweiligen Typs.

Grundlegende Eigenschaften

Ein Datensatz ist immer ein assoziatives Datenfeld (vgl. Abb. 1). In Matlab entspräche das dem Datentyp struct, in PHP einem hash, in anderen Sprachen einem assoziativen Array. Der große Vorteil dieses Datentyps ist der Zugriff auf einzelne Felder anhand ihres Schlüssels und die einfache Speicherung von Schlüssel-Wert-Paaren, wie sie sehr oft für Metadaten natürlicherweise auftaucht.

Vergleich von geordneten Listen und assoziativen Datenfeldern
Abbildung 1: Vergleich von geordneten Listen und assoziativen Datenfeldern. Während geordnete Listen, gleich welchen Inhaltes, immer einen nummerischen Index für ihre Felder haben, ist bei assoziativen Datenfeldern der Feldindex („Schlüssel“) ein Wort.

Allgemeine Struktur

Das Konzept des Datensatzes hat sich aus den beiden Matlab-Toolboxen für die Verarbeitung zeitaufgelöster EPR- (trEPR-Toolbox) und transienter Absorptionsspektren (TA-Toolbox) über die Jahre entwickelt. Aus dieser Erfahrung heraus lässt sich eine allgemeine Struktur eines Datensatzes ableiten.

Auf oberster Ebene ergeben sich die folgenden Felder, jeweils mit kurzer Beschreibung ihres „Inhaltes“:

data
numerisch
(verarbeitete) Daten – gemessen oder simuliert
origdata
numerisch
Rohdaten aus der Originaldatei/-quelle
axes
assoziatives Datenfeld (hierarchisch)
Informationen zu den Achsen
Achsen werden numerisch indiziert, nicht mit Achsen (x,y,z) bezeichnet1)
parameters
assoziatives Datenfeld (hierarchisch)
Informationen zur Messung
Ein Großteil der Metadaten zur Messung wird hier abgelegt.
sample
assoziatives Datenfeld (hierarchisch)
Informationen zur Probe
comment
Textfeld
Kommentar zum Datensatz
„Freitext“ möglich
history
Liste assoziativer Datenfelder
Historie der Datenverarbeitung
Für jeden einzelnen Schritt der Datenverarbeitung wird ein assoziatives Datenfeld in der Liste erzeugt. Die Reihenfolge in der Liste entspricht der Reihenfolge der Prozessierungsschritte.
file
assoziatives Datenfeld (hierarchisch)
Informationen zur Originaldatei
format
assoziatives Datenfeld (hierarchisch)
Typ und Version des Datensatzes
Jede Art von Daten erfordert in der Regel eigene, spezielle Felder.
Nur wenn an einer generischen Stelle in einem Datensatz der Typ erkennbar ist, kann ein Programm einfach darauf zugreifen – unabhängig davon, ob es diesen speziellen Datensatztyp dann weiterverarbeiten kann.2)
Da die (interne) Struktur von Datensätzen einer ständigen Weiterentwicklung unterworfen ist – insbesondere bei der Ablage der Metadaten –, ist zur Wahrung der Abwärtskompatibilität und zur Erleichterung der robusten Programmierung eine Versionsinformation (mit Datum!) von entscheidender Bedeutung.
label
Zeichenkette
kurzer, möglichst eindeutiger Bezeichner, wie er dann auch z.B. in Listen von Datensätzen innerhalb grafischer Oberflächen verwendet werden kann.


Optionale Felder

Es gibt eine Reihe von Feldern für spezielle Zwecke, die nicht zwangsläufig in jedem Datensatz auftauchen müssen, aber die dann Verwendung finden, wenn entsprechende zusätzliche Daten bzw. Informationen abgelegt werden müssen.

calculated
numerisch
berechnete Daten im Falle von Simulationen
Liegen in einem Datensatz nur berechnete Daten vor, dann werden diese im Feld data gespeichert.
Handelt es sich dagegen um einen experimentellen Datensatz, zu dem zusätzlich Simulationen erzeugt wurden, wird das jeweilige Ergebnis der Simulation in diesem Feld abgelegt.


Feldnamen

Die Feldnamen müssen eine Reihe von Konventionen erfüllen, teilweise aus praktischen Erwägungen, teilweise aufgrund der spezifischen Gegebenheiten der verwendeten Programmiersprachen (in erster Linie momentan Matlab):

  • englische Bezeichnungen
  • erstes Zeichen muss ein Buchstabe sein
  • keine Sonderzeichen, nur Buchstaben und Zahlen (A-Za-z0-9)

Feldnamen sollten darüber hinaus nicht zu lang werden. Gibt es mehrere Feldnamen auf einer Ebene, die das gleiche Präfix tragen, sollten sie (in der Regel) in einem eigenen assoziativen Datenfeld zusammengefasst werden, das wiederum das Präfix als Namen trägt.

1)
Das ist eine neue Entwicklung, die zumindest in den bestehenden beiden Toolboxen, trEPR-Toolbox und TA-Toolbox, Stand Anfang April 2014 noch nicht umgesetzt wird.
2)
Dahinter steht die Überlegung, dass grundlegende Funktionen zum Ein- und Auslesen von Datensätzen in erster Linie unabhängig von der jeweiligen Toolbox und Datenweiterverarbeitung sind und deshalb eine automatische Identifizierbarkeit des Typs des jeweiligen Datensatzes bedeutsam wird.
de/software/datensatz/struktur.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1