data uafhængighed i DBMS

 database ingeniør
  • introduktion
  • Hvad er Data uafhængighed?
  • typer af data uafhængighed

introduktion

i dag skal vi tage et af de vigtigste emner i databasestyringssystemer, som er Datauafhængighed. Årsagen til implementering af tre niveauer af dataabstraktion er ingen ringere end at opnå datauafhængighed. Data uafhængighed er noget, der beskæftiger sig med ændringer, der finder sted på forskellige niveauer af skema. Bortset fra betydningen af datauafhængighed lærer du om dens behov og dens typer her. Så, lad os komme i gang med ingen yderligere ado!

Hvad er Data uafhængighed?

vi er alle allerede bekendt med de to udtryk ‘data’ og ‘uafhængighed’ separat, så vi mere eller mindre kan dechiffrere betydningen af hele udtrykket ‘datauafhængighed’ i samme forstand. Det fremgår klart af selve udtrykket, at vi taler om uafhængighed af data, der findes i en database. I tekniske ord kan du sige det som følger, ‘Data uafhængighed er DBMS ejendom, der giver brugeren mulighed for at ændre skemadefinitionen på et niveau uden krav om at ændre skemadefinitionen på de efterfølgende højere niveauer’. Det er meget nødvendigt, at når vi foretager ændringer på et niveau, hæmmer det ikke de andre niveauer. For at være præcis henviser datauafhængighed til uafhængighed eller selvtillid af data, der findes i de tre niveauer i databasearkitekturen. Desuden er det noget, der hjælper dig med at holde data adskilt fra applikationsprogrammerne, der bruger dem. Det ses ofte som en type datatransparens, som et centraliseret databasestyringssystem er meget optaget af.

før vi ser på et dybere aspekt af datauafhængighed, lad os hurtigt huske på niveauerne i en database. Internt eller fysisk skema er det første niveau, der er i direkte forbindelse med databasen, også på hukommelsesniveau. Det andet er det konceptuelle eller logiske skema, der fungerer som mægler mellem det tredje og det første niveau. Det tredje niveau er det eksterne skema, der dikterer, hvordan databasen er synlig for de flere slutbrugere. Hvis man antager en forekomst af en biblioteksdatabase, ser implementeringen af disse tre niveauer noget sådan ud:

internt Skema logisk Skema eksternt Skema
uordnede filer af databaseforbindelserførste kolonneindeks for besøgende besøgende (id: int, navn: streng, alder: int, kontakt: numerisk, adresse: streng)bøger (id: int, Titel: streng, forfatter: streng, isbn: numerisk) Visning1: BookRecords (b_id: int, b_name: string, forfatter: string)Visning2: VisitorRecords (v_id: int, v_name: string)

Data uafhængighed adskiller data fra API og implementerer de ændringer, der er foretaget på et af niveauerne til Inter-level mappings. Det hjælper med at opretholde friheden på disse individuelle niveauer i databasen på samme tid. Fra et eller andet synspunkt bringer datauafhængighed og driftsuafhængighed sammen dataabstraktionsfænomenet i en DBMS.

hvordan opnås datauafhængighed i DBMS?

for at opnå datauafhængighed sørger vi for, at vores database opfylder kravene til dataabstraktion. I enkle ord er dataabstraktion processen med at holde de irrelevante detaljer skjult for slutbrugeren. Hvis vi tænker med hensyn til virkelige enheder, kan vi tage eksemplet på en bil. Når en chauffør kører bil, har han fuldstændig viden om at køre bil, men hvis han af en eller anden grund ikke er i stand til at starte bilen, har han brug for hjælp fra en bilmekaniker. Det er sådan, fordi føreren kun ved, hvordan man kører en bil, han ved ikke, hvordan man skal håndtere de interne kredsløbsproblemer, grunden er det interne kredsløb og mekanismen i bilen er skjult for ham. Ligeledes er den interne struktur usynlig for programmører og slutbrugere. Denne egenskab ved at begrænse synligheden i en database kaldes dataabstraktion. En database indeholder op til tre abstraktionsniveauer. Disse tre niveauer er angivet nedenfor:

  • fysisk niveau (internt skema)
  • konceptuelt niveau (logisk niveau)
  • visningsniveau

fysisk niveau af dataabstraktion tager sig af det interne skema. Dette abstraktionsniveau definerer, hvordan dataene i en database gemmes. Den gemmer de detaljerede og komplekse datastrukturer i databasen, som slutbrugerne og programmørerne ikke ville være interesseret i. Det betragtes også som det laveste niveau af dataabstraktion.

