×Prime Arch

Från dataskrapning till datamodell

Publicerad den
Patrik Hallén

Datamodellen beskriver hur informationen realiserats i ett informationssystem. Den är således en beskrivning av hur datastrukturen faktiskt ser ut i nuläget, vilket nödvändigtvis inte är samma sak som hur informationen borde struktureras.

Ett förtydligande om datamodellen och notationen som används nedan: modellen är tänkt att hållas på en konceptuell nivå för att beskriva innehållet och strukturerna på en  övergripande nivå, utan för mycket detaljer. Datamodeller kan övergripande delas in i tre typer:

  • Konceptuell datamodell. Visar dataentiteter och relationer.
  • Logisk datamodell. Visar attribut och relationer mellan tabeller i form av så kallade främmande nycklar.
  • Fysisk datamodell. Visar hur modellen implementerats i en databas med fältnamn och datatyper.

För mer information om skillnader, se länkar nedan.

Modelltypen som beskrivs nedan är således konceptuell.

I artikeln om dataskrapning introducerades ett enkelt exempel med en skärmbild från ekonomisystemet Fortnox. I exemplet skrapades några få fält av i form av datatermer. Från dataskrapningen är det dataentiteterna som utgör grunden för datamodellen.  

 

Varje dataentitet överförs till datamodellen, och relationerna mellan dem kan utläsas från skärmbilden och "gaffeln" (Många-relationen) placeras enligt följande:

  • På entitet som får ett attribut från en värdelista
    • Exempel: Kund "specificeras av" "Kundtyp" (se nedan)
  • Entitet som har ett beroende till en annan entitet
    • Exempel: "Adress" tillhör "Kund"
    • Exempel: "Fakturarad" tillhör "Faktura"

Exemplet ovan ger en datamodell med endast två dataentiteter. Vanligtvis är en datamodell mer komplicerad och innehåller ett flertal entiteter och relationer. I det aktuella exemplet Fortnox är informationen om Kund uppdelad i flera sektioner. En utfällbar sektion innehåller "fler adressuppgifter":

Enligt metoden som förespråkas ovan markeras alla fält med Datatermer (D52) och därefter identifieras Dataentiteter (D51) som grupperas mot ett Dataobjekt (D41).

Utöver de redan modellerade dataentiteterna "Kund" och "Kundtyp" kan följande entiteter identifieras:

  • Land (värdelista)
  • Leveransadress (uppsättning av attribut)
  • Leveransadress (uppsättning av attribut)

En närmare analys av datastrukturen för adresser visar att det är möjligt, men inte tvingande, att lägga till en (och endast en) leveransadress och likas besöksadress. Skärmbilderna visar att dessa bägge adresser har olika attributsuppsättningar.

Därpå följer slutsatsen att adresserna är egna entiteter, men att att relationen från kund är 1:1 då det inte finns möjlighet att spara mer än en adress av varje typ.

Datamodellen kan således kompletteras enligt följande:

Datamodellen, som i detta exempel fortfarande inte är komplett sett till skärmbildernas innehåll, är en rimlig konceptuell representation av den underliggande fysiska datamodellen (som varken kan eller bör analyseras då den innehåller alltför många detaljer som grumlar sikten).

Av modellen kan utläsas att när en Kund ska registreras så måste Kundtyp och Land specificeras, samt att en eller flera adresser kan läggas upp och kopplas till kunden, men endast en av vardera leveransadress och besöksadress.

I nästa artikel beskrivs hur datamodellen kan användas för att utforma informationsmodellen, den modell som används för att representera de krav som verksamheten ställer på information sett till innehåll och struktur: Från datamodell till informationsmodell.

Länkar

Metaobjekt:

Vytyper:

  • Datamodell (DEM)