logo

Abstrakcia údajov a nezávislosť údajov

Databázové systémy obsahujú komplexné dátové štruktúry. S cieľom zefektívniť systém z hľadiska získavania údajov a znížiť zložitosť z hľadiska použiteľnosti používateľov vývojári používajú abstrakciu, t. j. skrývajú nepodstatné detaily pred používateľmi. Tento prístup zjednodušuje návrh databázy. 

Úroveň abstrakcie v DBMS

Existujú hlavne 3 úrovne abstrakcie údajov: 



  • Fyzická alebo vnútorná úroveň
  • Logická alebo koncepčná úroveň
  • Zobrazenie alebo Externá úroveň

Fyzická alebo vnútorná úroveň

Toto je najnižšia úroveň abstrakcie údajov. Hovorí nám, ako sú dáta v skutočnosti uložené v pamäti. Na to sa používajú prístupové metódy, ako je sekvenčný alebo náhodný prístup, a metódy organizácie súborov, ako sú stromy B+ a hašovanie. Využiteľnosť veľkosti pamäte a počet záznamov sú faktory, ktoré potrebujeme vedieť pri navrhovaní databázy. 
Predpokladajme, že potrebujeme uložiť podrobnosti o zamestnancovi. Bloky úložiska a množstvo pamäte použitej na tieto účely sú pred používateľom skryté. 

Logická alebo koncepčná úroveň

Táto úroveň obsahuje informácie, ktoré sú skutočne uložené v databáze vo forme tabuliek. Tiež ukladá vzťah medzi dátovými entitami v relatívne jednoduchých štruktúrach. Na tejto úrovni sú informácie dostupné používateľovi na úrovni zobrazenia neznáme. 
Môžeme uložiť rôzne atribúty zamestnanca a vzťahy napr. s manažérom môžu byť tiež uložené. 

Logická úroveň teda popisuje celú databázu z hľadiska malého počtu relatívne jednoduchých štruktúr. Hoci implementácia jednoduchých štruktúr na logickej úrovni môže zahŕňať zložité štruktúry na fyzickej úrovni, používateľ logickej úrovne si túto zložitosť nemusí uvedomovať. Toto sa označuje ako fyzická nezávislosť údajov. Správcovia databáz, ktorí sa musia rozhodnúť, aké informácie budú uchovávať v databáze, používajú logickú úroveň abstrakcie.



Zobrazenie alebo Externá úroveň

Toto je najvyšší stupeň abstrakcie. Používatelia si prezerajú iba časť skutočnej databázy. Táto úroveň slúži na uľahčenie prístupu k databáze jednotlivým používateľom. Používatelia prezerajú údaje vo forme riadkov a stĺpcov. Na ukladanie údajov sa používajú tabuľky a vzťahy. Môže existovať viacero zobrazení tej istej databázy. Používatelia môžu len prezerať údaje a pracovať s databázovým úložiskom a detaily implementácie sú pred nimi skryté. Aj keď logická úroveň používa jednoduchšie štruktúry, zložitosť zostáva kvôli rôznorodosti informácií uložených vo veľkej databáze. Mnoho používateľov databázového systému nepotrebuje všetky tieto informácie; namiesto toho potrebujú prístup len k časti databázy. Úroveň abstrakcie pohľadu existuje na zjednodušenie ich interakcie so systémom

Príklad: V prípade uchovávania údajov o zákazníkovi

ups
  • Fyzická úroveň - bude obsahovať blok úložiska (bajtyGBTBetc)
  • Logická úroveň -  bude obsahovať polia a atribúty údajov.
  • Úroveň zobrazenia - funguje s CLI alebo GUI prístup k databáze




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

Hlavným účelom abstrakcie údajov je dosiahnuť nezávislosť údajov, aby sa ušetril čas a náklady potrebné pri úprave alebo zmene databázy. 

Nezávislosť údajov

Nezávislosť údajov je definovaná hlavne ako vlastnosť DBMS, ktorá vám pomáha zmeniť schému databázy na jednej úrovni systému bez toho, aby ste museli meniť schému na ďalšej úrovni. pomáha udržiavať údaje oddelené od všetkých programov, ktoré ich používajú.
Máme konkrétne dve úrovne nezávislosti údajov vyplývajúce z týchto úrovní abstrakcie: 

  • Phys i nezávislosť údajov na úrovni cal
  • Nezávislosť dát na logickej úrovni
Data-Abstraction-and-Data-Independence' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Nezávislosť údajov

Nezávislosť údajov na fyzickej úrovni

Vzťahuje sa na charakteristiku schopnosti modifikovať fyzickú schému bez akýchkoľvek zmien koncepčnej alebo logickej schémy vykonanej na účely optimalizácie, napr. Koncepčná štruktúra databázy nebude ovplyvnená žiadnou zmenou veľkosti úložného priestoru servera databázového systému. Jedným z takýchto príkladov je zmena zo sekvenčných súborov na súbory s náhodným prístupom. Tieto zmeny alebo úpravy fyzickej štruktúry môžu zahŕňať: 

  • Využitie nových úložných zariadení.
  • Úprava dátových štruktúr používaných na ukladanie.
  • Zmena indexov alebo použitie alternatívnych techník organizácie súborov atď.

Nezávislosť dát na logickej úrovni

Vzťahuje sa na charakteristiku schopnosti modifikovať logickú schému bez ovplyvnenia externej schémy alebo aplikačného programu. Používateľský pohľad na údaje by nebol ovplyvnený žiadnymi zmenami koncepčného pohľadu na údaje. Tieto zmeny môžu zahŕňať vloženie alebo vymazanie atribútov, ktoré menia entity štruktúry tabuľky alebo vzťahy k logickej schéme atď.