powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Плюсы и минусы иерархического способа хранения данных
25 сообщений из 232, страница 9 из 10
Плюсы и минусы иерархического способа хранения данных
    #35132060
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer ... фасетные классификаторы стройными рядами отправились курить бамбук ...
фасетный классификатор - это набор простых иерархических класификаторов ?
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35132384
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модфасетный классификатор - это набор простых иерархических класификаторов ?
Если коротко, то Вы излагаете теорему первого курса матана - о наличии взаимно однозначного соответствия элементов между двумя конечными множествами одинаковой мощности.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35132505
Son_of_Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если у тебя из предм. области заранее ничего не определено - то кроме self-join таблицы тебе ничто не поможет ИМО,
тут как и везде 2 конкурирующих параметра: общность - скорость.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35132781
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerЕсли коротко, то Вы излагаете теорему первого курса матана
Даже не пытался :)
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35133996
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КД:)
Ну, а серьезно?А что несерьезного? Я например не понимаю, почему в качестве отличия XML назвают иерархичность. Видимо, имеется ввиду _неограниченная_ иерархия.
А так - любой контейнер иерархичен.

Другой вопрос, как моделировать иерархию (в смысле отношение строгого порядка) прикладной области - синтаксически:
Код: plaintext
1.
2.
3.
4.
<оргструктура> 
  <подразделение name="дивизион 1">
    <подразделение name="отдел 11"/>
  </подразделение>
</оргструктура> 
или явно указывать имеющее быть отношение:
Код: plaintext
1.
2.
3.
4.
<оргструктура>
   <подразделение name="дивизион 1"/>
   <подразделение name="отдел 11"/>
   <подчиняется кто="отдел 11" кому="дивизион 1"/>
</оргструктура> 
Кто ж его в общем случае знает.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35136089
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит, там, где объекты могут состоять в иерархичных отношениях (правда, это очень сложный вопрос - а где не могут?) - то стоит давать пользователю такую возможность (отражать их), и соответственно под это и структуру сделать и UI? А там - хотят - пусть линейно делают, хотят - иерархией? Зато у них претензий не будет, типа: почему эти данные нельзя сгруппировать вот так и вот так? - да группируйте теперь как вам угодно.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35138233
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДЗначит, там, где объекты могут состоять в иерархичных отношениях (правда, это очень сложный вопрос - а где не могут?)
Чаще всего - не могут. Примеры: телефонный справочник, справочник товаров и т.д. Реальная иерархия - это состав изделия. В то же время классификатор товаров должен быть иерархическим.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35139950
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А-а, вот, наверное, в чем закавыка - я все время путаю "справочник" и "классификатор". Чаще для меня это как бы одно и тоже.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35140138
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модВ то же время классификатор товаров должен быть иерархическим.

Ну не факт. Как существуют разные методы поиска, так могут существовать и разные классификаторы. Например, B-Tree индексы имеют очень широкую область применения, но и хэш и полный перебор тоже применяются в особых случаях. Можно товары классифицировать по разным категориям, но не сооружать из них дерева.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35140493
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Психология человека такова, что с явлениями окружающего мира ему удобнее работать, когда они упорядочены (и чаще всего - иерархически).
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35140567
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КДПсихология человека такова, что с явлениями окружающего мира ему удобнее работать, когда они упорядочены (и чаще всего - иерархически).
психология конкретного человека, да.

с упорядоченными инерархически данными удобно работать только тому кто упорядочивал. Если я дам Вам свою структуру папок на диске, допустим, ... будете не один день искать нужную информацию бродя по всем деревьям. Я тоже путаюсь. Мне гораздо удобней был бы простой список снабженный множеством тегов или измерениями (как принято в многомерных кубах)
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35140609
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenab Можно товары классифицировать по разным категориям, но не сооружать из них дерева.
Дело в том, что недерево имеет тенденцию превращаться в дерево (а наоборот нет).
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35140613
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДА-а, вот, наверное, в чем закавыка - я все время путаю "справочник" и "классификатор". Чаще для меня это как бы одно и тоже.
Деление условно, но полезно. Справочник - это список объектов. Классификатор-список этикеток для объектов.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35141234
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КДПопробуйте просто ответить на вопрос: имеет ли какая-то информация (данные) иерархичный характер? Стоит ли учитывать эту особенность в СУБД?
если задано по ТЗ
- класификатор A - не меняется
- класификатор B - меняется
- класификатор любой - подключается

ЗЫ. Классификатор понятие юзеровское. Один делит на "толстые и тонкие", другой на "брюнетки" "блондинки".
В идеале система должна уметь подключить "мой любимый классификатор".
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35141550
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод mcureenab Можно товары классифицировать по разным категориям, но не сооружать из них дерева.
Дело в том, что недерево имеет тенденцию превращаться в дерево (а наоборот нет).

