2007-08-23

Entity-Attribute-Value

Entity-Attribute-Value (EAV), det jag nedan kallade key-value, verkar inte vara en helt lysande design vid närmare eftertanke. Man behöver alltså i princip inte ha några kolumner i sina tabeller, man definierar bara ett nytt attribut och slänger in värdet på det attributet för den entitet man pysslar med i sin EAV-tabell. Och så behöver man aldrig mer fråga sin DBA eller arkitekt om lov att ändra databasdesignen, för det kan man göra i kod istället. Men helt plötslig är det knappt en relationsdatabas längre. Det jag mest av allt skulle vilja få fram är java-bönan som hanterar sånna entiteter: superbönan, there was one bean to rule them all. Godzillabönan. Goff-goff. Problemet är att man inte kan typa sina värden/attribut hårt, och om man försöker så tappar man hur som helst förmågan att ändra "designen" dynamiskt. Och selectsatserna blir cp-joinar istället för SELECT * WHERE a AND b. Jag lägger till några nya kolumner istället.

Inga kommentarer:

Skicka en kommentar