Иерархические справочники с линейным временем доступа
Состав работы
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Введение
Разработка иерархических справочников – достаточно часто встречающаяся задача в бизнес-приложениях. Существует достаточно много алгоритмов хранения дерева в реляционных СУБД. В данной статье будет рассказано об одной из таких моделей. Ее достоинства – простота реализации, быстрота выборки и добавления нового элемента, а среди недостатков можно выделить относительную сложность вставки и перемещения данных, а также конечную глубину иерархии. Но те или иные недостатки имеются в любой схеме хранения иерархических данных в РСУБД.
Насколько хорош алгоритм
Для иерархических справочников мы определим несколько наиболее часто встречающихся задач, которые затрагивают иерархию.
получение всех потомков узла;
получение непосредственных потомков узла;
добавление потомка;
удаление узла с потомками;
перенос узла.
Иерархия Дьюи (Dewey)
Иерархический справочник может быть основан на алгоритме записи, используемом в системе десятичной классификации Дьюи (Dewey Decimal Classification). Нас в данный момент интересует не сам классификатор, а используемый в нем принцип. Попробую его описать.
Каждый узел содержит некоторый идентификатор, уникальный среди потомков его родителя. Каждый узел содержит путь от корневого элемента к данному. Путь реализуется с помощью идентификаторов, разделенных символом точки.
Например:
1 Организация «Рога и копыта».
1.1 Департамент «Рога».
1.1.1 Отдел продажи рогов.
1.1.2 Отдел покупки рогов.
1.1.2.1 Группа оценки качества рогов.
1.1.3 Отдел проката рогов.
1.2. Департамент «Копыта»
1.2.1 Отдел покупки копыт.
1.2.2 Отдел продажи копыт.
Как можно сразу заметить, при работе с подобным классификатором удобно использовать оператор LIKE. Если указывается путь, в котором начальные символы не являются маской, база данных может использовать индекс с операцией index scan с диапазонным поиском.
Создадим тестовый пример.
Разработка иерархических справочников – достаточно часто встречающаяся задача в бизнес-приложениях. Существует достаточно много алгоритмов хранения дерева в реляционных СУБД. В данной статье будет рассказано об одной из таких моделей. Ее достоинства – простота реализации, быстрота выборки и добавления нового элемента, а среди недостатков можно выделить относительную сложность вставки и перемещения данных, а также конечную глубину иерархии. Но те или иные недостатки имеются в любой схеме хранения иерархических данных в РСУБД.
Насколько хорош алгоритм
Для иерархических справочников мы определим несколько наиболее часто встречающихся задач, которые затрагивают иерархию.
получение всех потомков узла;
получение непосредственных потомков узла;
добавление потомка;
удаление узла с потомками;
перенос узла.
Иерархия Дьюи (Dewey)
Иерархический справочник может быть основан на алгоритме записи, используемом в системе десятичной классификации Дьюи (Dewey Decimal Classification). Нас в данный момент интересует не сам классификатор, а используемый в нем принцип. Попробую его описать.
Каждый узел содержит некоторый идентификатор, уникальный среди потомков его родителя. Каждый узел содержит путь от корневого элемента к данному. Путь реализуется с помощью идентификаторов, разделенных символом точки.
Например:
1 Организация «Рога и копыта».
1.1 Департамент «Рога».
1.1.1 Отдел продажи рогов.
1.1.2 Отдел покупки рогов.
1.1.2.1 Группа оценки качества рогов.
1.1.3 Отдел проката рогов.
1.2. Департамент «Копыта»
1.2.1 Отдел покупки копыт.
1.2.2 Отдел продажи копыт.
Как можно сразу заметить, при работе с подобным классификатором удобно использовать оператор LIKE. Если указывается путь, в котором начальные символы не являются маской, база данных может использовать индекс с операцией index scan с диапазонным поиском.
Создадим тестовый пример.
Другие работы
Суров Г.Я. Гидравлика и гидропривод в примерах и задачах Задача 3.13
Z24
: 12 ноября 2025
Определить силу и центр давления воды на квадратный затвор со стороной а=1,5 м (рис. 3.20), если глубина воды Н=4 м.
150 руб.
Политика, политические партии, политическая борьба
alfFRED
: 19 февраля 2013
ПЛАН 1. Политика и политическая деятельность 2. Политические партии 3. Их роль в политической системе 4. Политическая борьба, как средство к власти 5. Заключение 6. Список используемой литературы 1 Политика и политическая деятельность Политика - сфера деятельности, связанная сотношениями между соц иальнами группами, ядром которой является проблемазавоевания ,уде ржания и использования государственной власти.
Любаяпроблема приобретает политический характер, если ее решение связано с классовыми и
5 руб.
Лекции - Біоетика
Aronitue9
: 10 сентября 2012
Що таке біоетика?
Народження біоетики
Моральні критерії біоетики
Принципи біоетики
Тілесний та духовний вимір людини
II. Детальні питання біоетики
І. Генна інженерія як стимул розвитку біоетики
II. Клонування
Пренатальне обстеження
Аборт – штучне переривання вагітності
Контрацепція та природні методи планування сім’ї
Стерилізація
Штучне запліднення
Трансплантація органів
Межові ситуації
5 руб.
Лабораторная работа №1 по дисциплине: Аудит и управление систем электро- и теплоснабжения. Вариант 9
Roma967
: 7 ноября 2024
Лабораторная работа №1
«Определение потребности в энергетических ресурсах»
Отчет должен включать выполнение 3 заданий и ответы на контрольные вопросы.
Выбор варианта по последней цифре пароля (если 0, то вариант 10).
УЧЕБНЫЕ ВОПРОСЫ:
1. Определение основной потребности в энергетических ресурсах.
2. Определение потребности в силовой энергии.
3. Определение потребности в осветительной энергии и ее стоимости.
Задание. 1.
1. Выполнить расчет потребности в энергетических ресурсах
Таблица 1 - Исхо
400 руб.