Gegevensonafhankelijkheid in DBMS

database engineer
  • Inleiding
  • Wat is Gegevensonafhankelijkheid?
  • soorten Gegevensonafhankelijkheid

Inleiding

vandaag zullen we een van de belangrijkste onderwerpen van databasebeheersystemen behandelen, namelijk Gegevensonafhankelijkheid. De reden achter het implementeren van drie niveaus van data abstractie is niets minder dan het bereiken van data onafhankelijkheid. Data onafhankelijkheid is iets dat zich bezighoudt met veranderingen die plaatsvinden op verschillende niveaus van schema. Afgezien van de Betekenis van data onafhankelijkheid, leert u over de behoefte en de soorten hier. Dus, laten we beginnen zonder verder oponthoud!

Wat is Gegevensonafhankelijkheid?

we kennen de twee termen ‘data’ en ‘independence’ al afzonderlijk, zodat we de Betekenis van de hele term ‘data independence’ in dezelfde zin min of meer kunnen ontcijferen. Uit de term zelf blijkt duidelijk dat we het hebben over de onafhankelijkheid van de gegevens die in een database aanwezig zijn. In technische woorden, kunt u het als volgt stellen, ‘Data onafhankelijkheid is de eigenschap van DBMS die de gebruiker in staat stelt om de schemadefinitie op één niveau te wijzigen zonder dat de schemadefinitie op de volgende hogere niveaus hoeft te worden gewijzigd’. Het is zeer noodzakelijk dat wanneer we veranderingen aanbrengen op het ene niveau, dit de andere niveaus niet belemmert. Om precies te zijn, data onafhankelijkheid verwijst naar de onafhankelijkheid of zelfredzaamheid van de gegevens aanwezig in de drie niveaus van de database architectuur. Bovendien, het is iets dat u helpt bij het houden van gegevens gescheiden van de toepassingsprogramma ‘ s gebruik te maken van het. Het wordt vaak gezien als een soort van data transparantie dat een gecentraliseerde database management systeem is zeer betrokken bij.

voordat we een dieper aspect van gegevensonafhankelijkheid onderzoeken, laten we snel de niveaus van een database herinneren. Interne of fysieke schema is het eerste niveau dat in directe verbinding met de database die ook op geheugenniveau. Het tweede is het conceptuele of logische schema dat dient als bemiddelaar tussen het derde en eerste niveau. Het derde niveau is het externe schema dat bepaalt hoe de database zichtbaar is voor de meerdere eindgebruikers. Uitgaande van een instantie van een bibliotheekdatabase, ziet de implementatie van deze drie niveaus er ongeveer zo uit:

intern Schema logisch Schema extern Schema
niet-geordende bestanden van relaties van databaseFirst column Index of Visitors bezoekers (id: int, naam: string, leeftijd: int, contact: numeriek, adres: string)boeken (id: int, Titel: string, auteur: string, isbn: numeriek) View1: BookRecords (b_id: int, b_name: string, author: string)View2: VisitorRecords (V_id: int, v_name: string)

Gegevensonafhankelijkheid scheidt gegevens van API en implementeert de wijzigingen die op een van de niveaus zijn aangebracht in de toewijzingen tussen niveaus. Het helpt bij het behoud van de Vrijheid van deze individuele niveaus van de database op hetzelfde moment. Vanuit een bepaald oogpunt, data onafhankelijkheid en operation independence samen brengt de data abstractie fenomeen in een DBMS.

Hoe bereik ik gegevensonafhankelijkheid in DBMS?

