Dataoberoende i DBMS

 databasingenjör
  • Inledning
  • Vad är Dataoberoende?
  • typer av Dataoberoende

introduktion

idag kommer vi att ta upp ett av de viktigaste ämnena i databashanteringssystem, vilket är Dataoberoende. Anledningen till att implementera tre nivåer av dataabstraktion är ingen annan än att uppnå dataoberoende. Dataoberoende är något som handlar om förändringar som sker på olika nivåer i schemat. Bortsett från betydelsen av dataoberoende kommer du att lära dig om dess behov och dess typer här. Så, låt oss komma igång utan vidare!

Vad är Dataoberoende?

vi är alla redan bekanta med de två termerna ‘data’ och ‘oberoende’ separat, så vi kan mer eller mindre dechiffrera betydelsen av hela termen ‘dataoberoende’ i samma mening. Det framgår av själva termen att vi talar om oberoende av data som finns i en databas. Med tekniska ord kan du uttrycka det på följande sätt: ‘Dataoberoende är egenskapen hos DBMS som gör det möjligt för användaren att ändra schemadefinitionen på en nivå utan krav på att ändra schemadefinitionen på efterföljande högre nivåer’. Det är mycket nödvändigt att när vi gör förändringar på en nivå hindrar det inte de andra nivåerna. För att vara exakt hänvisar dataoberoende till oberoende eller självförtroende av data som finns i de tre nivåerna i databasarkitekturen. Dessutom är det något som hjälper dig att hålla data separerade från applikationsprogrammen som använder sig av det. Det ses ofta som en typ av datatransparens som ett centraliserat databashanteringssystem är mycket bekymrat över.

innan vi tittar på en djupare aspekt av dataoberoende, låt oss göra en snabb återkallelse på nivåerna i en databas. Internt eller fysiskt schema är den första nivån som är i direkt anslutning till databasen som också på minnesnivå. Den andra är det konceptuella eller logiska schemat som fungerar som medlare mellan tredje och första nivån. Den tredje nivån är det externa schemat som dikterar hur databasen är synlig för flera slutanvändare. Om man antar en instans av en biblioteksdatabas ser implementeringen av dessa tre nivåer något ut så här:

internt Schema logiskt Schema externt Schema
Unordered files of relations of databaseförsta kolumnindex för besökare besökare (id: int, namn: sträng, ålder: int, kontakt: numerisk, adress: sträng)böcker (id: int, Titel: sträng, författare: sträng, isbn: numerisk) Visning1: BookRecords (b_id: int, b_name: string, författare: string)View2: VisitorRecords (v_id: int, v_name: string)

data independence separerar data från API och implementerar de ändringar som gjorts på en av nivåerna till kartläggningarna mellan nivåer. Det hjälper till att upprätthålla friheten för dessa individuella nivåer i databasen samtidigt. Från vissa synvinklar tar dataoberoende och operationsoberoende tillsammans fram dataabstraktionsfenomenet i en DBMS.

hur uppnår man dataoberoende i DBMS?

för att förvärva dataoberoende ser vi till att vår databas uppfyller kraven för dataabstraktion. I enkla ord är dataabstraktion processen att hålla de irrelevanta detaljerna dolda för slutanvändaren. Om vi tänker med avseende på verkliga enheter kan vi ta exemplet med en bil. När en förare kör en bil har han fullständig kunskap om att köra bil, men om han av någon anledning inte kan starta bilen behöver han hjälp från en bilmekaniker. Det beror på att föraren bara vet hur man kör en bil, han vet inte hur man ska hantera de interna kretsproblemen, anledningen är att bilens interna kretsar och mekanism är dold för honom. På samma sätt är den interna strukturen osynlig för programmerare och slutanvändare. Den här egenskapen att begränsa synligheten i en databas kallas dataabstraktion. En databas rymmer upp till tre abstraktionsnivåer. Dessa tre nivåer listas nedan:

  • fysisk nivå (internt schema)
  • konceptuell nivå (logisk nivå)
  • Visa nivå

fysisk nivå av dataabstraktion tar hand om det interna schemat. Denna abstraktionsnivå definierar hur data i en databas lagras. Den lagrar de detaljerade och komplexa datastrukturerna i databasen som slutanvändarna och programmerarna inte skulle vara intresserade av. Det anses också som den lägsta nivån av dataabstraktion.

