Hvad er datamodellering?
Datamodellering er processen med at diagrammere dataflows.
Datamodelleringsoversigt
Datamodellering er processen med at diagrammere dataflows. Når der oprettes en ny eller alternativ databasestruktur, starter designeren med et diagram over, hvordan data vil flyde ind og ud af databasen. Dette flowdiagram anvendes til at definere kendetegnene for dataformater, strukturer og databasehåndteringsfunktioner for effektivt at understøtte kravene til dataflow. Efter at databasen er blevet bygget og implementeret, lever datamodellen videre til at blive dokumentationen og begrundelsen for, hvorfor databasen eksisterer, og hvordan dataflows blev designet.
Den datamodel, der er resultatet af denne proces, giver en ramme af relationer mellem dataelementer i en database samt en vejledning til brug af dataene. Datamodeller er et grundlæggende element i softwareudvikling og analyse. De giver en standardiseret metode til at definere og formatere databaseindhold konsekvent på tværs af systemer, hvilket gør det muligt for forskellige applikationer at dele de samme data.
Hvorfor er datamodellering vigtigt?
En omfattende og optimeret datamodel hjælper med at oprette en forenklet, logisk database, der eliminerer redundans, reducerer lagerbehov og muliggør effektiv hentning. Den udstyrer også alle systemer med en "enkelt sandhedskilde" – hvilket er afgørende for effektiv drift og dokumenterbar overholdelse af forskrifter og lovkrav. Datamodellering er et vigtigt skridt i to vitale funktioner i en digital virksomhed.
Softwareudviklingsprojekter (nye eller tilpasninger) udført af it-fagfolk
Før du designer og bygger et softwareprojekt, skal der være en dokumenteret vision for, hvordan det endelige produkt vil se ud, og hvordan det vil opføre sig. En stor del af den vision er det sæt forretningsregler, der styrer den ønskede funktionalitet. Den anden del er databeskrivelsen – dataflows (eller datamodellen) og databasedesignet til at understøtte det.
Datamodellering registrerer visionen og giver en køreplan for softwaredesignerne. Med databasen og dataflows fuldt definerede og dokumenterede og systemer, der er udviklet i henhold til disse specifikationer, bør systemerne levere den forventede funktionalitet, der er nødvendig for at holde dataene nøjagtige (forudsat at procedurerne er blevet fulgt korrekt).
Analyse og visualisering – eller business intelligence – et primært beslutningsværktøj for brugerne
Med stigende datamængder og stigende antal brugere har organisationer brug for en måde at omdanne rå data til handlingsrettet information til beslutningstagning. Ikke overraskende er efterspørgslen efter dataanalyse vokset dramatisk. Datavisualisering gør data endnu mere tilgængelige for brugerne ved at præsentere dataene grafisk.
Dagens datamodeller omdanner rå data til nyttig information, der kan omdannes til dynamiske visualiseringer. Datamodellering forbereder dataene til analyse: Rensning af data, definition af måltal og dimensioner og forbedring af data ved at etablere hierarkier, indstille enheder og valutaer og tilføje formler.
Hvad er typerne af datamodellering?
De tre primære datamodeltyper er relationel, dimensionel og entitets-relation (E-R). Der er også flere andre, der ikke er i almindelig brug, herunder hierarkisk, netværk, objektorienteret og multi-value. Modeltypen definerer den logiske struktur – hvordan data gemmes logisk – og dermed hvordan de gemmes, organiseres og hentes.
- Relationel: Selvom den er "ældre" i tilgangen, er den mest almindelige databasemodel, der stadig anvendes i dag, relationel, som gemmer dataene i poster i fast format og arrangerer data i tabeller med rækker og kolonner. Den mest grundlæggende type datamodel har to elementer: måltal og dimensioner. Måltal er numeriske værdier, fx mængder og indtægter, der bruges i matematiske beregninger som sum eller gennemsnit. Dimensioner kan være tekst eller numeriske. De bruges ikke i beregninger og indeholder beskrivelser eller placeringer. Rådataene defineres som et måltal eller en dimension. Anden terminologi, der bruges i relationsdatabasedesign, omfatter "relationer" (tabellen med rækker og kolonner), "attributter" (kolonner), "tuples" (rækker) og "domæne" (værdisæt tilladt i en kolonne). Mens der er yderligere termer og strukturelle krav, der definerer en relationsdatabase, er den vigtige faktor de relationer, der er defineret i denne struktur. Fælles dataelementer (eller nøgler) sammenkæder tabeller og datasæt. Tabeller kan også relateres eksplicit, som forældre- og underordnede relationer, herunder en-til-en, en-til-mange eller mange-til-mange.
- Dimensional: Mindre stiv og struktureret, den dimensionelle tilgang favoriserer en kontekstuel datastruktur, der er mere relateret til forretningsbrug eller kontekst. Denne databasestruktur er optimeret til online-forespørgsler og datalagringsværktøjer. Kritiske dataelementer, fx en transaktionsmængde, kaldes "fakta" og ledsages af referenceoplysninger kaldet "dimensioner", det være sig produkt-id, enhedspris eller transaktionsdato. En faktatabel er en primær tabel i en dimensionsmodel. Hentning kan være hurtig og effektiv – med data for en bestemt type aktivitet gemt sammen – men manglen på relationsforbindelser kan komplicere analytisk hentning og brug af dataene. Da datastrukturen er knyttet til den forretningsfunktion, der producerer og anvender dataene, kan det være problematisk at kombinere data produceret af forskellige systemer (f.eks. i et datalager).
- Entity-Rich (E-R): En E-R-model repræsenterer en forretningsdatastruktur i grafisk form, der indeholder felter med forskellige former til at repræsentere aktiviteter, funktioner eller "entiteter" og linjer, der repræsenterer tilknytninger, afhængigheder eller "relationer". E-R-modellen bruges derefter til at oprette en relationsdatabase med hver række, der repræsenterer en entitet, og felterne i den pågældende række indeholder attributter. Som i alle relationsdatabaser bruges "key"-dataelementer til at sammenkæde tabeller.
Hvad er de tre niveauer af dataabstraktion?
Der findes mange typer datamodeller, med forskellige typer af mulige layouts. Databehandlingsfællesskabet identificerer tre former for modellering for at repræsentere tankeniveauer, efterhånden som modellerne udvikles.
Konceptdatamodel
Dette er den "store billede" model, der repræsenterer den overordnede struktur og indhold, men ikke detaljerne i dataplanen. Det er det typiske udgangspunkt for datamodellering, der identificerer de forskellige datasæt og dataflow gennem organisationen. Den konceptuelle model er den overordnede plan for udvikling af de logiske og fysiske modeller og er en vigtig del af dataarkitekturdokumentationen.
Logisk datamodel
Det andet detaljeringsniveau er den logiske datamodel. Den vedrører mest den generelle definition af "datamodel", idet den beskriver dataflowet og databaseindholdet. Den logiske model tilføjer detaljer til den overordnede struktur i konceptmodellen, men inkluderer ikke specifikationer for selve databasen, da modellen kan anvendes på forskellige databaseteknologier og produkter. (Bemærk, at der muligvis ikke er en begrebsmodel, hvis projektet vedrører en enkelt applikation eller et andet begrænset system).
Fysisk datamodel
Den fysiske databasemodel beskriver detaljerne for, hvordan den logiske model vil blive realiseret. Den skal indeholde nok detaljer til, at teknologer kan oprette den faktiske databasestruktur i hardware og software til at understøtte de applikationer, der vil bruge den. Det er overflødigt at sige, at den fysiske datamodel er specifik for et udpeget databasesoftware system. Der kan være flere fysiske modeller, der er afledt fra en enkelt logisk model, hvis forskellige databasesystemer vil blive anvendt.
Datamodelleringsproces og -teknikker
Datamodellering er i sagens natur en top-down proces, startende med den konceptuelle model til at etablere den overordnede vision, derefter gå videre til den logiske model, og til sidst det detaljerede design indeholdt i den fysiske model.
Opbygning af den konceptuelle model er for det meste en proces med at konvertere ideer til en grafisk form, der ligner en programmør udviklers flowdiagram.
Moderne datamodelleringsværktøjer kan hjælpe dig med at definere og opbygge dine logiske og fysiske datamodeller og databaser. Her er et par typiske datamodelleringsteknikker og trin:
Determiner entiteter, og opret et entitetsrelationsdiagram (ERD). Enheder kan bedre beskrives som "dataelementer af interesse for din virksomhed." For eksempel ville "kunde" være en entitet. "Salg" ville være en anden. På et ERD dokumenterer du, hvordan disse forskellige enheder relaterer til hinanden i din virksomhed, og hvilke forbindelser på højt niveau der findes mellem dem.
Definer dine fakta, måltal og dimensioner. En kendsgerning er den del af dine data, der indikerer en bestemt forekomst eller transaktion, såsom salget af et produkt. Deres mål er kvantitative, som mængde, indtægter, omkostninger osv. Dine dimensioner er kvalitative måltal, fx beskrivelser, placeringer og datoer.
Opret et datavisningslink ved hjælp af et grafisk værktøj eller via SQL-forespørgsler. Hvis du ikke er bekendt med SQL, er det grafiske værktøj den mest intuitive indstilling, så du kan trække og slippe elementer ind i din model og visuelt opbygge dine forbindelser. Når du opretter en visning, har du mulighed for at kombinere tabeller og endda andre visninger i et enkelt output. Når du vælger en kilde i den grafiske visning og trækker den oven på en kilde, der allerede er knyttet til outputtet, har du mulighed for enten at sammenkæde eller oprette en forening af disse tabeller.
Moderne analyseløsninger kan også hjælpe dig med at vælge, filtrere og forbinde datakilder ved hjælp af en grafisk træk-og-slip-visning. Avancerede værktøjer er tilgængelige for dataeksperter, der typisk arbejder i IT – men brugere kan også oprette deres egne stories ved visuelt at oprette en datamodel og organisere tabeller, diagrammer, kort og andre objekter for at fortælle en story baseret på dataanalyser.
Eksempler på datamodellering
For enhver applikation – hvad enten det er forretning, underholdning, personlig eller andet – er datamodellering et nødvendigt tidligt skridt i udformningen af systemet og definitionen af den infrastruktur, der er nødvendig for at aktivere systemet. Dette omfatter enhver type transaktionssystem, databehandlingsapplikationssæt eller programpakke eller ethvert andet system, der indsamler, opretter eller bruger data.
Datamodellering er afgørende for datalagring, fordi et datalager er et lager for data hentet fra flere kilder, som sandsynligvis har lignende eller relaterede data i forskellige formater. Det er nødvendigt først at kortlægge lagerformater og struktur for at bestemme, hvordan man manipulerer hvert indgående datasæt for at tilpasse sig behovene i lagerets design – så dataene vil være nyttige til analyse og data mining. Datamodellen er derefter en vigtig katalysator for analytiske værktøjer, ledelsesinformationssystemer (dashboards), datamining og integration med alle datasystemer og -applikationer.
I de tidlige designfaser for ethvert system er datamodellering en vigtig forudsætning, at alle de andre trin og faser afhænger af for at etablere det grundlag, som alle programmer, funktioner og værktøjer er afhængige af. Datamodellen er som et fælles sprog, der gør det muligt for systemer at kommunikere gennem deres forståelse og accept af data som beskrevet i modellen. Dette er vigtigere end nogensinde i nutidens verden af Big Data, machine learning, kunstig intelligens, cloud-forbindelse, IoT og distribuerede systemer, herunder edge computing.
Udvikling af datamodellering
I en meget reel forstand har datamodellering eksisteret så længe som databehandling, datalagring og computerprogrammering, selv om selve begrebet sandsynligvis først kom i almindelig brug omkring det tidspunkt, hvor databaseforvaltningssystemer begyndte at udvikle sig i 1960'erne. Der er ikke noget nyt eller innovativt ved konceptet med planlægning og arkitektur af en ny struktur. Selve datamodelleringen er blevet mere struktureret og formaliseret i takt med, at der er opstået flere data, flere databaser og flere variationer af data.
I dag er datamodellering mere afgørende end nogensinde, da teknologer kæmper med nye datakilder (IoT-sensorer, placeringsbevidste enheder, klikstrømme, sociale medier) sammen med et virvar af ustrukturerede data (tekst, lyd, video, rå sensoroutput) – ved volumener og hastigheder, der overstiger de traditionelle systemers muligheder. Der er nu en konstant efterspørgsel efter nye systemer, innovative databasestrukturer og -teknikker og nye datamodeller for at binde denne nye udviklingsindsats sammen.
Hvad er det næste for datamodellering?
Informationstilslutning og store mængder data fra så mange forskellige kilder – herunder sensorer, tale, video, e-mail og meget mere – udvider omfanget af modelleringsprojekter for it-fagfolk. Internettet er naturligvis en af katalysatorerne for denne udvikling. Skyen er en stor del af løsningen, da den er den eneste databehandlingsinfrastruktur, der er stor nok, skalerbar nok og adræt nok til at imødekomme aktuelle og fremtidige krav i den ekspanderende verden af konnektivitet.
Mulighederne for databasedesign er også under forandring. For ti år siden var den dominerende databasestruktur en rækkeorienteret relationsdatabase, der brugte traditionel disklagringsteknologi. Dataene for en typisk ERP-hovedbog eller lagerstyring blev gemt i snesevis af forskellige tabeller, der skal opdateres og modelleres. I dag gemmer moderne ERP-løsninger aktive data i hukommelsen ved hjælp af et søjledesign for en dramatisk reduktion af tabeller og øget hastighed og effektivitet.
For branchefolk vil de nye selvbetjeningsværktøjer, der er til rådighed i dag, fortsat blive forbedret. Og nye værktøjer vil blive introduceret for at gøre datamodellering og visualisering endnu lettere og mere samarbejdsorienteret.
Sammenfatning
En gennemtænkt og komplet datamodel er nøglen til udviklingen af en virkelig funktionel, nyttig, sikker og præcis database. Start med den konceptuelle model for at lægge alle komponenter og funktioner i datamodellen. Derefter finpudse disse planer til en logisk datamodel, der beskriver dataflows og præciserer definitionen af, hvilke data der er behov for, og hvordan de vil blive erhvervet, håndteret, lagret og distribueret. Den logiske datamodel driver den fysiske datamodel, der er specifik for et databaseprodukt, og er det detaljerede designdokument, der styrer oprettelsen af databasen og applikationssoftwaren.
God datamodellering og databasedesign er afgørende for udviklingen af funktionelle, pålidelige og sikre applikationssystemer og databaser, der fungerer godt med datalagre og analytiske værktøjer – og letter dataudveksling med forretningspartnere og mellem flere applikationssæt. Gennemtænkte datamodeller hjælper med at sikre dataintegritet, hvilket gør din virksomheds data endnu mere værdifulde og pålidelige.
Udforsk moderne datamodelleringsværktøjer
Forbind data med forretningskontekst for at give forretningsbrugere mulighed for at låse op for indsigt.
Ideer, du ikke finder andre steder
Tilmeld dig en dosis business intelligence leveret direkte i din indbakke.