Databasesystemer omfatter komplekse datastrukturer. For å gjøre systemet effektivt når det gjelder henting av data og redusere kompleksiteten når det gjelder brukervennlighet, bruker utviklere abstraksjon, dvs. skjuler irrelevante detaljer for brukerne. Denne tilnærmingen forenkler databasedesign.
Abstraksjonsnivå i et DBMS
Det er hovedsakelig 3 nivåer av dataabstraksjon:
- Fysisk eller internt nivå
- Logisk eller konseptuelt nivå
Fysisk eller internt nivå
Dette er det laveste nivået av dataabstraksjon. Den forteller oss hvordan dataene faktisk er lagret i minnet. Tilgangsmetoder som sekvensiell eller tilfeldig tilgang og filorganiseringsmetoder som B+-trær og hashing brukes til det samme. Brukervennlighetens størrelse på minnet og antall ganger postene er faktorer vi trenger å vite når vi designer databasen.
Anta at vi må lagre detaljene til en ansatt. Lagringsblokker og mengden minne som brukes til disse formålene holdes skjult for brukeren.
Logisk eller konseptuelt nivå
Dette nivået omfatter informasjonen som faktisk er lagret i databasen i form av tabeller. Den lagrer også forholdet mellom dataenhetene i relativt enkle strukturer. På dette nivået er informasjonen som er tilgjengelig for brukeren på visningsnivå ukjent.
Vi kan lagre de ulike egenskapene til en ansatt og relasjoner f.eks. med lederen kan også lagres.
Det logiske nivået beskriver altså hele databasen i form av et lite antall relativt enkle strukturer. Selv om implementering av de enkle strukturene på det logiske nivået kan innebære komplekse strukturer på fysisk nivå, trenger ikke brukeren av det logiske nivået å være klar over denne kompleksiteten. Dette omtales som fysisk datauavhengighet. Databaseadministratorer som må bestemme hvilken informasjon som skal beholdes i databasen, bruker det logiske abstraksjonsnivået.
Vis eller eksternt nivå
Dette er det høyeste abstraksjonsnivået. Kun en del av den faktiske databasen blir sett av brukerne. Dette nivået eksisterer for å lette tilgjengeligheten til databasen for en individuell bruker. Brukere viser data i form av rader og kolonner. Tabeller og relasjoner brukes til å lagre data. Flere visninger av samme database kan eksistere. Brukere kan bare se dataene og samhandle med databaselagringen, og implementeringsdetaljer er skjult for dem. Selv om det logiske nivået bruker enklere strukturer forblir kompleksiteten på grunn av mangfoldet av informasjon som er lagret i en stor database. Mange brukere av databasesystemet trenger ikke all denne informasjonen; i stedet trenger de bare å få tilgang til en del av databasen. Abstraksjonsnivået eksisterer for å forenkle deres interaksjon med systemet
Eksempel: Ved lagring av kundedata
fjern første tegn i Excel
- Fysisk nivå - den vil inneholde lagringsblokker (bytesGBTBetc)
- Logisk nivå - den vil inneholde feltene og attributtene til data.
- Visningsnivå – det fungerer med CLI eller GUI tilgang til databasen
Hovedformålet med dataabstraksjon er å oppnå datauavhengighet for å spare tid og kostnader som kreves når databasen modifiseres eller endres.
Datauavhengighet
Datauavhengighet er hovedsakelig definert som en egenskap til DBMS som hjelper deg å endre databaseskjemaet på ett nivå i et system uten å måtte endre skjemaet på neste nivå. det hjelper å holde dataene atskilt fra alle programmer som bruker dem.
Vi har nemlig to nivåer av datauavhengighet som oppstår fra disse abstraksjonsnivåene:
- Phys jeg datauavhengighet på kalenivå
- Datauavhengighet på logisk nivå
Datauavhengighet på fysisk nivå
Det refererer til egenskapen ved å kunne modifisere det fysiske skjemaet uten noen endringer i det konseptuelle eller logiske skjemaet gjort for optimaliseringsformål, f.eks. den konseptuelle strukturen til database vil ikke bli påvirket av endringer i lagringsstørrelsen til databasesystemserveren. Endring fra sekvensielle til tilfeldige filer er et slikt eksempel. Disse endringene eller modifikasjonene til den fysiske strukturen kan omfatte:
- Bruk av nye lagringsenheter.
- Endre datastrukturer som brukes til lagring.
- Endre indekser eller bruke alternative filorganiseringsteknikker osv.
Datauavhengighet på logisk nivå
Det refererer til karakteristisk for å kunne endre det logiske skjemaet uten å påvirke det eksterne skjemaet eller applikasjonsprogrammet. Brukervisningen av dataene vil ikke bli påvirket av endringer i den konseptuelle visningen av dataene. Disse endringene kan inkludere innsetting eller sletting av attributter som endrer tabellstrukturenheter eller relasjoner til det logiske skjemaet osv.