den konceptuella nivån, som är den mellersta nivån av dataabstraktion, är för den logiska nivån i schemat. Den tidigare nivån svarar på frågan ‘ Hur?’. På samma sätt svarar denna nivå frågan ‘ Varför?’Den beskriver vad och vilken typ av data som lagras i databasen.

den sista och högsta nivån av dataabstraktion är Visningsnivån. Denna nivå berättar hur data ska ses av olika n-användare. Det ansvarar för användarinteraktion med databasen.

Låt oss ta en mycket låg skala exempel där vi har lagrat uppgifter om kunder i en butik. Så, om vi pratar om den fysiska nivån, lagras data som minnesblock i byte, gigabyte, terabyte etc. I grund och botten handlar det om komplex minneslagring. Denna information är inte synlig för programmerarna. Den logiska nivån beskriver de kunduppgifter som anges och deras datatyper. Det logiska förhållandet implementeras mellan data på denna nivå med hjälp av programmeringsspråk. Denna nivå hanteras huvudsakligen av programmerare. På visningsnivå interagerar användaren med systemet via GUI för att ange data, kanske i ett formformat eller något annat setformat. Nu måste varje nivå vara oberoende av den andra, så att när vi gör ändringar på en nivå behöver vi inte göra ändringar på nästa högre nivå. Och det är vad Data independence gör.

för att upprätthålla dessa tre nivåer av dataabstraktion kan vi behöva göra ändringar på en nivå i databasen som kan vara ett stort krångel om inte för dataoberoende. Du kommer överens om att ändra hela applikationsprogrammet för att återspegla en liten förändring i det fysiska schemat är inget sätt till vår fördel när det gäller tid och programmering. Dataoberoende säkerställer att ändringar på en nivå inte påverkar de andra nivåerna i databasen. På grundval av de tre nivåerna av dataabstraktion förgrenas dataoberoende i två typer.

typer av Dataoberoende

Låt oss lära oss om de två typerna av dataoberoende och deras egenskaper. De två kategorierna är:

  • fysiskt dataoberoende
  • logiskt dataoberoende

fysiskt Dataoberoende: Under fysisk dataoberoende får vi friheten att ändra det fysiska schemat utan att vara bundna att ändra applikationsprogrammen för det. Det ansvarar för att separera den interna nivån från den konceptuella nivån i en databasstruktur. Fysisk dataoberoende möjliggör en logisk beskrivning eller översikt över databasen, vilket inte nödvändigtvis krävs för att specificera detaljerna i den logiska strukturen i en databas. Enligt fysisk dataoberoende ska inga ändringar som görs på den interna nivån ändra definitionen av konceptuell nivå eller vynivåschema.

fysiskt oberoende kan du ändra fillagringsstrukturer, hashingalgoritmer, komprimeringstekniker, lagringsenheter, plats för Databas, åtkomstmetod, index och så vidare. Så i princip handlar det om genomförandet av effektiva minneslagringstekniker. Alla ändringar som görs på denna nivå kommer att tillämpas på kartläggningen mellan databasens interna och konceptuella nivåer. Tänk på att de införda ändringarna måste lokaliseras. Fysisk dataoberoende uppnås av den fysiska nivån och sedan genomförs omvandling från den konceptuella till den interna nivån i databasen.

ibland måste vi uppdatera den interna nivån för att förbättra prestandan för våra DBMS med tanke på minneshantering. Således spelar fysiskt dataoberoende onekligen en viktig roll på grund av det faktum att ändringar av lagringsteknikerna i enlighet med våra krav är något som ett effektivt DBMS måste vara benäget för.

Logisk Data Oberoende: Logisk dataoberoende ger friheten att ändra den konceptuella nivån på schemat utan att göra någon tvång att ändra externa vyer och externa program eller API. Ändringar som görs på denna nivå verkställs på kartläggningen av logisk och slutvy. Applikationsprogram som är starkt beroende av konceptuell nivå gör det svårt att uppnå logisk dataoberoende i jämförelse med fysisk dataoberoende. Varje mindre eller större förändring i databasens logiska struktur skulle kräva att vi också ändrar programmen. Således kan uppnå logisk dataoberoende vara ganska utmanande. Logisk dataoberoende styr separationen mellan slutvisningsnivån och den konceptuella nivån.

