Незалежність даних у СУБД: фізична та логічна з прикладами
Що таке незалежність даних СУБД?
Незалежність даних визначається як властивість СУБД, яка допомагає вам змінювати схему бази даних на одному рівні системи бази даних без необхідності змінювати схему на наступному вищому рівні. Незалежність даних допомагає вам зберігати дані окремо від усіх програм, які їх використовують.
Ви можете використовувати ці збережені дані для обчислень і презентацій. У багатьох системах незалежність даних є важливою функцією для компонентів системи.
Типи незалежності даних
In СУБД існує два типи незалежності даних
- Фізична незалежність даних
- Логічна незалежність даних.
Рівні бази даних
Перш ніж вивчати незалежність даних, важливо оновити знання про рівні бази даних. База даних має 3 рівні, як показано на схемі нижче
- Фізичний/Внутрішній
- Концептуальні
- Зовнішній
Розглянемо приклад університетської бази даних. Ось як виглядатиме впровадження на різних рівнях:
Тип схеми | Реалізація |
---|---|
Зовнішня схема |
Перегляд 1: Інформація про курс (cid:int,cname:string) Перегляд 2: studeninfo(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) |
Фізична схема |
|
Незалежність фізичних даних
Фізична незалежність даних допомагає вам відокремити концептуальні рівні від внутрішніх/фізичних рівнів. Це дозволяє надати логічний опис бази даних без необхідності вказувати фізичні структури. У порівнянні з логічною незалежністю легко досягти фізичної незалежності даних.
Завдяки фізичній незалежності ви можете легко змінювати фізичні структури зберігання або пристрої, впливаючи на концептуальну схему. Будь-які зроблені зміни будуть поглинені відображенням між концептуальним і внутрішнім рівнями. Фізична незалежність даних досягається наявністю внутрішнього рівня бази даних і подальшим перетворенням концептуального рівня бази даних на внутрішній рівень.
Приклади змін щодо незалежності фізичних даних
Через фізичну незалежність жодна з наведених нижче змін не вплине на концептуальний рівень.
- Використання нового пристрою зберігання даних, наприклад жорсткого диска або магнітних стрічок
- Зміна техніки організації файлів у базі даних
- Перехід до різних структур даних.
- Зміна способу доступу.
- Модифікація індексів.
- Зміни методів стиснення або алгоритмів хешування.
- Зміна розташування бази даних із диска C на диск D
Логічна незалежність даних
Логічна незалежність даних — це можливість змінювати концептуальну схему без змін
- Зовнішні види
- Зовнішній API або програми
Будь-які внесені зміни будуть поглинені відображенням між зовнішнім і концептуальним рівнями.
У порівнянні з незалежністю фізичних даних досягти логічної незалежності даних складно.
Приклади змін у розділі «Незалежність логічних даних».
Через логічну незалежність жодна з наведених нижче змін не вплине на зовнішній рівень.
- Додати/змінити/видалити новий атрибут, сутність або відношення можна без переписування існуючих прикладних програм
- Об'єднання двох записів в один
- Розбиття існуючого запису на два чи більше записів
Різниця між фізичною та логічною незалежністю даних
Незалежність даних Logica | Незалежність фізичних даних |
---|---|
Логічна незалежність даних в основному стосується структури або зміни визначення даних. | В основному стосується зберігання даних. |
Це складно, оскільки отримання даних в основному залежить від логічної структури даних. | Його легко отримати. |
У порівнянні з логічною фізичною незалежністю важко досягти логічної незалежності даних. | У порівнянні з логічною незалежністю легко досягти фізичної незалежності даних. |
Вам необхідно внести зміни в прикладну програму, якщо нові поля додаються або видаляються з бази даних. | Зміна на фізичному рівні зазвичай не вимагає змін на рівні прикладної програми. |
Модифікація на логічних рівнях є значною, коли змінюються логічні структури бази даних. | Зміни, внесені на внутрішніх рівнях, можуть або не потрібні для покращення продуктивності структури. |
Стурбований концептуальною схемою | Стурбований внутрішньою схемою |
Приклад: Додати/змінити/видалити новий атрибут | Приклад: зміна методів стиснення, алгоритмів хешування, пристроїв зберігання даних тощо |
Важливість незалежності даних
- Допомагає покращити якість даних
- Обслуговування системи баз даних стає доступним
- Запровадження стандартів і покращення безпеки баз даних
- Вам не потрібно змінювати структуру даних у прикладних програмах
- Дозвольте розробникам зосередитися на загальній структурі бази даних, а не турбуватися про внутрішню реалізацію
- Це дозволяє покращити стан, який є непошкодженим або неподіленим
- Невідповідність бази даних значно зменшується.
- Легке внесення змін на фізичному рівні необхідно для покращення продуктивності системи.
Підсумки
- Незалежність даних – це властивість СУБД, яка допомагає вам змінювати Схема бази даних на одному рівні системи бази даних без необхідності змінювати схему на наступному вищому рівні.
- Два рівні незалежності даних: 1) фізичний і 2) логічний
- Фізична незалежність даних допомагає вам відокремити концептуальні рівні від внутрішніх/фізичних рівнів
- Логічна незалежність даних — це можливість змінювати концептуальну схему без змін
- У порівнянні з незалежністю фізичних даних досягти логічної незалежності даних складно
- Незалежність даних Допомагає покращити якість даних