voor het verkrijgen van gegevensonafhankelijkheid zorgen we ervoor dat onze database voldoet aan de vereisten van data-abstractie. In eenvoudige woorden, Data abstraction is het proces van het houden van de irrelevante details verborgen voor de eindgebruiker. Als we denken met betrekking tot entiteiten uit de echte wereld, kunnen we het voorbeeld van een auto nemen. Wanneer een bestuurder rijdt een auto, Hij heeft volledige know-how van het besturen van een auto, maar als om wat voor reden hij niet in staat is om de auto te starten, zal hij hulp van een automonteur nodig. Dat is zo omdat de bestuurder alleen weet hoe om te rijden een auto, hij weet niet hoe om te gaan met de interne circuits problemen, reden is de interne circuits en het mechanisme van de auto is verborgen voor hem. Ook de interne structuur is onzichtbaar voor de programmeurs en eindgebruikers. Deze eigenschap van het beperken van de zichtbaarheid in een database wordt aangeduid als Data abstraction. Een database bevat maximaal drie niveaus van abstractie. Deze drie niveaus worden hieronder vermeld:

  • fysiek niveau (intern schema)
  • conceptueel niveau (logisch niveau)
  • weergaveniveau

fysiek niveau van gegevensabstractie zorgt voor het interne schema. Dit abstractieniveau bepaalt hoe de gegevens in een database worden opgeslagen. Het slaat de gedetailleerde en complexe datastructuren van de database op waarin de eindgebruikers en programmeurs niet geïnteresseerd zouden zijn. Het wordt ook beschouwd als het laagste niveau van data-abstractie.

het conceptuele niveau, dat het middelste niveau van data-abstractie is, is voor het logische niveau van het schema. Het vorige niveau beantwoordt de vraag ‘ hoe?’. Op dezelfde manier beantwoordt dit niveau de vraag ‘ waarom?’Het beschrijft wat en welk type gegevens in de database worden opgeslagen.

het laatste en hoogste niveau van data-abstractie is het weergaveniveau. Dit niveau vertelt hoe de gegevens moeten worden bekeken door verschillende n gebruikers. Het is verantwoordelijk voor de interactie van de gebruiker met de database.

neem een voorbeeld op zeer lage schaal waarin we de gegevens van klanten van een winkel hebben opgeslagen. Dus, als we praten over het fysieke niveau, de gegevens worden opgeslagen als blokken van geheugen in bytes, gigabytes, terabytes, enz. Kortom, het gaat om complexe geheugenopslag. Deze informatie is niet zichtbaar voor de programmeurs. Het logische niveau beschrijft de klantgegevens die worden ingevoerd en hun gegevenstypen. De logische relatie tussen de gegevens op dit niveau wordt geïmplementeerd met behulp van programmeertalen. Dit niveau wordt voornamelijk behandeld door programmeurs. Op het weergaveniveau communiceert de gebruiker met het systeem via de GUI om de gegevens in te voeren, misschien in een vormformaat of een ander ingesteld formaat. Nu moet elk niveau onafhankelijk zijn van het andere, zodat wanneer we veranderingen aanbrengen op het ene niveau, we niet verplicht zijn om veranderingen aan te brengen op het volgende hogere niveau. En, dit is wat data onafhankelijkheid doet.

om deze drie niveaus van data-abstractie te behouden, moeten we mogelijk wijzigingen aanbrengen in één niveau van de database, wat een groot gedoe zou kunnen zijn als we geen gegevensonafhankelijkheid zouden hebben. U zult het eens zijn over het punt dat het veranderen van het hele applicatie programma om een kleine verandering in het fysieke schema weer te geven is geen manier in ons voordeel in termen van tijd en programmering. Gegevensonafhankelijkheid zorgt ervoor dat wijzigingen op het ene niveau niet van invloed zijn op de andere niveaus van de database. Op basis van de drie niveaus van data abstractie, data onafhankelijkheid is vertakt in twee soorten.

soorten Gegevensonafhankelijkheid

laten we meer te weten komen over de twee soorten gegevensonafhankelijkheid en hun eigenschappen. De twee categorieën zijn::

  • onafhankelijkheid van fysieke gegevens
  • onafhankelijkheid van logische gegevens