det konceptuelle niveau, som er det midterste niveau af dataabstraktion, er for det logiske niveau af skemaet. Det foregående niveau besvarer spørgsmålet ‘ Hvordan?’. Tilsvarende svarer dette niveau på spørgsmålet ‘ Hvorfor?’Det beskriver, hvad og hvilken type data der er gemt i databasen.

det sidste og højeste niveau af dataabstraktion er Visningsniveauet. Dette niveau fortæller, hvordan dataene skal ses af forskellige N-brugere. Det er ansvarligt for brugerinteraktion med databasen.

lad os tage et meget lavt skala eksempel, hvor vi har gemt detaljerne om kunder i en butik. Så hvis vi taler om det fysiske niveau, gemmes dataene som hukommelsesblokke i bytes, gigabyte, terabyte osv. Dybest set handler det om kompleks hukommelseslagring. Disse oplysninger er ikke synlige for programmørerne. Det logiske niveau beskriver de indtastede kundedetaljer og deres datatyper. Det logiske forhold implementeres mellem dataene på dette niveau ved hjælp af programmeringssprog. Dette niveau behandles hovedsageligt af programmører. På visningsniveau interagerer brugeren med systemet via GUI for at indtaste dataene, måske i et formformat eller et andet indstillet format. Nu skal hvert niveau være uafhængigt af det andet, så når vi foretager ændringer på et niveau, er vi ikke forpligtet til at foretage ændringer på det næste højere niveau. Det er det, Data independence gør.

for at opretholde disse tre niveauer af dataabstraktion skal vi muligvis foretage ændringer i et niveau i databasen, hvilket kan være en stor besvær, hvis ikke for datauafhængighed. Du er enig i det punkt, at ændring af hele applikationsprogrammet for at afspejle en lille ændring i det fysiske skema ikke er til vores fordel med hensyn til tid og programmering. Datauafhængighed sikrer, at ændringer på et niveau ikke påvirker de andre niveauer i databasen. På baggrund af de tre niveauer af dataabstraktion er datauafhængighed forgrenet i to typer.

typer af data uafhængighed

lad os lære om de to typer af data uafhængighed og deres egenskaber. De to kategorier er:

  • fysiske data uafhængighed
  • logiske data uafhængighed

fysiske data uafhængighed: Under fysisk datauafhængighed får vi friheden til at ændre det fysiske skema uden at være bundet til at ændre applikationsprogrammerne til det. Det er ansvarligt for at adskille det interne niveau fra det konceptuelle niveau i en databasestruktur. Fysisk data uafhængighed gør det muligt at give en logisk beskrivelse eller overblik over databasen, ikke nødvendigvis kræves for at specificere detaljerne i den logiske struktur af en database. I henhold til fysisk datauafhængighed skal eventuelle ændringer i det interne niveau ikke ændre definitionen af det konceptuelle niveau eller visningsniveauskema.

fysisk uafhængighed giver dig mulighed for at ændre fillagringsstrukturer, hashingalgoritmer, komprimeringsteknikker, lagerenheder, placering af database, adgangsmetode, indekser og så videre. Så dybest set handler det om implementeringen af effektive hukommelseslagringsteknikker. Enhver ændring, der foretages på dette niveau, vil blive anvendt på kortlægningen mellem databasens interne og konceptuelle niveauer. Husk, at de indførte ændringer skal lokaliseres. Fysisk data uafhængighed opnås af det fysiske niveau, og derefter udføres transformation fra det konceptuelle til det interne niveau i databasen.

lejlighedsvis er vi forpligtet til at opdatere det interne niveau for at forbedre ydeevnen for vores DBMS med henblik på hukommelsesstyring. Således spiller fysisk datauafhængighed utvivlsomt en afgørende rolle på grund af det faktum, at ændringer i lagringsteknikkerne i overensstemmelse med vores krav er noget, som en effektiv DBMS skal være tilbøjelig til.

Logisk Data Uafhængighed: Logisk data uafhængighed giver frihed til at ændre det konceptuelle niveau af skema uden at sætte nogen tvang til at ændre de eksterne synspunkter og eksterne programmer eller API. Ændringer udført på dette niveau håndhæves på den logiske og slutvisningsniveau kortlægning. Applikationsprogrammer, der er stærkt afhængige af det konceptuelle niveau, gør det vanskeligt at opnå logisk datauafhængighed i forhold til fysisk datauafhængighed. Enhver mindre eller større ændring i databasens logiske struktur kræver, at vi også ændrer programmerne. Således kan opnåelse af logisk datauafhængighed være ret udfordrende. Logisk datauafhængighed regulerer adskillelsen mellem slutvisningsniveauet og det konceptuelle niveau.

