T-SQL Pivot für Entity–Attribute–Value (EAV) Tabellen
Ein Kunde hat mir vor ein paar Tagen seinen Kummer mitgeteilt, wie Anwendungsentwickler in einem Projekt mit sogenannten Named-Value bzw .Entity-Attribute-Value Tabellen und deren Abfrage umgegangen sind. Bei einem EAV Modell werden die Werte nicht in expliziten Spalten persistiert, sondern über einen Attributschlüssel verwaltet. Mehr siehe im Link oben (interessant in diesem Link auch der Hinweis auf Sparse columns, wobei ich diese nicht als Alternative sehe!). Gegen die Verwendung von EAV Modellen spricht eigentlich nichts. Ich selbst habe diese Form der Modellierung in einigen Projekten vorgeschlagen, wenn die Herausforderung danach verlangte. Man erkauft sich eine Menge Flexibilität im Datenmodell mit der Last, dass man dieses später wesentlich aufwendiger in der Pflege und Abfrage ist. Nun ja, irgendwas ist ja immer. Sowohl in OLTP als auch in Data Warehouse Projekten trifft man also gern auf so etwas. Im Data Warehouse Umfeld finden wir diese Form der Modellierung für Fakt