onafhankelijkheid van fysieke gegevens: Onder physical data independence, krijgen we de vrijheid om het fysieke schema te veranderen zonder gebonden te zijn om de applicatieprogramma ‘ s daarvoor te veranderen. Het is verantwoordelijk voor het scheiden van het interne niveau van het conceptuele niveau van een databasestructuur. Fysieke gegevensonafhankelijkheid maakt het mogelijk een logische beschrijving of een overzicht van de database te geven, wat niet noodzakelijk vereist is om de details van de logische structuur van een database te specificeren. Als per fysieke gegevens onafhankelijkheid, eventuele wijzigingen in het interne niveau worden niet verondersteld om de definitie van het conceptuele niveau of view level schema te veranderen.

met fysieke onafhankelijkheid kunt u de bestandsopslagstructuren, hash-algoritmen, compressietechnieken, Opslagapparaten, locatie van de database, toegangsmethode, indexen, enzovoort wijzigen. Zo, in principe gaat het over de implementatie van efficiënte geheugenopslag technieken. Elke wijziging op dit niveau zal worden toegepast op het in kaart brengen van de interne en conceptuele niveaus van de database. Houd er rekening mee dat de ingevoerde wijzigingen moeten worden gelokaliseerd. Fysieke gegevens onafhankelijkheid wordt bereikt door het fysieke niveau en vervolgens transformatie van het conceptuele naar het interne niveau van de database wordt uitgevoerd.

af en toe moeten we het interne niveau bijwerken om de prestaties van onze DBMS te verbeteren met het oog op geheugenbeheer. De fysieke gegevensonafhankelijkheid speelt dus een onmiskenbare rol, omdat het aanbrengen van wijzigingen in de opslagtechnieken in overeenstemming met onze eisen iets is waar een efficiënt DBMS gevoelig voor moet zijn.

Logische Gegevensonafhankelijkheid: Logische data onafhankelijkheid geeft de vrijheid om het conceptuele niveau van schema te veranderen zonder enige dwang van het veranderen van de externe weergaven en externe programma ‘ s of API. Wijzigingen gedaan op dit niveau worden afgedwongen op de logische en end view level mapping. Applicatieprogramma ‘ s die sterk afhankelijk zijn van het conceptuele niveau maakt het moeilijk om logische data-onafhankelijkheid te bereiken in vergelijking met fysieke data-onafhankelijkheid. Om het even welke kleine of grote verandering in de logische structuur van de database zou ons vereisen om de programma ‘ s ook te veranderen. Dus, het bereiken van logische data onafhankelijkheid kan nogal uitdagend zijn. Logische data onafhankelijkheid regelt de scheiding tussen het eind-view niveau en het conceptuele niveau.

logische gegevensonafhankelijkheid stelt ons in staat om wijzigingen aan te brengen, zoals het toevoegen, wijzigen of verwijderen van een attribuut, entiteit of zelfs een relatie. Het doen van dergelijke wijzigingen vereist niet het herschrijven van het programma, maar om overeenkomstige wijzigingen aan te brengen in het programma. Het stelt ons in staat om twee records samen te voegen tot één zonder de externe laag te beïnvloeden. Als men een bestaand record in tweeën wil splitsen, is het mogelijk zonder de eindgebruikerweergavestructuur van een gegeven database te verstoren. Het is essentieel om tijdig wijzigingen aan te brengen in het conceptuele niveau om uw DBMS up-to-date te houden. Dit is de reden waarom logische data onafhankelijkheid wordt gezegd dat het leiden van een centrale rol. Het helpt niet alleen de prestaties en snelheid van de DBMS te verbeteren, maar blijkt ook nuttig te zijn bij het maken van uw database veel handiger en betrouwbaarder.

voordelen van Gegevensonafhankelijkheid

