Бази даних. Незалежність даних. Основні поняття

Незалежність даних. Основні поняття. Структури зберігання змінюваних даних


Зміст


Пошук на інших ресурсах:

1. Поняття незалежності даних. Необхідність в незалежності даних

Під незалежністю даних розуміється вплив вимог до застосунку, що керує базою даних, на спосіб організації цих даних у вторинній пам’яті та спосіб доступу до них.

Залежність даних від можливостей застосунку мала місце у старих системах, які могли представляти дані в своєму форматі, навіть не у вигляді реляційної моделі. Такі застосунки містили відповідний програмний код, що містив відомості про організацію даних чи спосіб доступу до даних, що викликало залежність. При зміні представлення даних, потрібно було перепрограмовувати сам застосунок. Таким чином при розробці та супроводі застосунку з’являлись додаткові ускладнення, які не стосувались безпосередньо проблеми для якої даний додаток був розроблений.

Для будь-якої системи баз даних важливо забезпечити її незалежність від даних. Причини, що спонукають до такої необхідності наступні:

  1. Представлення у різних застосунках одних і тих самих даних. Наприклад, представлення даних у різних форматах, кожен з яких відповідним чином перетворюється в системі баз даних. Система баз даних отримує запит від застосунку (клієнта) на представлення даних. Перевагою такого підходу є уникнення необхідності збереження даних у різних форматах, що, в свою чергу, зменшує надлишковість даних.
  2. Повинна забезпечуватись можливість зміни фізичного представлення чи методу доступу до даних адміністратором без необхідності модифікувати клієнтські застосунки, які ці дані використовують. База даних може потребувати додавання нових даних, що, в свою чергу, може призвести до змін вимог продуктивності роботи застосунків. Якщо застосунки залежать від даних, то вищенаведені зміни в даних вимагають також внесення змін у застосунки. Відповідно з’являється додаткова “зайва” робота у програмістів на перепрограмування застосунків.

В ідеальному випадку будь-яка система баз даних повинна бути розроблена так, що вона забезпечує повну незалежність даних. Ця незалежність фактично розділяє модель даних від її реалізації. Чим більше модель даних буде відділена від реалізації, тим більше буде забезпечена незалежність даних. Добрим підходом до забезпечення незалежності даних вважається створення систем, які базуються на використанні мови SQL (System Query Language).

 

2. Базові складові, які забезпечують незалежність даних

Щоб забезпечити незалежність даних повинна бути максимально можливо розділена модель даних від її реалізації.

Безпосередня реалізація даних виконується системою керування баз даних (СКБД). У цій системі, щоб забезпечити незалежність даних потрібно реалізувати наступні елементи:

  • збережуване поле – це екземпляр, що містить інформацію про тип одного значущого елементу на основі якого формуються дані цього типу. Наприклад, в реляційній моделі даних представленій у вигляді таблиці, поле визначає стовпчик з однотипними даними;
  • збережуваний запис – це безпосередньо порція з набору даних, які відображають інформацію про одиничний випадок (факт) що має бути збережений та зафіксований у базі даних. Збережуваний запис є набором зв’язаних збережуваних полів. Кількість записів у базі даних може бути десятки, сотні, тисячі і навіть мільони. Зі збільшенням кількості записів у базі даних зростають вимоги до забезпечення максимальної швидкодії доступу до даних. Кожен запис у базі даних це є окремий екземпляр (об’єкт), що містить перелік (список) даних відповідних полів. Кожне поле визначене відповідним типом даних;
  • збережуваний файл – це є набір декількох екземплярів збережуваних записів, які мають однаковий тип.

На рисунку 1 зображено приклад збережуваної бази даних, яка містить збережувані поля, записи і файли. Ця база даних використовує одну таблицю (як приклад), в якій формується перелік абонентів з їх адресами та телефонними номерами.

Як видно з рисунку 1 у базі даних крім основної інформації зберігається додаткова інформація у вигляд файлів (а куди ж без них) – все в інформаційному світі тримається на файлах.

