Вкладені набори даних.

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

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

Реляційна база даних зберігає всю цю інформацію в простій для розуміння формі, і вкладена модель дозволяє структурі дерева, щоб можна було ефективно управляти БД. Використовуючи наведений вище приклад, кореневий вузол буде їжа, яка представлена ​​двома значеннями. З огляду на значення зліва для їжі як 1, іншим елементам в дереві присвоюється номер зліва в потрібному порядку. Плоди отримали б значення 2 зліва, ягоди будуть 3, і так далі. Потім значення присвоюються на правій стороні, тим самим весь шлях проходить через дерево, від низу до верху, через кожну гілку до тих пір, поки останньому значенням не буде присвоєно загальна назва харчування на правій стороні.

Кожен елемент в дереві закінчується тим, що воно має два значення, скажімо  lft  для лівої і rgt праворуч, які можуть бути використані для їх ідентифікації і вказують на їх зв’язок з іншими предметами. Наприклад, якщо фрукти мають значення 2 і 15, потім все вузли, які мають значення більше 2 і правильні значення менше 15, то дерево буде 2-15. З нього буде легко витягти інформацію про всіх фруктах за один раз, тому що ці значення можуть бути задані в одному запиті до бази даних.

Ця модель відмінно підходить для зберігання інформації, яка часто використовується, але вставка, видалення і переупорядочение інформація у вкладеній моделі стане дуже виснажливим. Рерайтінг індексів і перенумерація інформація можуть призвести до аварії бази даних, особливо якщо дерево росте, щоб включати в себе сотні тисяч вузлів. Модель вкладеного набору є найкращою для легких систем управління контентом, так як має мінімальний набір вставок і змін. Інтервальні вставки у вкладеній моделі можуть бути зроблені набагато швидше, тому, що вона зберігає позицію кожного вузла в дереві за допомогою плаваючою точки десяткові дроби, а також шлях кодування.

Ссылка на основную публикацию