logisk dataoberoende tillåter oss att göra ändringar som att lägga till, ändra eller ta bort ett attribut, entitet eller till och med en relation. Att göra sådana ändringar kräver inte omskrivning av applikationsprogrammet, utan att göra motsvarande ändringar i programmet. Det gör att vi kan slå samman två poster i en utan att påverka det externa lagret. Om man vill dela upp en befintlig post i två är det möjligt utan att störa slutanvändarens visningsnivåstruktur för en given databas.

att göra snabba ändringar av konceptuell nivå för att hålla dina DBMS uppdaterade är viktigt. Det är därför logiskt dataoberoende sägs leda en central roll. Det hjälper inte bara förbättra prestanda och hastighet DBMS men också visar sig vara till hjälp för att göra din Databas mycket smidigare och mer tillförlitlig.

fördelar med Dataoberoende

dataoberoende är obestridligt när det gäller att vara en av de viktigaste egenskaperna hos ett databashanteringssystem. Det finns flera skäl att motivera behovet av dataoberoende i DBMS. Så, låt oss ta en titt på de fördelar som mättar DBMS behov.

  • datakvalitet – dataoberoende hjälper till att öka kvaliteten på data som lagras i en databas. Eftersom modifiering av databasstrukturen blir bekvämare med dataoberoende blir datalagring effektiv. Det underlättar förbättring av odelat eller obehindrat tillstånd. Därför resulterar det i förbättring av kvaliteten på de lagrade data.
  • kostnadseffektivt underhåll-dataoberoende sparar oss från att gå igenom besväret med att göra ändringar i alla schematiska nivåer i vår databas om ändringar krävs på en schematisk nivå. Därmed blir underhållet av vår databas överkomligt i trevlig utsträckning.
  • säkerhetsaspekt – korrekt tillämpning av standarder och protokoll för avskärmning av databasen blir lättare. Därför är dataoberoende verkligen till hjälp för att förbättra databassäkerheten.
  • Utvecklare med fokus på allmän struktur: utvecklare kan enbart fokusera på hantering och uppdatering av den logiska strukturen utan att bry sig om den interna implantationen. Förändringarna absorberas direkt av konceptuell nivå och intern nivåmappning.
  • minskning av data inkongruitet – data independence stöder modifiering av vår databasstruktur på grund av att öka dess kompatibilitet. Detta hjälper till att kontrollera datainkongruiteten.
  • förbättra prestanda – dataoberoende bränslen orsaken till dataabstraktion. Dessutom underlättar det ett smidigt genomförande av nya förändringar. Som ett resultat blir dataåtkomst, hämtning eller dataändring snabb och bekväm. Så här visar sig dataoberoende vara användbart för att förbättra databasens prestanda.

som vi kan dra slutsatsen från ovanstående punkter som belyser fördelarna med dataoberoende, fungerar dataoberoende som ett av DBMS vapen som övervinner nackdelarna med filbaserade system. Man kan se det som immunitet för användarapplikationer mot de ändringar som gjorts i schemadefinitionen och dataorganisationen. Varje mynt har två ansikten, samma sak med detta också. Nu när du är ganska övertygad om att dataoberoende är nyckeln till att få tillförlitlighet och säkerhet i en databas, måste du undra över dess mörkare aspekt. Låt mig sedan säga att det bara finns två stora brister som vi ofta stöter på när vi hanterar dataoberoende. Den första är ökad komplexitet som följer med att anta dataoberoende. Databaser måste vara noggrant utformade för att utnyttja dataoberoende på bästa sätt. Den andra nackdelen är relaterad till den förra. Applikationsprogram beror allvarligt på det logiska schemat för data. Därför ändrar den konceptuella strukturen mandat att ändra respektive applikationsprogram.

hoppas att den här bloggen har kunnat kasta ordentligt ljus på dataoberoende och lägga till värde för din kunskap om DBMS. Förutom dataoberoende finns det flera andra faktorer som har stor inverkan på en databas. För att få ett bra grepp om sådana relevanta ämnen i DBMS kan du hänvisa till andra bloggar med bra lärande. Håll dig uppdaterad och fortsätt din inlärningsresa med oss. Du kanske föredrar att välja en snabbkurs på DBMS med en fin chans att tjäna ett certifikat. Vi har fått många certifierade kurser som kommer att gynna dig på ett eller annat sätt. Så, vad väntar du på? Gå och anmäl dig till en ny kurs här! Lyckligt lärande!

Leave a Reply