Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Record (mit Array) -> Datenbank / IBExpert

  Alt 28. Okt 2013, 06:29
Arrays innerhalb von Records schreien geradezu nach einer bzw. mehreren zusätzlichen Tabellen. Keine auch nur ansatzweise gut designte DB speichert in einem einzigen Feld mehrere Werte. Das ist schon fast eines der größten No-Gos, und selbst wenn ein DBMS so etwas unterstützen würde, wäre es im Handling (und sehr wahrscheinlich auch in Sachen Performance) ein kleiner Albtraum.
Das darf man so nicht unkommentiert stehenlassen, denn so allgemein gesprochen ist es schlichtweg falsch. Arrays in einer Spalte unterzubringen ist von der Performance her das Optimale, und vom Handling her auch. Es kommt natürlich immer drauf an

Wenn ich z.B. ein Array von Messwerten habe, die nur in Gänze innerhalb der DB eine Rolle spielen, dann kann und soll ich da sehr wohl in einem einzigen (z.B. BLOB) Feld abspeichern, so wie z.B. Bilder. Dort spielt das einzelne Pixel innerhalb der DB auch keine Rolle.

Habe ich jedoch z.B. ein Array of Namen, dann sollte ich den Aliasnamen selbst natürlich in einer separaten Tabelle ablegen.

Man muss den Begriff Wort 'Datum' (als Einzahl von Daten) im Kontext der Datenbank einfach genau definieren. Im Beispiel ist die 'Messreihe' ein einzelnes Datum (wenn man nie nach einzelnen Messergebnissen der Messreihe sucht). Ebenso das Bild (weil man nie nach 'Roter Pixel links oben' sucht).

Wenn ich jedoch nach alternativen Namen suchen möchte, dann breche ich mir, wie Medium das schon formuliert hat, mächtig einen Ab, wenn ich dieses Array nicht aufdrösele.
  Mit Zitat antworten Zitat