Datamodellering: Konceptuel, Logisk og Fysisk
⚡ Smart opsummering
Datamodellering opbygger en struktureret visuel plan for, hvordan dataobjekter relaterer sig i en database, håndhæver regler, navngivningskonventioner og integritet. Denne ressource forklarer de tre kerneniveauer - konceptuelt, logisk og fysisk - og viser, hvordan hvert lag styrer design- og implementeringsbeslutninger.

Hvad er datamodellering?
Datamodellering (datamodellering) er processen med at oprette en datamodel for de data, der skal gemmes i en database. Datamodellen er en konceptuel repræsentation af dataobjekter, forbindelserne mellem disse objekter og de regler, der styrer dem. Ved at visualisere data på denne måde kan teams håndhæve forretningsregler, overholdelse af lovgivning og regeringspolitikker, før der oprettes tabeller.
Datamodeller sikrer også konsistens i navngivningskonventioner, standardværdier, semantik og sikkerhed, samtidig med at de understøtter den overordnede datakvalitet. Diagrammet nedenfor viser, hvordan de tre kernelag i datamodellering passer sammen med stigende detaljeringsniveauer.
Datamodeller i DBMS
Datamodel er en mavemuskeltracen model, der organiserer databeskrivelse, datasemantik og de konsistensbegrænsninger, der anvendes på disse data. Modellen understreger det data er nødvendige, og hvordan Den bør organiseres, snarere end hvilke operationer der skal udføres på den. Tænk på en datamodel som en arkitekts byggeplan: den fastlægger den konceptuelle struktur og forholdet mellem dataelementer længe før databasen fysisk oprettes.
To notationer bruges almindeligvis som datamodelleringsteknikker:
- Entity Relationship (ER) Model — en grafisk notation, der viser enheder, attributter og forholdet mellem dem.
- UML (Unified Modeling Language) — et bredere visuelt sprog, der understøtter klassediagrammer, der er egnede til design af datastrukturer.
Denne vejledning i datamodellering er bedst egnet til nybegyndere, begyndere og erfarne professionelle, der har brug for en genopfriskning af konceptuelle, logiske og fysiske lag.
Hvorfor bruge Data Model?
Før hvert lag udforskes, er det nyttigt at forstå den forretningsmæssige værdi, som en solid datamodel leverer. De primære mål med at bruge en datamodel er:
- Sikrer, at alle dataobjekter, der kræves af databasen, er nøjagtigt repræsenteret. Udeladelse af data fører til fejlbehæftede rapporter og ukorrekte resultater.
- Hjælper med at designe databasen på det konceptuelle, logiske og fysiske niveau.
- Definerer de relationelle tabeller, primære og fremmede nøgler samt lagrede procedurer, som databasen skal bruge.
- Giver et klart billede af basisdataene, så databaseudviklere kan opbygge en fysisk database med ro i sindet.
- Hjælper med at identificere manglende og redundante data tidligt, før fejl spreder sig nedstrøms.
- Selvom den indledende oprettelse er arbejds- og tidskrævende, gør det fremtidige opgraderinger og vedligeholdelse af IT-infrastruktur billigere og hurtigere.
Typer af datamodeller i DBMS
Typer af datamodeller: Der findes tre hovedtyper af datamodeller – konceptuelle, logiske og fysiske – og hver har et specifikt formål. Sammen beskriver de dataene og hvordan de lagres, og de fastlægger relationerne mellem dataelementer.
- Konceptuel datamodel: definerer HVAD systemet indeholder. Det oprettes typisk af forretningsinteressenter og dataarkitekter for at organisere, afgrænse og definere forretningskoncepter og regler.
- Logisk datamodel: definerer HVORDAN Systemet bør implementeres uanset DBMS. Det oprettes typisk af dataarkitekter og forretningsanalytikere for at udvikle et teknisk kort over regler og datastrukturer.
- Fysisk datamodel: beskriver HVORDAN Systemet vil blive implementeret ved hjælp af et specifikt databasesystem (DBMS). Det oprettes typisk af databaseadministratorer og udviklere og repræsenterer den faktiske implementering af databasen.

