Системи баз даних містять складні структури даних. Щоб зробити систему ефективнішою з точки зору пошуку даних і зменшити складність з точки зору зручності використання користувачами, розробники використовують абстракцію, тобто приховують нерелевантні деталі від користувачів. Такий підхід спрощує проектування бази даних.
Рівень абстракції в СУБД
В основному існує 3 рівні абстракції даних:
- Фізичний або внутрішній рівень
- Логічний або концептуальний рівень
- Вид або зовнішній рівень
Фізичний або внутрішній рівень
Це найнижчий рівень абстракції даних. Він говорить нам, як дані фактично зберігаються в пам’яті. Для цього використовуються такі методи доступу, як послідовний або довільний доступ, і методи організації файлів, такі як дерева B+ і хешування. Розмір пам’яті, який можна використовувати, і кількість записів – це фактори, які нам потрібно знати під час розробки бази даних.
Припустимо, нам потрібно зберегти дані про співробітника. Блоки зберігання та обсяг пам'яті, який використовується для цих цілей, приховані від користувача.
Логічний або концептуальний рівень
Цей рівень містить інформацію, яка фактично зберігається в базі даних у вигляді таблиць. Він також зберігає зв’язок між об’єктами даних у відносно простих структурах. На цьому рівні інформація, доступна користувачеві на рівні перегляду, невідома.
Ми можемо зберігати різні атрибути працівника та зв’язки, напр. з менеджером також можна зберігати.
Таким чином, логічний рівень описує всю базу даних за допомогою невеликої кількості відносно простих структур. Хоча реалізація простих структур на логічному рівні може включати складні структури фізичного рівня, користувачеві логічного рівня не потрібно знати про цю складність. Це називається фізичною незалежністю даних. Адміністратори бази даних, які повинні вирішити, яку інформацію зберігати в базі даних, використовують логічний рівень абстракції.
Вид або зовнішній рівень
Це найвищий рівень абстракції. Користувачі переглядають лише частину фактичної бази даних. Цей рівень існує для полегшення доступу до бази даних для окремого користувача. Користувачі переглядають дані у вигляді рядків і стовпців. Для зберігання даних використовуються таблиці та відносини. Може існувати декілька переглядів однієї бази даних. Користувачі можуть просто переглядати дані та взаємодіяти зі сховищем бази даних, а деталі впровадження приховані від них. Незважаючи на те, що логічний рівень використовує простіші структури, складність залишається через різноманітність інформації, що зберігається у великій базі даних. Багатьом користувачам системи баз даних не потрібна вся ця інформація; натомість їм потрібен доступ лише до частини бази даних. Рівень абстракції view існує для спрощення їх взаємодії з системою
приклад: У разі зберігання даних клієнтів
теги html
- Фізичний рівень - він міститиме блок сховищ (bytesGBTBetc)
- Логічний рівень - він міститиме поля та атрибути даних.
- Рівень перегляду - це працює з CLI або GUI доступ до бази даних
Основною метою абстракції даних є досягнення незалежності даних, щоб заощадити час і кошти, необхідні при модифікації або зміні бази даних.
Незалежність даних
Незалежність даних в основному визначається як властивість СУБД, яка допомагає вам змінювати схему бази даних на одному рівні системи без необхідності змінювати схему на наступному рівні. це допомагає зберігати дані окремо від усіх програм, які їх використовують.
У нас є два рівні незалежності даних, що випливають із цих рівнів абстракції:
- фіз i рівень незалежності даних
- Незалежність даних логічного рівня
Незалежність даних фізичного рівня
Це відноситься до характеристики можливості модифікувати фізичну схему без будь-яких змін концептуальної або логічної схеми, зроблених з метою оптимізації, наприклад. Концептуальна структура в бази даних на нього не вплине будь-яка зміна розміру сховища системного сервера бази даних. Зміна файлів із послідовним доступом до файлів із довільним доступом є одним із таких прикладів. Ці зміни або модифікації фізичної структури можуть включати:
- Використання нових пристроїв зберігання.
- Зміна структур даних, що використовуються для зберігання.
- Зміна індексів або використання альтернативних методів організації файлів тощо.
Незалежність даних логічного рівня
Це відноситься до характеристики можливості змінювати логічну схему, не впливаючи на зовнішню схему або прикладну програму. Будь-які зміни концептуального вигляду даних не вплинуть на перегляд даних користувачами. Ці зміни можуть включати вставку або видалення атрибутів, що змінюють сутності структур таблиці або зв’язки з логічною схемою тощо.