Иерархические справочники с линейным временем доступа
Состав работы
|
|
|
|
Работа представляет собой 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 с диапазонным поиском.
Создадим тестовый пример.
Другие работы
Человеко-машинное взаимодействие. Курсовая работа. Вариант №10.
nik200511
: 1 марта 2016
ПОСТАНОВКА ЗАДАЧИ
1. Провести первые 4 этапа проблемно-центрированного дизайна (до чернового описания включительно) программного продукта, помогающего пользователю в решении описанной ниже задачи. Постарайтесь найти одного–двух человек, которые могут быть заинтересованы в решении предложенной проблемы. Дайте их краткое описание (возраст, образование, профессия, навыки и т.п.), ваше понимание задач и подзадач, решение которых будет поддерживать разрабатываемая программа. Ответьте на вопрос, чт
248 руб.
Предприятие. Баланс предприятия. Учетная политика предприятия
alfFRED
: 28 октября 2013
Общество с ограниченной ответственностью «Сибтеплоэлектрокомплект», именуемое в дальнейшем «Общество», учреждено в соответствии с Федеральным законом Российской Федерации «Об обществах с ограниченной ответственностью» №14-ФЗ от 08.02.98г. Общество является юридическим лицом, уставный капитал которого разделен на доли и строит свою деятельность на основании Устава и действующего законодательства Российской Федерации. Общество было учреждено 24 августа 1995г, зарегистрировано мэрией г. Томска №989
10 руб.
Контрольная работа №1. Структуры и алгоритмы обработки данных - 1. Вариант 03.
JulDir
: 2 февраля 2013
Задание 1.
Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе прямого выбора номера перемещаемых элементов (пример см. в лекциях, раздел 2.1).
Задание 2.
Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R).
Задание 3.
Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества прове
39 руб.
Контрольная работа по дисциплине “Метрология, стандартизация и сертификация”. Вариант 12
tindrum
: 26 мая 2012
Вариант задания: последние цифры пароля 12 => M=1, N=2
Задача No1
Для определения расстояния до места повреждения кабельной линии связи был использован импульсный рефлектометр. С его помощью получено n результатов однократных измерений (результатов наблюдений) расстояния до места повреждения.
Считая, что случайная составляющая погрешности рефлектометра распределена по нормальному закону, определить:
1. Результат измерения с многократными наблюдениями расстояния до места повреждения кабеля .
200 руб.