Konceptuel datamodel
A Konceptuel datamodel er en organiseret visning af databasekoncepter og deres relationer. Formålet med at oprette en konceptuel datamodel er at etablere enheder, deres attributter og relationerne mellem dem. På dette niveau registreres meget få detaljer om den faktiske databasestruktur. Forretningsinteressenter og dataarkitekter ejer typisk denne artefakt.
De tre grundlæggende principper i en konceptuel datamodel er:
- Enhed: En virkelig ting.
- Egenskab: En enheds karakteristika eller egenskaber.
- forholdet: Afhængighed eller forbindelse mellem to enheder.
Eksempel på datamodel:
- Kunde og produkt er to enheder. Kundenummer og navn er attributter for kundeenheden.
- Produktnavn og pris er attributter for produktenheden.
- Salg er forholdet mellem kunde og produkt.
Karakteristika for en konceptuel datamodel
- Tilbyder organisationsdækkende dækning af forretningskoncepter.
- Designet og udviklet til et erhvervsrettet publikum.
- Bygget uafhængigt af hardwarespecifikationer såsom datalagringskapacitet eller placering, og softwarespecifikationer såsom DBMS-leverandør og teknologi. Fokus er at repræsentere data, som en bruger vil se dem i den "virkelige verden".
Konceptuelle datamodeller – undertiden kaldet domænemodeller – skaber et fælles ordforråd for alle interessenter ved at etablere grundlæggende koncepter og omfang.
Logisk datamodel
Logisk datamodel definerer strukturen af dataelementer og sætter relationer mellem dem. Den tilføjer yderligere information til de konceptuelle datamodelelementer og danner det fundament, som den fysiske datamodel i sidste ende vil bygge videre på, selvom modelleringsstrukturen forbliver DBMS-agnostisk.
På dette datamodelleringsniveau er primære eller sekundære nøgler endnu ikke færdiggjorte. Du verificerer og justerer de forbindelsesdetaljer, der tidligere blev angivet for relationer, og forfiner kardinaliteter.
Karakteristika for en logisk datamodel
- Beskriver databehovet for et enkelt projekt, men kan integreres med andre logiske datamodeller afhængigt af projektets omfang.
- Designet og udviklet uafhængigt af DBMS.
- Dataattributter bærer datatyper med nøjagtige præcisioner og længder.
- Normalisering anvendes typisk op til den tredje normalform (3NF).
Fysisk datamodel
A Fysisk datamodel beskriver en databasespecifik implementering af datamodellen. Den tilbyder databaseabstracog hjælper med at generere skemaet direkte takket være de rige metadata, det indeholder. Den fysiske datamodel hjælper også med at visualisere databasestrukturen ved at replikere kolonnenøgler, begrænsninger, indekser, triggere og andre RDBMS funktioner.
Karakteristika for en fysisk datamodel
- Beskriver databehov for et enkelt projekt eller en applikation, selvom det kan integreres med andre fysiske datamodeller baseret på projektets omfang.
- Definerer relationer mellem tabeller, der adresserer kardinaliteten og nullbarheden af hver relation.
- Udviklet til en specifik version af et DBMS, en placering, et datalagringslayout eller en teknologi, der anvendes i projektet.
- Kolonner indeholder nøjagtige datatyper, længder og standardværdier.
- Primære og fremmede nøgler, visninger, indekser, adgangsprofiler og autorisationer er eksplicit defineret.
Konceptuel vs. Logisk vs. Fysisk Datamodel
Når du har forstået hvert lag individuelt, er den nemmeste måde at huske forskellene på at sammenligne dem side om side. Tabellen nedenfor opsummerer fokus, ejere og detaljeringsniveau i hvert trin.
| Aspect | konceptuelle | Logisk | Fysisk |
|---|---|---|---|
| Formål | Definer HVAD systemet indeholder | Definer HVORDAN systemet skal fungere, DBMS-agnostisk | Definer HVORDAN systemet implementeres i et specifikt DBMS |
| Publikum | Forretningsinteressenter, dataarkitekter | Dataarkitekter, forretningsanalytikere | DBA'er, udviklere |
| Detaljeniveau | Enheder, attributter og relationer på højt niveau | Datatyper, normalisering, attributter | Tabeller, kolonner, nøgler, indekser, triggere |
| Definerede nøgler | Ingen | Konceptuelle primære og fremmednøgler | Konkrete primære, fremmede og surrogatnøgler |
| DBMS-afhængighed | Independent | Independent | Knyttet til et specifikt DBMS |
Fordele og ulemper ved datamodel
Fordele ved en datamodel:
- Hovedformålet med en datamodel er at sikre, at de dataobjekter, der tilbydes af det funktionelle team, er repræsenteret nøjagtigt.
- Datamodellen er detaljeret nok til at blive brugt som skabelon til opbygning af den fysiske database.
- Oplysningerne i datamodellen kan bruges til at definere relationerne mellem tabeller, primære og fremmednøgler samt lagrede procedurer.
- En datamodel hjælper virksomheden med at kommunikere ensartet inden for og på tværs af organisationer.
- En datamodel hjælper med at dokumentere datakortpings i ETL-processen.
- Det hjælper med at genkende de korrekte datakilder til at udfylde modellen.
Ulemper ved en datamodel:
- For at udvikle en datamodel skal du forstå de fysiske egenskaber ved de lagrede data.
- Navigationssystemer bygget oven på en datamodel kan producere komplekst applikationsudviklings- og administrationsarbejde, hvilket kræver dybdegående domæneviden.
- Selv en lille ændring i strukturen kan kræve ændringer på tværs af hele applikationen.
- Der findes ikke et universelt datamanipulationssprog på tværs af alle DBMS, så modeller skal ofte tilpasses pr. platform.
