Главная / Базы данных / Вложенные наборы данных.

Вложенные наборы данных.

Вложенные наборы данных также известны как изменённый алгоритм обхода дерева предзаказов и в реляционных базах данных является способом хранения иерархических данных. Эта модель имеет то преимущество, что обеспечивает очень быстрый доступ и лучше всего реализуется в иерархиях, которые читаются чаще лучше. Каждому узлу в информационной модели присваиваются два числа, которые хранятся в качестве атрибутов. Запрос во вложенных наборах данных довольно прост, так как оба значения можно использовать для вывода необходимых данных. Но вносить изменения, выполнять удаление, перемещение и обновление гораздо сложнее, поскольку все эти команды могут включать перенумерацию узлов.
Обычно используется для представления вложенных множеств или иерархических данных в виде дерева. Дерево, в данном случае – это структура данных, которая содержит несколько связанных между собой узлов. Например, родительский узел может подключаться к нескольким узлам ребенка, и эта структура повторяется через дерево, и через его несколько уровней.

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

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

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

Эта модель отлично подходит для хранения информации, которая часто используется, но вставка, удаление и переупорядочение информация во вложенной модели станет очень утомительным. Рерайтинг индексов и перенумерация информация могут привести к аварии базы данных, особенно если дерево растет, чтобы включать в себя сотни тысяч узлов. Модель вложенного набора является лучшей для лёгких систем управления контентом, так как имеет минимальный набор вставок и изменений. Интервальные вставки во вложенной модели могут быть сделаны гораздо быстрее, потому, что она хранит позицию каждого узла в дереве с помощью плавающей точки десятичные дроби, а также путь кодирования.



Оставьте комментарий

Ваш email не будет опубликован. Обязательные поля помечены *

*