Независимост на данните в СУБД: физически и логически с примери
⚡ Умно обобщение
Независимостта на данните е свойство на СУБД, което позволява схемата на едно ниво да се променя, без да се налага промяна на следващото по-високо ниво. Тя се предлага в две форми – физическа и логическа, и държи данните отделени от програмите, които ги използват.

Какво е независимост на данните в СУБД?
Независимостта на данните се дефинира като свойство на СУБД, което ви помага да променяте схемата на базата данни на едно ниво от системата за бази данни, без да е необходима промяна на схемата на следващото по-високо ниво. Независимостта на данните ви помага да държите данните отделени от всички програми, които ги използват.
Можете да използвате тези съхранени данни за изчисления и презентации. В много системи независимостта на данните е съществена функция за компонентите на системата.
Видове независимост на данните
In СУБД Има два вида независимост на данните:
- Физическата независимост на данните.
- Логическа независимост на данните.
И двата типа се основават на многопластовия дизайн на базата данни, така че е полезно първо да се прегледат тези нива.
Нива на база данни
Преди да научим за независимостта на данните, е важно да си припомним нивата в базата данни. Базата данни има три нива, както е показано на диаграмата по-долу:
- Физически / Вътрешен
- Идеен
- Външен

Това са същите слоеве, описани подробно по-долу Схеми на СУБДДа разгледаме пример за университетска база данни. На различните нива, имплементацията изглежда така:
| Тип на схемата | изпълнение |
|---|---|
| Външна схема |
Преглед 1: Информация за курса (cid:int, cname:string) Преглед 2: student_info(id:int, name:string) |
| Концептуална схема |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| Физическа схема |
|
Независимост на физическите данни
Физическата независимост на данните ви помага да отделите концептуалното ниво от вътрешното или физическото ниво. Тя ви позволява да предоставите логическо описание на базата данни, без да е необходимо да посочвате физически структури. В сравнение с логическата независимост, е лесно да се постигне физическа независимост на данните.
С физическа независимост можете да променяте физическите структури или устройства за съхранение, без това да повлияе на концептуалната схема. Всяка направена промяна се абсорбира от картата.ping между концептуалното и вътрешното ниво. Физическата независимост на данните се постига чрез наличието на вътрешно ниво на базата данни и трансформацията от концептуално ниво към вътрешно ниво.
Примери за промени при условията на физическа независимост на данните
Поради физическата независимост, нито една от промените по-долу няма да повлияе на концептуалния слой:
- Използване на ново устройство за съхранение, като например твърд диск или магнитна лента.
- Промяна на техниката за организация на файлове в базата данни.
- Преминаване към различни структури от данни.
- Промяна на метода на достъп.
- Модифициране на индекси.
- Промени в техниките на компресия или хеширащи алгоритми.
- Промяна на местоположението на базата данни, например от C устройство на D устройство.
Логическа независимост на данните
Логическата независимост на данните е способността да се променя концептуалната схема, без да се променя:
- Външни изгледи.
- Външни API или програми.
Всяка направена промяна се абсорбира от картатаping между външното и концептуалното ниво. В сравнение с физическата независимост на данните, постигането на логическа независимост на данните е предизвикателство.
Примери за промени при логическа независимост на данните
Поради логическата независимост, нито една от промените по-долу няма да повлияе на външния слой:
- Добавянето, модифицирането или изтриването на нов атрибут, обект или връзка е възможно без пренаписване на съществуващи приложни програми.
- Обединяване на два записа в един.
- Разделяне на съществуващ запис на два или повече записа.
Разлика между физическа и логическа независимост на данните
| Логическа независимост на данните | Независимост на физическите данни |
|---|---|
| Основно се отнася до структурата или промяната на дефиницията на данните. | Основно се занимава със съхранението на данни. |
| Трудно е, тъй като извличането на данни зависи главно от логическата структура. | Лесно за извличане. |
| В сравнение с физическата независимост, това е трудно постижимо. | В сравнение с логическата независимост, това е лесно постижимо. |
| Трябва да направите промени в приложната програма, ако се добавят или изтриват нови полета. | Промяна на физическо ниво обикновено не изисква промяна на ниво приложна програма. |
| Модификацията на логическо ниво е значителна винаги, когато се променят логическите структури на базата данни. | Модификации на вътрешно ниво може да са необходими или да не са необходими за подобряване на производителността. |
| Заинтересован от концептуалната схема. | Загрижен за вътрешната схема. |
| Пример: добавяне, промяна или изтриване на нов атрибут. | Пример: промяна в техниките за компресия, алгоритмите за хеширане, устройствата за съхранение и др. |
Значение на независимостта на данните
- Помага ви да подобрите качеството на данните.
- Прави поддръжката на системата за бази данни по-достъпна.
- Прилага стандарти и подобрява сигурността на базата данни.
- Не е необходимо да променяте структурите от данни в приложните програми.
- Позволява на разработчиците да се съсредоточат върху общата структура на базата данни, а не върху вътрешната имплементация.
- Значително намалява несъответствията в базата данни.
- Позволява ви да правите модификации на физическо ниво, за да подобрите производителността на системата.
