Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Spezialfall: Speicherung einer Liste in einer Spalte - Nachteile?

  Alt 28. Jun 2017, 13:36
Ich würde da differenzieren, in welcher Form ich Zugriff auf einzelne Elemente einer der Listen aus T1 benötige.
Geht es nur um "Pauschalzugriff" auf ein Set von Listen, dass durch distinkte Werte in anderen Spalten definiert ist, kann man wohl auf die Normalisierung verzichten.
Benötige ich dagegen gezielten Zugriff auf Einzelwerte aus einer oder mehreren Listen, wird es kritisch, besonders wenn diese Einzelwerte wieder weitere Relationen definieren oder bei Reports einzeln ausgewertet werden müssen.

Daten für Business Logik würde ich immer ausmodellieren. Nutz/Rohdaten dagegen, die an anderer Stelle von autarken Algorithmen en block verarbeitet werden, kann man m.E. auch gut en blocl speichern.

Bsp:
Id|Liste
12|A;B;C

Ein "Select Liste from BSP where ID =12" ist unproblematisch.
Ein "Select ID from BSP where Liste like '%B%" dagegen ist schon mehr als unschön. Standard Index ist nicht mehr nutzbar, komplexere Kriterien sind ggF. nur noch per Regex abzufragen, ..

P.S.: Der Hinweis von Jumpy ist auch sehr bedenkenswert. Die reine Speicherung der Werte ist eine andere Frage als die Nutzung / Darstellung. Aus einer relationalen Speicherung kann ich problemlos beliebige Aggregate erstellen, auch mit guter Geschwindigkeit. Umgekehrt ein gespeichertes Aggregat zu "verformen" oder zu zerpflücken, macht nicht so einen Spaß.
Gruß, Jo

Geändert von jobo (28. Jun 2017 um 13:39 Uhr)
  Mit Zitat antworten Zitat