Статья:
Иерархические справочники с линейным временем доступаАвтор(ы): Глеб Земсков
Дата: 23.05.2006
Разработка иерархических справочников – достаточно часто встречающаяся задача в бизнес-приложениях. Существует достаточно много алгоритмов хранения дерева в реляционной модели. Но им свойственны те, или иные недостатки. Самый распространенный вариант, когда запись имеет ссылку на родительский ключ. Это один из наиболее неоптимальных алгоритмов, так как его сложно реализовать и он неоптимален по доступу. Единственный плюс, что некоторые БД поддерживают рекурсивные запросы, которые облегчают работу с такой схемой. Алгоритм Nested Set более оптимален, но обладает недостатком. Скорость вставки нелинейна, и затрагивает данные, которые не должны участвовать в транзакции. В то же время иерархические справочники можно сделать достаточно просто. Нужно просто воспользоваться классификатором.
Авторы:
Глеб Земсков
Аннотация:
Разработка иерархических справочников — достаточно часто встречающаяся задача в бизнес-приложениях. Существует достаточно много алгоритмов хранения дерева в реляционной модели. Но им свойственны те, или иные недостатки. Самый распространенный вариант, когда запись имеет ссылку на родительский ключ. Это один из наиболее неоптимальных алгоритмов, так как его сложно реализовать и он неоптимален по доступу. Единственный плюс, что некоторые БД поддерживают рекурсивные запросы, которые облегчают работу с такой схемой. Алгоритм Nested Set более оптимален, но обладает недостатком. Скорость вставки нелинейна, и затрагивает данные, которые не должны участвовать в транзакции. В то же время иерархические справочники можно сделать достаточно просто. Нужно просто воспользоваться классификатором.