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

  1. Fysisk datauafhængighed
  2. 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

  1. Fysisk/intern
  2. konceptuelle
  3. Ekstern
Niveauer af database
Niveauer af DBMS Architecture diagram

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
  • Relationer gemt som uordnede filer.
  • Indeks i den første kolonne af Studerende.

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

  1. Udadtil
  2. 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.

  1. Tilføj/Rediger/Slet en ny attribut, entitet eller relation er muligt uden en omskrivning af eksisterende applikationsprogrammer
  2. Sammenlægning af to poster til én
  3. 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