Vad är en enhet-attribut-värdemodell?

En enhet-attribut-värde-modell är en metod för att representera en samling data i en dator. Modellen är utformad för att tillåta en enhet att beskrivas av en smal uppsättning attribut som väljs från en större lista med möjliga attribut. Genom att indexera den större listan med attribut är det möjligt att endast bifoga relevant information till enhetens datastruktur.Detta tillvägagångssätt gör att ett program eller en databas kan hålla en dynamisk lista över alla möjliga attribut som kan växa efter behov samtidigt som integriteten hos de data som redan har registrerats bibehålls.

Ett sätt för en person att visualisera entitet-attribut-värde-modellen är att föreställa sig en personlig adressbok som den relaterar till en komplett telefonbok. Telefonboken listar varje person i ett område. En personlig adressbok listar endast de personer från telefonboken som är relevanta för ägaren. Det skulle vara ineffektivt att ha en personlig adressbok som listar tusentals personer som är okända, så den personliga adressboken innehåller bara de personer som är relevanta till ägaren. I det här exemplet är namnen på personerna i telefonboken attributen och deras telefonnummer är värdena för dessa attribut.

Detta tillvägagångssätt för att skapa databaser eller andra typer av informationshanteringsprogram har många fördelar: Alla möjliga attribut lagras i en enda lista, så varje post behöver inte ha en stor mängd oanvända variabler eller fält. Detta minskar storleken på poster som lagras. Det håller också informationen kopplad till en enhet relevant och kortfattad så att hundratals tomma attributfält inte behöver korsas för att se fälten med ett värde. Nya attribut kan enkelt läggas till utan behov av en fullständig databaskonvertering, eller till och med några ändringar av befintliga poster.

En annan fördel med att använda entity-attribute-value-modellen är att attributen i listan inte behöver vara alla av samma datatyp. Varje attribut kan inte bara vara en annan typ av data, utan i objektorienterad programmering kan de vara helt olika programklasser, vilket ger en stor mängd flexibilitet i utformningen av en databas som förlitar sig på denna form av datamodellering.

Entity-attribute-value-modellen är inte en exklusiv datamodell. I de flesta databaser kan traditionella relationsstrukturer även användas för att representera data där det är mer praktiskt att göra det. Den omgivande dataposten kan hanteras relationellt medan de inre fälten hanteras med entity-attribute-value-modellen.

En databas eller ett program som använder entity-attribute-value-modellen för datamodellering kommer med största sannolikhet att behöva använda sig av metadata. Metadata är en samling regler och riktlinjer som överbryggar klyftan mellan användaren och data. Den kan definiera vilka värden som är giltiga för ett visst attribut, hur värdet ska visas och eventuellt till och med hur attributen skulle kunna ordnas vid generering av rapporter Utan implementering av metadata, entity-attribute-value modell kan bli en oflexibel och krånglig databasstruktur.