logisk datauafhængighed giver os mulighed for at foretage ændringer som at tilføje, ændre eller slette en attribut, enhed eller endda et forhold. At foretage sådanne ændringer kræver ikke omskrivning af applikationsprogrammet, men at foretage tilsvarende ændringer i programmet. Det gør det muligt for os at flette to poster i en uden at påvirke det eksterne lag. Hvis man ønsker at opdele en eksisterende post i to, er det muligt uden at forstyrre slutbrugerens visningsniveaustruktur i en given database.

det er vigtigt at foretage rettidige ændringer af det konceptuelle niveau for at holde din DBMS opdateret. Det er derfor logisk data uafhængighed siges at være førende en central rolle. Det hjælper ikke kun med at forbedre DBMS ydeevne og hastighed, men viser sig også at være nyttigt at gøre din database meget mere praktisk og mere pålidelig.

fordele ved Datauafhængighed

datauafhængighed er ubestridelig, når det kommer til at være en af de mest betydningsfulde egenskaber ved et databasestyringssystem. Der er flere grunde til at retfærdiggøre behovet for datauafhængighed i DBMS. Så lad os se på de fordele, der tilfredsstiller DBMS behov.

  • datakvalitet – data uafhængighed hjælper med at øge kvaliteten af data, der er gemt i en database. Da ændring af databasestrukturen bliver mere praktisk med datauafhængighed, bliver datalagring effektiv. Det letter forbedring af udelt eller Uhindret tilstand. Derfor resulterer det i forbedring af kvaliteten af de lagrede data.
  • omkostningseffektiv vedligeholdelse-data uafhængighed sparer os fra at gå gennem besværet med at foretage ændringer i alle de skematiske niveauer i vores database, hvis der kræves ændringer i et skematisk niveau. Derved, vedligeholdelse af vores database bliver overkommelig i god grad.
  • sikkerhedsaspekt – korrekt håndhævelse af standarder og protokoller til afskærmning af databasen bliver lettere. Derfor er datauafhængighed faktisk nyttigt til forbedring af databasesikkerheden.
  • udviklere med fokus på generel struktur: udviklere kan udelukkende fokusere på håndtering og opdatering af den logiske struktur uden at blive generet af den interne implantation. Ændringerne absorberes direkte af det konceptuelle niveau og det interne niveau kortlægning.
  • reduktion i data Inkongruitet – data uafhængighed understøtter ændre vores database struktur i betragtning af at øge dens kompatibilitet. Dette hjælper med at kontrollere datainkongruiteten.
  • forbedring af ydeevne – data uafhængighed brændstoffer årsagen til data abstraktion. Desuden letter det en jævn implementering af nye ændringer. Som et resultat bliver dataadgang, hentning eller datamodifikation hurtig og praktisk. Sådan viser datauafhængighed sig at være nyttig til forbedring af databasens ydeevne.

som vi kan udlede af de ovennævnte punkter, der fremhæver fordelene ved datauafhængighed, fungerer datauafhængighed som et af DBMS ‘ våben, der overvinder ulemperne ved filbaserede systemer. Man kan se det som immuniteten af brugerapplikationer mod de ændringer, der er foretaget i skemadefinitionen og dataorganisationen. Hver mønt har to Ansigter, det samme gælder også dette. Nu hvor du er temmelig overbevist om, at datauafhængighed er nøglen til at opnå pålidelighed og sikkerhed i en database, skal du undre dig over dets mørkere aspekt. Så lad mig fortælle dig, at der kun er to store mangler, som vi ofte støder på, når vi beskæftiger os med datauafhængighed. Den første er øget kompleksitet, der følger med vedtagelsen af datauafhængighed. Databaser skal omhyggeligt udformes for at gøre optimal brug af datauafhængighed. Den anden ulempe er relateret til den førstnævnte. Applikationsprogrammer afhænger alvorligt af det logiske skema af dataene. Derfor ændrer den konceptuelle struktur mandater ændring af det respektive applikationsprogram.

håber, at denne blog har været i stand til at kaste korrekt lys over datauafhængighed og tilføje værdi til din viden om DBMS. Bortset fra datauafhængighed er der flere andre faktorer, der implementerer en stor indflydelse på en database. For at få et godt greb om sådanne relevante emner af DBMS, kan du henvise til andre blogs af stor læring. Hold øje med og fortsæt din læringsrejse med os. Du foretrækker måske at vælge et crashkursus på DBMS med en fin chance for at tjene et certifikat. Vi har mange certificerede kurser, der vil gavne dig på den ene eller den anden måde. Så hvad venter du ellers på? Gå og tilmeld dig selv til et nyt kursus her! Glad læring!

Leave a Reply