Logical vs Physical Data Model
Før vi diskuterer forskjellen mellom logisk og fysisk datamodell, må vi vite hva en datamodell er. En datamodell er en representasjon som beskriver dataene og relasjonene mellom dem for en bestemt prosess. En datamodell er en viktig komponent som brukes under databasedesign. Logisk datamodell er et svært abstrakt og høyt nivå syn på data der enheter, relasjoner og nøkler identifiseres. Den er uavhengig av databasestyringssystemet (DBMS). En fysisk datamodell er avledet fra den logiske datamodellen der den viser hvordan tabeller og kolonner er strukturert i den virkelige fysiske databasen. Fysisk datamodell er derfor avhengig av databasebehandlingssystemet som brukes.
Hva er logisk datamodell?
En logisk datamodell beskriver dataene og sammenhengene i detalj på et meget høyt nivå. Dette inkluderer ikke hvordan data er representert fysisk i databasen, men beskriver på et svært abstrakt nivå. Det inkluderer i utgangspunktet enhetene og relasjonene mellom dem sammen med attributter til hver enhet.
Den logiske datamodellen inkluderer primærnøkler til hver enhet og også fremmednøklene. Når du oppretter en logisk datamodell, identifiseres først enheter og deres relasjoner med nøklene. Deretter identifiseres attributter for hver enhet. Etter det er mange til mange forhold løst og normalisering er gjort. En logisk datamodell er uavhengig av databasestyringssystemet da den ikke beskriver den fysiske strukturen til den virkelige databasen. Ved utforming av en logisk datamodell kan ikke-formelle lange navn brukes for enheter og attributter.
Hva er fysisk datamodell?
En fysisk datamodell beskriver hvordan data egentlig ligger i databasen. Den inkluderer spesifikasjonen av alle tabeller og kolonnene i dem. Tabellspesifikasjonen inkluderer detaljer som tabellnavnet, antall kolonner og kolonnespesifikasjonen inkluderer kolonnenavn og datatype. Den fysiske datamodellen inneholder også primærnøklene til hver tabell, og den viser også forholdet mellom tabeller som bruker fremmednøkler. Den fysiske datamodellen inneholder dessuten begrensninger brukt på data og komponenter som triggere og lagrede prosedyrer.
Den fysiske datamodellen avhenger av databasebehandlingssystemet som brukes. Så den fysiske datamodellen for MySQL vil være forskjellig fra en datamodell tegnet for Oracle. Når du oppretter den fysiske datamodellen fra logisk datamodell, konverteres de første enhetene til tabeller. Deretter blir relasjoner konvertert til fremmednøkkelbegrensninger. Etter det konverteres attributter til kolonner i hver tabell.
Hva er forskjellen mellom logisk og fysisk datamodell?
• En fysisk datamodell beskriver den fysiske strukturen til databasen. En logisk datamodell er en høynivåmodell som ikke beskriver den fysiske strukturen til databasen.
• Fysisk datamodell er avhengig av databasebehandlingssystemet som brukes. Den logiske datamodellen er imidlertid uavhengig av databasebehandlingssystemet som brukes.
• Logisk datamodell inkluderer enheter, attributter, relasjoner og nøkler. Fysisk datamodell inkluderer tabeller, kolonner, datatyper, primære og fremmede nøkkelbegrensninger, utløsere og lagrede prosedyrer.
• I logisk datamodell brukes lange uformelle navn for enheter og attributter. I fysiske data brukes imidlertid forkortede formelle navn for tabellnavn og kolonnenavn.
• Den logiske datamodellen er først utledet fra beskrivelsen. Etter det er bare den fysiske datamodellen utledet.
• Den logiske datamodellen er normalisert til fjerde normalform. Den fysiske databasemodellen vil bli deformalisert om nødvendig for å oppfylle kravene.
Sammendrag:
Logical vs Physical Data Model
Den logiske datamodellen er en datamodell på høyt nivå som beskriver enhetene og relasjonene mellom data. Den inkluderer også attributter og nøkler for hver enhet. Dette er uavhengig av databasebehandlingssystemet som brukes. På den annen side er fysisk datamodell avledet etter den logiske datamodellen, og den inkluderer strukturen til databasen inkludert spesifikasjon av tabeller, kolonner og nøkkelbegrensninger. Denne modellen er forskjellig i henhold til databasebehandlingssystemet som brukes.