Datauafhængighed i DBMS: Fysisk og logisk med eksempler
⚡ Smart opsummering
Datauafhængighed er en egenskab ved DBMS, der tillader skemaet på ét niveau at ændre sig uden at tvinge en ændring på det næste højere niveau. Den findes i to former, fysisk og logisk, og holder data adskilt fra de programmer, der bruger den.

Hvad er datauafhængighed i DBMS?
Datauafhængighed er defineret som en egenskab ved DBMS, der hjælper dig med at ændre databaseskemaet på ét niveau i et databasesystem uden at kræve en ændring af skemaet på det næste højere niveau. Datauafhængighed hjælper dig med at holde data adskilt fra alle de programmer, der bruger dem.
Du kan bruge disse lagrede data til beregning og præsentation. I mange systemer er datauafhængighed en essentiel funktion for systemets komponenter.
Typer af datauafhængighed
In DBMS Der er to typer datauafhængighed:
- Fysisk datauafhængighed.
- Logisk datauafhængighed.
Begge typer hviler på det lagdelte design af en database, så det er en god idé at gennemgå disse niveauer først.
Niveauer i en database
Før vi lærer om datauafhængighed, er det vigtigt at genopfriske databaseniveauerne. Databasen har tre niveauer, som vist i diagrammet nedenfor:
- Fysisk / Intern
- konceptuelle
- Ekstern

Dette er de samme lag, der er beskrevet detaljeret under DBMS-skemaerOvervej et eksempel på en universitetsdatabase. På de forskellige niveauer ser implementeringen sådan ud:
| Type skema | Implementering |
|---|---|
| Eksternt skema |
Vis 1: Kursusinfo(cid:int, cname:string) Vis 2: elev_info(id:int, navn:streng) |
| Konceptuelt skema |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| Fysisk skema |
|
Uafhængighed af fysiske data
Fysisk datauafhængighed hjælper dig med at adskille det konceptuelle niveau fra det interne eller fysiske niveau. Det giver dig mulighed for at give en logisk beskrivelse af databasen uden behov for at specificere fysiske strukturer. Sammenlignet med logisk uafhængighed er det nemt at opnå fysisk datauafhængighed.
Med fysisk uafhængighed kan du ændre de fysiske lagerstrukturer eller enheder uden nogen effekt på det konceptuelle skema. Enhver ændring absorberes af kortet.ping mellem det konceptuelle og interne niveau. Fysisk datauafhængighed opnås ved tilstedeværelsen af databasens interne niveau og transformationen fra det konceptuelle niveau til det interne niveau.
Eksempler på ændringer under fysisk datauafhængighed
På grund af fysisk uafhængighed vil ingen af nedenstående ændringer påvirke det konceptuelle lag:
- Brug af en ny lagringsenhed, såsom en harddisk eller et magnetbånd.
- Ændring af filorganiseringsteknikken i databasen.
- Skift til forskellige datastrukturer.
- Ændring af adgangsmetode.
- Ændring af indekser.
- Ændringer i kompressionsteknikker eller hashing-algoritmer.
- Ændring af databasens placering, for eksempel fra C-drevet til D-drevet.
Uafhængighed af logiske data
Logisk datauafhængighed er evnen til at ændre det konceptuelle skema uden at ændre:
- Eksterne synspunkter.
- Eksterne API'er eller programmer.
Enhver ændring absorberes af kortetping mellem det eksterne og konceptuelle niveau. Sammenlignet med fysisk datauafhængighed er det udfordrende at opnå logisk datauafhængighed.
Eksempler på ændringer under logisk datauafhængighed
På grund af logisk uafhængighed vil ingen af ændringerne nedenfor påvirke det eksterne lag:
- Det er muligt at tilføje, ændre eller slette en ny attribut, en enhed eller en relation uden at omskrive eksisterende applikationsprogrammer.
- Sammenlægning af to poster til én.
- Opdeling af en eksisterende post i to eller flere poster.
Forskellen mellem fysisk og logisk datauafhængighed
| Uafhængighed af logiske data | Uafhængighed af fysiske data |
|---|---|
| Primært beskæftiget med strukturen eller ændring af datadefinitionen. | Hovedsageligt beskæftiget med opbevaring af data. |
| Vanskeligt, da hentning af data primært afhænger af den logiske struktur. | Let at hente. |
| Sammenlignet med fysisk uafhængighed er det vanskeligt at opnå. | Sammenlignet med logisk uafhængighed er det let at opnå. |
| Du skal foretage ændringer i applikationsprogrammet, hvis nye felter tilføjes eller slettes. | En ændring på det fysiske niveau kræver normalt ikke en ændring på applikationsprogramniveau. |
| Ændringer på det logiske niveau er betydelige, når databasens logiske strukturer ændres. | Ændringer på internt niveau kan være nødvendige eller ikke være nødvendige for at forbedre ydeevnen. |
| Bekymret over det konceptuelle skema. | Bekymret over det interne skema. |
| Eksempel: tilføj, rediger eller slet en ny attribut. | Eksempel: ændring i komprimeringsteknikker, hashingalgoritmer, lagringsenheder osv. |
Vigtigheden af datauafhængighed
- Hjælper dig med at forbedre datakvaliteten.
- Gør vedligeholdelse af databasesystemer mere overkommelig.
- Håndhæver standarder og forbedrer databasesikkerheden.
- Du behøver ikke at ændre datastrukturer i applikationsprogrammer.
- Giver udviklere mulighed for at fokusere på databasens generelle struktur i stedet for den interne implementering.
- Reducerer databaseinkonsistens betydeligt.
- Giver dig mulighed for at foretage ændringer på det fysiske niveau for at forbedre systemets ydeevne.