Збережувана база даних

Рисунок 1. Збережувана база даних

 

3. Основні аспекти структур зберігання змінюваних даних

Незалежність даних повинна максимально захищати застосунок від змін, що можуть виникати в даних. При активному використанні база даних може зростати і розвиватись. Якщо дані незалежні, то збільшення кількості даних не повинно негативно впливати на роботу застосунку.

З метою захисту застосунку системи керування базами повинні повинні враховувати наступні аспекти структури зберігання змінюваних даних. 

  1. Спосіб представлення числових даних. Тут мається на увазі формат представлення числових полів таблиць. Наприклад, рядкове представлення, числове представлення тощо. Для кожного формату формується значення відповідних параметрів (вибір системи числення, кількість знаків після коми тощо). Це все здійснює адміністратор бази даних з метою забезпечення максимальної продуктивності. 
  1. Спосіб представлення символьних даних. Якщо в якості формату поля вибрано символьні дані, то тут важливим є використання відомих існуючих кодувань символів (ASCII, Unicode та інше).
  1. Корегування одиниць виміру для числових даних. Тут мається на увазі налаштування представлення числових даних у полях таблиці (метри, кілометри, дюйми тощо).
  1. Способи кодування даних. Тут важливим є те, яким чином кодуються ті чи інші категорії даних. Наприклад, кольори можна кодувати цифрами, наборами біт, рядковими позначеннями тощо.
  1. Представлення логічних полів як віртуальних. Іншими словами, уречевлення даних (materialization). Суть цього полягає в тому, що представлення логічних полів відрізняється від представлення збережуваних полів. Наприклад, деякі логічніі поля є обчислюваними (вычисляемыми), тобто, вони формуються як результат обчислення значень інших логічних (збережуваних) полів. Це означає, що таке логічне поле не має власного еквівалентного збережуваного поля. Недоцільно зберігати суми збережуваних полів, якщо їх можна обчислювати “на льоту” та відображати у логічних полях. Поля, які обчислюються, ще називають віртуальними полями (virtual), а обчислені значення називаються непрямими.
  1. Забезпечення правильної структури збережуваних записів. Структура збережуваних записів передбачає одну з можливих операцій:
    • об’єднання інформативних полів декількох таблиць в одну таблицю. Це випадок, коли відбувається інтегрування раніше створених таблиць в поточну систему баз даних;
    • розбиття записів таблиці на декілька підтаблиць. Це зворотня операція до попередньої. Така операція використовується у випадку, коли потрібно оптимізувати швидкодію шляхом перенесення рідковикористовуваних частин таблиці у більш повільні пристрої зчитування/запису.

Наприклад, наступні дві таблиці можуть бути об’єднані в одну (рисунок 2).

Бази даних. Об’єднання таблиць у випадку інтеграції додатків

Рисунок 2. Об’єднання таблиць у випадку інтеграції додатків

Відповідно, навпаки, поля наступної таблиці можуть бути розбиті на частини (рисунок 3).

Бази даних. Розбиття записів таблиці на підтаблиці з метою оптимізації швидкодії

Рисунок 3. Розбиття записів таблиці на підтаблиці з метою оптимізації швидкодії

  1. Забезпечення представлення структури збережуваних файлів різними способами. Як відомо, база даних зберігається у файлах. Ці файли можуть зберігатись на носіях інформації різними способами. Ці способи описують різноманітні структури збереження файлів (наприклад, збереження даних у вигляді файлів на одному носії або на різних носіях). Способи збереження файлів найрізноманітніші: використання таблиць з індексами, використання послідовності (ланцюжка) покажчиків або використання асоціативних таблиць (хеш таблиць). Усі способи повинні забезпечувати максимальну ефективність виконання застосунку і   основну вимогу до збереження даних, а саме: жоден з способів збереження даних не повинен впливати на застосунок, що оперує цими даними.

 


Споріднені теми