Gegevensonafhankelijkheid staat op een onbetwistbare basis als het gaat om een van de belangrijkste kenmerken van een databasebeheersysteem. Er zijn verschillende redenen om de noodzaak van gegevensonafhankelijkheid in DBMS te rechtvaardigen. Laten we dus eens kijken naar de voordelen die de behoeften van DBMS verzadigen.

  • gegevenskwaliteit-Gegevensonafhankelijkheid helpt bij het verbeteren van de kwaliteit van gegevens die in een database zijn opgeslagen. Sinds het wijzigen van de database structuur wordt handiger met data onafhankelijkheid, data-opslag wordt efficiënt. Het vergemakkelijkt de verbetering van de onverdeelde of onberispelijke toestand. Vandaar, het resulteert in verbetering van de kwaliteit van de opgeslagen gegevens.
  • kosteneffectief onderhoud-Gegevensonafhankelijkheid bespaart ons de moeite om wijzigingen aan te brengen in alle schematische niveaus van onze database Als wijzigingen nodig zijn in één schematisch niveau. Daardoor wordt het onderhouden van onze database in een mooie mate betaalbaar.
  • veiligheidsaspect-een goede handhaving van de normen en protocollen voor het afschermen van de database wordt gemakkelijker. Daarom is gegevensonafhankelijkheid inderdaad nuttig bij het verbeteren van de databasebeveiliging.
  • ontwikkelaars die zich richten op de algemene structuur: ontwikkelaars kunnen zich uitsluitend richten op het verwerken en bijwerken van de logische structuur zonder zich zorgen te maken over de interne implantatie. De veranderingen worden direct geabsorbeerd door het conceptuele niveau en de interne niveau mapping.
  • vermindering van Gegevensoncongruentie-gegevensonafhankelijkheid ondersteunt het wijzigen van onze databasestructuur om de compatibiliteit ervan te vergroten. Dit helpt bij het controleren van de gegevens incongruity.
  • verbetering van de onafhankelijkheid van de prestatiegegevens voedt de oorzaak van gegevensonttrekking. Bovendien vergemakkelijkt het de vlotte implementatie van nieuwe veranderingen. Als gevolg hiervan wordt de toegang tot gegevens, het ophalen of het wijzigen van gegevens snel en gemakkelijk. Dit is hoe data-onafhankelijkheid nuttig blijkt te zijn bij het verbeteren van de prestaties van de database.

zoals we kunnen afleiden uit de hierboven genoemde punten die de voordelen van gegevensonafhankelijkheid benadrukken, fungeert gegevensonafhankelijkheid als een van de wapens van DBMS die de nadelen van bestandgebaseerde systemen overwinnen. Men kan het zien als de immuniteit van gebruikers applicaties tegen de wijzigingen in de schema definitie en data organisatie. Elke munt heeft twee gezichten, hetzelfde geldt hier ook voor. Nu dat je vrij overtuigd bent over data onafhankelijkheid is de sleutel tot het verkrijgen van betrouwbaarheid en veiligheid van een database, moet je je afvragen over de donkere aspect. Dan, laat me je vertellen dat er slechts twee grote tekortkomingen die we vaak tegenkomen bij het omgaan met data onafhankelijkheid. De eerste is een verhoogde complexiteit die wordt geleverd met het aannemen van data-onafhankelijkheid. Databases moeten zorgvuldig worden ontworpen om optimaal gebruik te maken van gegevensonafhankelijkheid. Het tweede nadeel is gerelateerd aan het eerste. Toepassingsprogramma ‘ s zijn sterk afhankelijk van het logische schema van de gegevens. Daarom is het wijzigen van de conceptuele structuur verplicht tot het wijzigen van het respectieve toepassingsprogramma.

hoop dat deze blog in staat is geweest om de juiste licht te werpen op data onafhankelijkheid en waarde toe te voegen aan uw kennis over DBMS. Naast gegevensonafhankelijkheid zijn er nog verschillende andere factoren die een grote impact hebben op een database. Om een goede greep op dergelijke relevante onderwerpen van DBMS te krijgen, kunt u verwijzen naar andere blogs van grote leren. Blijf op de hoogte en blijf je leerreis bij ons voortzetten. U kiest misschien liever voor een spoedcursus op DBMS met een goede kans op het verdienen van een certificaat. We hebben tal van gecertificeerde cursussen die u op de een of andere manier ten goede zullen komen. Waar wacht je nog meer op? Schrijf je hier in voor een nieuwe cursus! Gelukkig leren!

Leave a Reply