Datauafhængighed i DBMS: Fysisk og logisk med eksempler
Hvad er datauafhængighed af 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 skulle ændre skemaet på det næste højere niveau. Datauafhængighed hjælper dig med at holde data adskilt fra alle programmer, der gør brug af dem.
Du kan bruge disse lagrede data til beregning og præsentation. I mange systemer er datauafhængighed en væsentlig funktion for komponenter i systemet.
Typer af datauafhængighed
In DBMS der er to typer datauafhængighed
- Fysisk datauafhængighed
- Logisk datauafhængighed.
Niveauer af database
Før vi lærer datauafhængighed, er en genopfriskning af databaseniveauer vigtig. Databasen har 3 niveauer som vist i diagrammet nedenfor
- Fysisk/intern
- konceptuelle
- Ekstern
Overvej et eksempel på en universitetsdatabase. På de forskellige niveauer vil implementeringen se sådan ud:
Type skema | Implementering |
---|---|
Eksternt skema |
Vis 1: Kursusinfo(cid:int,cname:string) Vis 2: studeninfo(id:int.navn:streng) |
Konceptuel Shema |
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 konceptuelle niveauer fra de interne/fysiske niveauer. 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 nemt ændre de fysiske lagerstrukturer eller enheder med en effekt på det konceptuelle skema. Enhver ændring vil blive absorberet af kortlægningen mellem det konceptuelle og det indre niveau. Fysisk datauafhængighed opnås ved tilstedeværelsen af databasens interne niveau og derefter transformationen fra databasens konceptuelle niveau til det interne niveau.
Eksempler på ændringer under Fysisk datauafhængighed
På grund af fysisk uafhængighed vil nogen af nedenstående ændringer ikke påvirke det konceptuelle lag.
- Brug af en ny lagerenhed som f.eks. harddisk eller magnetbånd
- Ændring af filorganisationsteknikken i databasen
- Skift til forskellige datastrukturer.
- Ændring af adgangsmetode.
- Ændring af indekser.
- Ændringer i komprimeringsteknikker eller hashing-algoritmer.
- Ændring af placering af database fra f.eks. C-drev til D-drev
Uafhængighed af logiske data
Logisk datauafhængighed er evnen til at ændre det konceptuelle skema uden at ændre sig
- Udadtil
- Eksterne API eller programmer
Enhver ændring vil blive absorberet af kortlægningen mellem eksterne og konceptuelle niveauer.
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 nogen af nedenstående ændringer ikke påvirke det eksterne lag.
- Tilføj/Rediger/Slet en ny attribut, entitet eller relation er muligt uden en omskrivning af eksisterende applikationsprogrammer
- Sammenlægning af to poster til én
- Bryde en eksisterende rekord i to eller flere poster
Forskel mellem fysisk og logisk datauafhængighed
Logica datauafhængighed | Uafhængighed af fysiske data |
---|---|
Logisk datauafhængighed handler hovedsageligt om strukturen eller ændring af datadefinitionen. | Hovedsageligt beskæftiget med opbevaring af data. |
Det er vanskeligt, da indhentning af data hovedsageligt afhænger af den logiske struktur af data. | Det er nemt at hente. |
Sammenlignet med logisk fysisk uafhængighed er det svært at opnå logisk datauafhængighed. | Sammenlignet med logisk uafhængighed er det nemt at opnå fysisk datauafhængighed. |
Du skal foretage ændringer i applikationsprogrammet, hvis nye felter tilføjes eller slettes fra databasen. | En ændring i det fysiske niveau behøver normalt ikke ændring på applikationsprogramniveau. |
Ændring på de logiske niveauer er væsentlig, når de logiske strukturer i databasen ændres. | Ændringer foretaget på de interne niveauer kan være nødvendige for at forbedre ydeevnen af strukturen. |
Optaget af konceptuelt skema | Bekymret med internt skema |
Eksempel: Tilføj/Rediger/Slet en ny attribut | Eksempel: ændring i komprimeringsteknikker, hashing-algoritmer, lagerenheder osv |
Vigtigheden af datauafhængighed
- Hjælper dig med at forbedre kvaliteten af dataene
- Vedligeholdelse af databasesystemer bliver overkommelig
- Håndhævelse af standarder og forbedring af databasesikkerhed
- Du behøver ikke at ændre datastrukturen i applikationsprogrammer
- Tillad udviklere at fokusere på den generelle struktur af databasen i stedet for at bekymre sig om den interne implementering
- Det giver dig mulighed for at forbedre tilstand, som er ubeskadiget eller udelt
- Database-uoverensstemmelsen er væsentligt reduceret.
- Det er nemt at foretage ændringer i det fysiske niveau for at forbedre systemets ydeevne.
Resumé
- Datauafhængighed er DBMS's egenskab, der hjælper dig med at ændre Databaseskema på et niveau i et databasesystem uden at kræve at ændre skemaet på det næste højere niveau.
- To niveauer af datauafhængighed er 1) fysisk og 2) logisk
- Fysisk datauafhængighed hjælper dig med at adskille konceptuelle niveauer fra de interne/fysiske niveauer
- Logisk datauafhængighed er evnen til at ændre det konceptuelle skema uden at ændre sig
- Sammenlignet med fysisk datauafhængighed er det udfordrende at opnå logisk datauafhængighed
- Datauafhængighed Hjælper dig med at forbedre kvaliteten af dataene