logo

Абстракция на данни и независимост на данните

Системите за бази данни включват сложни структури от данни. За да направят системата ефективна по отношение на извличането на данни и да намалят сложността по отношение на използваемостта на потребителите, разработчиците използват абстракция, т.е. скриват неподходящи подробности от потребителите. Този подход опростява дизайна на базата данни. 

Ниво на абстракция в СУБД

Има основно 3 нива на абстракция на данни: 



  • Физическо или вътрешно ниво
  • Логическо или концептуално ниво
  • Изглед или външно ниво

Физическо или вътрешно ниво

Това е най-ниското ниво на абстракция на данни. Той ни казва как данните всъщност се съхраняват в паметта. За същото се използват методи за достъп като последователен или произволен достъп и методи за организиране на файлове като B+ дървета и хеширане. Размерът на използваемостта на паметта и броят на записите са фактори, които трябва да знаем, докато проектираме базата данни. 
Да предположим, че трябва да съхраним данните за служител. Блоковете за съхранение и количеството памет, използвано за тези цели, се пазят скрити от потребителя. 

Логическо или концептуално ниво

Това ниво съдържа информацията, която действително се съхранява в базата данни под формата на таблици. Той също така съхранява връзката между обектите с данни в относително прости структури. На това ниво информацията, достъпна за потребителя на ниво изглед, е неизвестна. 
Можем да съхраняваме различните атрибути на служител и взаимоотношения, напр. с управителя също могат да се съхраняват. 

По този начин логическото ниво описва цялата база данни от гледна точка на малък брой относително прости структури. Въпреки че изпълнението на простите структури на логическо ниво може да включва сложни структури на физическо ниво, потребителят на логическото ниво не трябва да е наясно с тази сложност. Това се нарича физическа независимост на данните. Администраторите на бази данни, които трябва да решат каква информация да се съхранява в базата данни, използват логическото ниво на абстракция.



Изглед или външно ниво

Това е най-високото ниво на абстракция. Само част от действителната база данни се преглежда от потребителите. Това ниво съществува, за да улесни достъпа до базата данни от отделен потребител. Потребителите преглеждат данни под формата на редове и колони. Таблиците и релациите се използват за съхраняване на данни. Може да съществуват множество изгледи на една и съща база данни. Потребителите могат просто да преглеждат данните и да взаимодействат със съхранението на базата данни, а подробностите за изпълнението са скрити от тях. Въпреки че логическото ниво използва по-прости структури, сложността остава поради разнообразието от информация, съхранявана в голяма база данни. Много потребители на системата от бази данни не се нуждаят от цялата тази информация; вместо това те трябва да имат достъп само до част от базата данни. Нивото на изглед на абстракция съществува, за да опрости тяхното взаимодействие със системата

Пример: В случай на съхраняване на клиентски данни

неопределен наклон
  • Физическо ниво - ще съдържа блок от хранилища (bytesGBTBetc)
  • Логическо ниво -  ще съдържа полетата и атрибутите на данните.
  • Ниво на изглед - работи с CLI или GUI достъп до база данни




Абстракция на данни' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=Абстракция на данни

Основната цел на абстракцията на данни е да се постигне независимост на данните, за да се спести време и разходи, необходими, когато базата данни бъде модифицирана или променена. 

Независимост на данните

Независимост на данните се определя основно като свойство на СУБД, което ви помага да промените схемата на базата данни на едно ниво на системата, без да е необходимо да променяте схемата на следващото ниво. помага да се запазят данните отделени от всички програми, които ги използват.
Имаме именно две нива на независимост на данните, произтичащи от тези нива на абстракция: 

  • Phys аз независимост на данните на кално ниво
  • Независимост на данните на логическо ниво
Абстракция-и-данни-независимост' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Независимост на данните

Независимост на данните на физическо ниво

Отнася се до характеристиката да можеш да модифицираш физическата схема без никакви промени в концептуалната или логическата схема, направени за целите на оптимизацията, напр. Концептуалната структура на база данни няма да бъдат засегнати от каквато и да е промяна в размера на паметта на сървъра на системата на базата данни. Промяната от последователни към файлове с произволен достъп е един такъв пример. Тези промени или модификации на физическата структура могат да включват: 

  • Използване на нови устройства за съхранение.
  • Модифициране на структури от данни, използвани за съхранение.
  • Промяна на индекси или използване на алтернативни техники за организиране на файлове и др.

Независимост на данните на логическо ниво

Отнася се за характеристиката на възможността за модифициране на логическата схема, без да се засяга външната схема или приложна програма. Потребителският изглед на данните няма да бъде засегнат от никакви промени в концептуалния изглед на данните. Тези промени могат да включват вмъкване или изтриване на атрибути, променящи обекти на структури на таблици или връзки с логическата схема и т.н.