Dataoberoende i DBMS: Fysiskt och logiskt med exempel
Vad är dataoberoende för DBMS?
Dataoberoende definieras som en egenskap hos DBMS som hjälper dig att ändra databasschemat på en nivå i ett databassystem utan att behöva ändra schemat på nästa högre nivå. Dataoberoende hjälper dig att hålla data åtskilda från alla program som använder dem.
Du kan använda denna lagrade data för beräkning och presentation. I många system är dataoberoende en väsentlig funktion för komponenter i systemet.
Typer av dataoberoende
In DBMS det finns två typer av dataoberoende
- Fysisk dataoberoende
- Logiskt dataoberoende.
Nivåer av databas
Innan vi lär oss dataoberoende är det viktigt att uppdatera databasnivåer. Databasen har 3 nivåer som visas i diagrammet nedan
- Fysisk/intern
- Conceptual
- Yttre
Tänk på ett exempel på en universitetsdatabas. På de olika nivåerna kommer implementeringen att se ut så här:
Typ av schema | Genomförande |
---|---|
Externt schema |
Visa 1: Kursinformation(cid:int,cname:string) Visa 2: studeninfo(id:int.namn:sträng) |
Konceptuellt Shema |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname:string, credits:integer) Enrolled(id: int, grade:string) |
Fysiskt schema |
|
Fysiska data oberoende
Fysiskt dataoberoende hjälper dig att skilja konceptuella nivåer från de interna/fysiska nivåerna. Det låter dig ge en logisk beskrivning av databasen utan att behöva specificera fysiska strukturer. Jämfört med logiskt oberoende är det lätt att uppnå fysisk dataoberoende.
Med Fysiskt oberoende kan du enkelt ändra de fysiska lagringsstrukturerna eller enheterna med en effekt på det konceptuella schemat. Varje förändring som görs skulle absorberas av kartläggningen mellan den konceptuella och interna nivån. Fysiskt dataoberoende uppnås genom närvaron av databasens interna nivå och sedan omvandlingen från databasens konceptuella nivå till den interna nivån.
Exempel på ändringar under Fysiskt dataoberoende
På grund av fysiskt oberoende kommer någon av nedanstående förändringar inte att påverka det konceptuella lagret.
- Använda en ny lagringsenhet som hårddisk eller magnetband
- Ändring av filorganisationstekniken i databasen
- Byte till olika datastrukturer.
- Ändra åtkomstmetod.
- Ändring av index.
- Ändringar av komprimeringstekniker eller hashalgoritmer.
- Ändring av plats för databasen från säg C-enhet till D-enhet
Logiska dataoberoende
Logiskt dataoberoende är förmågan att ändra det konceptuella schemat utan att förändras
- Yttre vyer
- Externt API eller program
Alla förändringar som görs kommer att absorberas av kartläggningen mellan externa och konceptuella nivåer.
Jämfört med fysisk dataoberoende är det utmanande att uppnå logiskt dataoberoende.
Exempel på ändringar under logiskt dataoberoende
På grund av logiskt oberoende kommer någon av ändringarna nedan inte att påverka det externa lagret.
- Lägg till/Ändra/Ta bort ett nytt attribut, entitet eller relation är möjligt utan omskrivning av befintliga applikationsprogram
- Slår ihop två poster till en
- Dela ett befintligt rekord i två eller flera poster
Skillnaden mellan fysiskt och logiskt dataoberoende
Logica Data Oberoende | Fysiska data oberoende |
---|---|
Logiskt dataoberoende handlar främst om strukturen eller att ändra datadefinitionen. | Främst handlar det om lagring av data. |
Det är svårt då hämtning av data huvudsakligen är beroende av datas logiska struktur. | Det är lätt att hämta. |
Jämfört med logiskt fysiskt oberoende är det svårt att uppnå logiskt dataoberoende. | Jämfört med logiskt oberoende är det lätt att uppnå fysisk dataoberoende. |
Du måste göra ändringar i applikationsprogrammet om nya fält läggs till eller tas bort från databasen. | En förändring av den fysiska nivån behöver vanligtvis inte ändras på applikationsprogramnivå. |
Modifiering på de logiska nivåerna är betydande närhelst de logiska strukturerna i databasen ändras. | Ändringar som görs på interna nivåer kan behövas eller inte för att förbättra strukturens prestanda. |
Bekymrad över konceptuellt schema | Bekymrad över internt schema |
Exempel: Lägg till/Ändra/Ta bort ett nytt attribut | Exempel: förändring av komprimeringstekniker, hashalgoritmer, lagringsenheter, etc |
Vikten av dataoberoende
- Hjälper dig att förbättra kvaliteten på datan
- Underhåll av databassystem blir överkomligt
- Upprätthållande av standarder och förbättring av databassäkerhet
- Du behöver inte ändra datastrukturen i applikationsprogram
- Tillåt utvecklare att fokusera på den allmänna strukturen i databasen snarare än att oroa sig för den interna implementeringen
- Det låter dig förbättra tillstånd som är oskadat eller odelat
- Databasinkonsekvens reduceras avsevärt.
- Enkelt göra ändringar i den fysiska nivån behövs för att förbättra systemets prestanda.
Sammanfattning
- Dataoberoende är egenskapen hos DBMS som hjälper dig att ändra Databasschema på en nivå i ett databassystem utan att behöva ändra schemat på nästa högre nivå.
- Två nivåer av dataoberoende är 1) fysisk och 2) logisk
- Fysiskt dataoberoende hjälper dig att skilja konceptuella nivåer från de interna/fysiska nivåerna
- Logiskt dataoberoende är förmågan att ändra det konceptuella schemat utan att förändras
- Jämfört med fysisk dataoberoende är det utmanande att uppnå logiskt dataoberoende
- Dataoberoende Hjälper dig att förbättra kvaliteten på data