Если число классифицирующих атрибутов ограничено, то преобразовать линейную структуру в иерархическую (и даже не в одну) очень просто. Примером могут служить BTree индексы.

Если иерархическая структура имеет ограниченное число ярусов, то её так же не сложно преобразовать обратно в линейную структуру с соответствующим числом классифицирующих атрибутов. Но если число ярусов не ограничено (что практически встречается не часто), то такая структура может быть преобразована в линейную структуру с бесконечным числом классифицирующих атрибутов, но такие структуры не поддерживаются современными СУБД.


Так что по возможности следует использовать линейные структуры, которые всегда можно преобразовать в иерархические (или представить в виде иерархии), тогда как обратное не всегда возможно.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35141638
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenab
Извините, ничего не понял. Как дерево преобразовать в список без потери информации о дереве и как из списка построить дерево, не имея такой информации.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35142838
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод mcureenab
Извините, ничего не понял. Как дерево преобразовать в список без потери информации о дереве и как из списка построить дерево, не имея такой информации.

Есть маршрут в дереве проходящий через узлы - A, B, C. Сцепляем атрибуты этих узлов в одну запись, получаем запись вида (A, B, C). Повторяя процедуру для каждого маршрута в дереве и для каждого дерева в лесу получаем список или обычную прямоугольную таблицу.

Обратное преобразования тоже не составляет труда. Например, список
(A, B1, NULL)
(A, B2, C)

преобразуется например в такое дерево:

Код: plaintext
1.
2.
3.
A
 +-B1
 +-B2
   +-C
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35143192
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше скажите, с практической точки зрения, реализация 2-х классификаторов как признаков места в дереве используется где? Это велосипед или неприменимо?
idTovar klass1 klass223 1 245 1 255 2 256 2 1______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35143234
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenab
Теперь понял. Но это просто разные способы представления дерева, а само дерево не перестало существовать.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35143240
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123 Это велосипед или неприменимо?
велосипед - так всегда и делается
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35143280
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод Petro123 Это велосипед или неприменимо?
велосипед - так всегда и делается
а как делается бизнес-логика-запросы для одного классифа или другого, если тут 2 разных слоя одного и того-же?
Теория, шаблоны есть где?
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35145697
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Лучше скажите, с практической точки зрения, реализация 2-х классификаторов как признаков места в дереве используется где? Это велосипед или неприменимо?
idTovar klass1 klass223 1 245 1 255 2 256 2 1______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!

Конечно используется. В моей БД большинство таблиц имеют более одного B*Tree индекса. А индекс чем не классификатор, хотябы на системном уровне.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35145739
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод mcureenab
Теперь понял. Но это просто разные способы представления дерева, а само дерево не перестало существовать.

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

Что касается проектирования БД, то декомпозиция отношений обычно приводит к логическим связям типа предок-потомок, тем самым образуя иерархию записей в таблицах.

Другой вариант, структуры типа свиное ухо, когда кортеж с многократно повторяющимися группами атрибутов транспонируют так, что каждая группа атрибутов, иногда дополненная суррогатным ключём и соответствующим внешним ключём, становится отдельной строкой в таблице. Приём спорный. Мой опыт показывает, что работать с такими структурами, не смотря на их изящество, достаточно сложно. Особо проблематично работать со структурами, где каждая отдельная запись содержит только часть PK исходного отношения. Т.е. лист в этом дереве идентифицируется всем набором записей которые образуют ветку дерева.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35146258
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наличие или отсутствие иерархии закладывается на уровне концептуальной модели данных, и лишь затем реализуется в СУБД, интерфейсах, отчетах и пр. Пмсм, автор топика именно это имел ввиду. Т.е., если иерархия изначально не заложена, то потом уже будет поздно, ничего не изменишь.
...
Рейтинг: 0 / 0
Плюсы и минусы иерархического способа хранения данных
    #35148703
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модНаличие или отсутствие иерархии закладывается на уровне концептуальной модели данных, и лишь затем реализуется в СУБД, интерфейсах, отчетах и пр. Пмсм, автор топика именно это имел ввиду. Т.е., если иерархия изначально не заложена, то потом уже будет поздно, ничего не изменишь.

Если её нет в исходных данных, тогда да, но опять же, если мы можем построить B*Tree индекс, то автоматически получаем некоторую иерархическую структуру, пусть даже бессмысленную с прикладной точки зрения. А если есть, то даже если мы специально не закладывали иерархические связи в модель данных, иерархию можно будет построить когда угодно.
...
Рейтинг: 0 / 0
25 сообщений из 232, страница 9 из 10
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Плюсы и минусы иерархического способа хранения данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]