Databasesystemer omfatter komplekse datastrukturer. For at gøre systemet effektivt med hensyn til hentning af data og reducere kompleksiteten med hensyn til brugervenlighed bruger udviklere abstraktion, dvs. skjuler irrelevante detaljer for brugerne. Denne tilgang forenkler databasedesign.
Abstraktionsniveau i et DBMS
Der er hovedsageligt 3 niveauer af dataabstraktion:
- Fysisk eller internt niveau
- Logisk eller konceptuelt niveau
- Udsigt eller eksternt niveau
Fysisk eller internt niveau
Dette er det laveste niveau af dataabstraktion. Det fortæller os, hvordan data faktisk er lagret i hukommelsen. Adgangsmetoder som sekventiel eller tilfældig adgang og filorganiseringsmetoder som B+ træer og hashing bruges til det samme. Usability Størrelse af hukommelse og antallet af gange posterne er faktorer, som vi skal vide, mens vi designer databasen.
Antag, at vi skal gemme oplysningerne om en medarbejder. Lagerblokke og mængden af hukommelse, der bruges til disse formål, holdes skjult for brugeren.
Logisk eller konceptuelt niveau
Dette niveau omfatter den information, der faktisk er lagret i databasen i form af tabeller. Det gemmer også forholdet mellem dataenheder i relativt simple strukturer. På dette niveau er den information, der er tilgængelig for brugeren på visningsniveau, ukendt.
Vi kan gemme en medarbejders forskellige attributter og relationer f.eks. med lederen kan også gemmes.
Det logiske niveau beskriver således hele databasen i form af et lille antal relativt simple strukturer. Selvom implementering af de simple strukturer på det logiske niveau kan involvere komplekse strukturer på fysisk niveau, behøver brugeren af det logiske niveau ikke at være opmærksom på denne kompleksitet. Dette kaldes fysisk datauafhængighed. Databaseadministratorer, der skal beslutte, hvilke oplysninger der skal opbevares i databasen, bruger det logiske abstraktionsniveau.
Udsigt eller eksternt niveau
Dette er det højeste abstraktionsniveau. Kun en del af den faktiske database ses af brugerne. Dette niveau eksisterer for at lette tilgængeligheden af databasen for en individuel bruger. Brugere ser data i form af rækker og kolonner. Tabeller og relationer bruges til at lagre data. Der kan eksistere flere visninger af den samme database. Brugere kan bare se dataene og interagere med databaselageret, og implementeringsdetaljer er skjult for dem. Selvom det logiske niveau bruger enklere strukturer, forbliver kompleksiteten på grund af de mange forskellige oplysninger, der er lagret i en stor database. Mange brugere af databasesystemet har ikke brug for alle disse oplysninger; i stedet skal de kun have adgang til en del af databasen. Visningsniveauet for abstraktion eksisterer for at forenkle deres interaktion med systemet
Eksempel: I tilfælde af lagring af kundedata
gyldige identifikatorer i java
- Fysisk niveau - det vil indeholde blok af lager (bytesGBTBetc)
- Logisk niveau - det vil indeholde felterne og attributterne for data.
- Visningsniveau - det virker med CLI eller GUI adgang til databasen
Hovedformålet med dataabstraktion er at opnå datauafhængighed for at spare tid og omkostninger, når databasen ændres eller ændres.
Datauafhængighed
Datauafhængighed er hovedsageligt defineret som en egenskab ved DBMS, der hjælper dig med at ændre databaseskemaet på et niveau af et system uden at kræve at ændre skemaet på det næste niveau. det hjælper med at holde data adskilt fra alle programmer, der gør brug af det.
Vi har nemlig to niveauer af datauafhængighed, der stammer fra disse abstraktionsniveauer:
- Phys jeg datauafhængighed på cal niveau
- Datauafhængighed på logisk niveau
Datauafhængighed på fysisk niveau
Det refererer til karakteristikken ved at være i stand til at modificere det fysiske skema uden ændringer i det konceptuelle eller logiske skema udført med optimeringsformål, f.eks. den konceptuelle struktur af database vil ikke blive påvirket af nogen ændring i lagerstørrelsen på databasesystemserveren. Skift fra sekventielle til random access-filer er et sådant eksempel. Disse ændringer eller modifikationer af den fysiske struktur kan omfatte:
- Brug af nye lagerenheder.
- Ændring af datastrukturer, der bruges til opbevaring.
- Ændring af indekser eller brug af alternative filorganiseringsteknikker osv.
Datauafhængighed på logisk niveau
Det refererer til karakteristisk for at være i stand til at ændre det logiske skema uden at påvirke det eksterne skema eller applikationsprogram. Brugervisningen af dataene vil ikke blive påvirket af ændringer i den konceptuelle visning af dataene. Disse ændringer kan omfatte indsættelse eller sletning af attributter, der ændrer tabelstrukturenheder eller relationer til det logiske skema osv.