logo

Gegevensabstractie en gegevensonafhankelijkheid

Databasesystemen omvatten complexe datastructuren. Om het systeem efficiënt te maken in termen van het ophalen van gegevens en de complexiteit te verminderen in termen van bruikbaarheid van gebruikers, gebruiken ontwikkelaars abstractie, dat wil zeggen het verbergen van irrelevante details voor de gebruikers. Deze aanpak vereenvoudigt het databaseontwerp. 

Abstractieniveau in een DBMS

Er zijn hoofdzakelijk 3 niveaus van gegevensabstractie: 



  • Fysiek of intern niveau
  • Logisch of conceptueel niveau
  • Bekijk of extern niveau

Fysiek of intern niveau

Dit is het laagste niveau van gegevensabstractie. Het vertelt ons hoe de gegevens daadwerkelijk in het geheugen worden opgeslagen. Hiervoor worden toegangsmethoden zoals sequentiële of willekeurige toegang en bestandsorganisatiemethoden zoals B+-bomen en hashing gebruikt. De bruikbaarheid van het geheugen en het aantal keren dat de records voorkomen, zijn factoren die we moeten weten bij het ontwerpen van de database. 
Stel dat wij de gegevens van een medewerker moeten opslaan. Opslagblokken en de hoeveelheid geheugen die voor deze doeleinden wordt gebruikt, worden voor de gebruiker verborgen gehouden. 

Logisch of conceptueel niveau

Dit niveau omvat de informatie die feitelijk in de vorm van tabellen in de database is opgeslagen. Het slaat ook de relatie tussen de gegevensentiteiten op in relatief eenvoudige structuren. Op dit niveau is de informatie die beschikbaar is voor de gebruiker op weergaveniveau onbekend. 
We kunnen de verschillende kenmerken van een medewerker en relaties opslaan, b.v. met de manager kunnen ook worden opgeslagen. 

Het logische niveau beschrijft dus de gehele database in termen van een klein aantal relatief eenvoudige structuren. Hoewel de implementatie van de eenvoudige structuren op het logische niveau complexe structuren op fysiek niveau kan omvatten, hoeft de gebruiker van het logische niveau zich niet bewust te zijn van deze complexiteit. Dit wordt fysieke gegevensonafhankelijkheid genoemd. Databasebeheerders die moeten beslissen welke informatie in de database moet worden bewaard, gebruiken het logische abstractieniveau.



Bekijk of extern niveau

Dit is het hoogste abstractieniveau. Slechts een deel van de daadwerkelijke database wordt door de gebruikers bekeken. Dit niveau is bedoeld om de toegankelijkheid van de database voor een individuele gebruiker te vergemakkelijken. Gebruikers bekijken gegevens in de vorm van rijen en kolommen. Tabellen en relaties worden gebruikt om gegevens op te slaan. Er kunnen meerdere weergaven van dezelfde database bestaan. Gebruikers kunnen de gegevens gewoon bekijken en communiceren met de databaseopslag en implementatiedetails zijn voor hen verborgen. Ook al gebruikt het logische niveau eenvoudiger structuren, de complexiteit blijft bestaan ​​vanwege de verscheidenheid aan informatie die in een grote database is opgeslagen. Veel gebruikers van het databasesysteem hebben al deze informatie niet nodig; in plaats daarvan hebben ze slechts toegang tot een deel van de database nodig. Het weergaveniveau van abstractie bestaat om hun interactie met het systeem te vereenvoudigen

Voorbeeld: In het geval van het opslaan van klantgegevens

verschil tussen bedrijf en bedrijf
  • Fysiek niveau - het bevat een opslagblok (bytesGBTBetc)
  • Logisch niveau -  het bevat de velden en de attributen van gegevens.
  • Bekijk niveau - het werkt mee CLI of GUI toegang tot de database




Gegevensabstractie' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=Gegevensabstractie

Het belangrijkste doel van data-abstractie is het bereiken van data-onafhankelijkheid om de tijd en kosten te besparen die nodig zijn wanneer de database wordt aangepast of aangepast. 

Gegevensonafhankelijkheid

Gegevensonafhankelijkheid wordt voornamelijk gedefinieerd als een eigenschap van DBMS die u helpt het databaseschema op het ene niveau van een systeem te wijzigen zonder dat u het schema op het volgende niveau hoeft te wijzigen. het helpt om de gegevens gescheiden te houden van alle programma's die er gebruik van maken.
We hebben namelijk twee niveaus van gegevensonafhankelijkheid die voortkomen uit deze abstractieniveaus: 

  • Fys i gegevensonafhankelijkheid op cal-niveau
  • Gegevensonafhankelijkheid op logisch niveau
Data-abstractie-en-data-onafhankelijkheid' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Gegevensonafhankelijkheid

Gegevensonafhankelijkheid op fysiek niveau

Het verwijst naar het kenmerk van het kunnen wijzigen van het fysieke schema zonder enige wijziging aan het conceptuele of logische schema, gedaan voor optimalisatiedoeleinden, b.v. de conceptuele structuur van de database zou niet worden beïnvloed door enige verandering in de opslaggrootte van de databasesysteemserver. Het overschakelen van sequentiële naar bestanden met willekeurige toegang is zo'n voorbeeld. Deze wijzigingen of aanpassingen aan de fysieke structuur kunnen het volgende omvatten: 

  • Nieuwe opslagapparaten gebruiken.
  • Het aanpassen van datastructuren die worden gebruikt voor opslag.
  • Het wijzigen van indexen of het gebruik van alternatieve technieken voor bestandsorganisatie enz.

Gegevensonafhankelijkheid op logisch niveau

Het verwijst naar het kenmerk van het kunnen wijzigen van het logische schema zonder het externe schema of toepassingsprogramma te beïnvloeden. De gebruikersweergave van de gegevens wordt niet beïnvloed door wijzigingen in de conceptuele weergave van de gegevens. Deze wijzigingen kunnen het invoegen of verwijderen van attributen omvatten, waardoor tabelstructuren, entiteiten of relaties met het logische schema enz. worden gewijzigd.