|
|
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer ... фасетные классификаторы стройными рядами отправились курить бамбук ... фасетный классификатор - это набор простых иерархических класификаторов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 11:15 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_модфасетный классификатор - это набор простых иерархических класификаторов ? Если коротко, то Вы излагаете теорему первого курса матана - о наличии взаимно однозначного соответствия элементов между двумя конечными множествами одинаковой мощности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 12:36 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Если у тебя из предм. области заранее ничего не определено - то кроме self-join таблицы тебе ничто не поможет ИМО, тут как и везде 2 конкурирующих параметра: общность - скорость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 13:04 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarerЕсли коротко, то Вы излагаете теорему первого курса матана Даже не пытался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 14:11 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КД:) Ну, а серьезно?А что несерьезного? Я например не понимаю, почему в качестве отличия XML назвают иерархичность. Видимо, имеется ввиду _неограниченная_ иерархия. А так - любой контейнер иерархичен. Другой вопрос, как моделировать иерархию (в смысле отношение строгого порядка) прикладной области - синтаксически: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 19:16 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Значит, там, где объекты могут состоять в иерархичных отношениях (правда, это очень сложный вопрос - а где не могут?) - то стоит давать пользователю такую возможность (отражать их), и соответственно под это и структуру сделать и UI? А там - хотят - пусть линейно делают, хотят - иерархией? Зато у них претензий не будет, типа: почему эти данные нельзя сгруппировать вот так и вот так? - да группируйте теперь как вам угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 18:09 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДЗначит, там, где объекты могут состоять в иерархичных отношениях (правда, это очень сложный вопрос - а где не могут?) Чаще всего - не могут. Примеры: телефонный справочник, справочник товаров и т.д. Реальная иерархия - это состав изделия. В то же время классификатор товаров должен быть иерархическим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 10:00 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
А-а, вот, наверное, в чем закавыка - я все время путаю "справочник" и "классификатор". Чаще для меня это как бы одно и тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 18:22 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_модВ то же время классификатор товаров должен быть иерархическим. Ну не факт. Как существуют разные методы поиска, так могут существовать и разные классификаторы. Например, B-Tree индексы имеют очень широкую область применения, но и хэш и полный перебор тоже применяются в особых случаях. Можно товары классифицировать по разным категориям, но не сооружать из них дерева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 20:06 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Психология человека такова, что с явлениями окружающего мира ему удобнее работать, когда они упорядочены (и чаще всего - иерархически). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 06:27 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДПсихология человека такова, что с явлениями окружающего мира ему удобнее работать, когда они упорядочены (и чаще всего - иерархически). психология конкретного человека, да. с упорядоченными инерархически данными удобно работать только тому кто упорядочивал. Если я дам Вам свою структуру папок на диске, допустим, ... будете не один день искать нужную информацию бродя по всем деревьям. Я тоже путаюсь. Мне гораздо удобней был бы простой список снабженный множеством тегов или измерениями (как принято в многомерных кубах) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 08:53 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenab Можно товары классифицировать по разным категориям, но не сооружать из них дерева. Дело в том, что недерево имеет тенденцию превращаться в дерево (а наоборот нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 09:26 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДА-а, вот, наверное, в чем закавыка - я все время путаю "справочник" и "классификатор". Чаще для меня это как бы одно и тоже. Деление условно, но полезно. Справочник - это список объектов. Классификатор-список этикеток для объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 09:28 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДПопробуйте просто ответить на вопрос: имеет ли какая-то информация (данные) иерархичный характер? Стоит ли учитывать эту особенность в СУБД? если задано по ТЗ - класификатор A - не меняется - класификатор B - меняется - класификатор любой - подключается ЗЫ. Классификатор понятие юзеровское. Один делит на "толстые и тонкие", другой на "брюнетки" "блондинки". В идеале система должна уметь подключить "мой любимый классификатор". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 12:44 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_мод mcureenab Можно товары классифицировать по разным категориям, но не сооружать из них дерева. Дело в том, что недерево имеет тенденцию превращаться в дерево (а наоборот нет). Если число классифицирующих атрибутов ограничено, то преобразовать линейную структуру в иерархическую (и даже не в одну) очень просто. Примером могут служить BTree индексы. Если иерархическая структура имеет ограниченное число ярусов, то её так же не сложно преобразовать обратно в линейную структуру с соответствующим числом классифицирующих атрибутов. Но если число ярусов не ограничено (что практически встречается не часто), то такая структура может быть преобразована в линейную структуру с бесконечным числом классифицирующих атрибутов, но такие структуры не поддерживаются современными СУБД. Так что по возможности следует использовать линейные структуры, которые всегда можно преобразовать в иерархические (или представить в виде иерархии), тогда как обратное не всегда возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 14:17 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenab Извините, ничего не понял. Как дерево преобразовать в список без потери информации о дереве и как из списка построить дерево, не имея такой информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 14:43 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_мод mcureenab Извините, ничего не понял. Как дерево преобразовать в список без потери информации о дереве и как из списка построить дерево, не имея такой информации. Есть маршрут в дереве проходящий через узлы - A, B, C. Сцепляем атрибуты этих узлов в одну запись, получаем запись вида (A, B, C). Повторяя процедуру для каждого маршрута в дереве и для каждого дерева в лесу получаем список или обычную прямоугольную таблицу. Обратное преобразования тоже не составляет труда. Например, список (A, B1, NULL) (A, B2, C) преобразуется например в такое дерево: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 23:03 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Лучше скажите, с практической точки зрения, реализация 2-х классификаторов как признаков места в дереве используется где? Это велосипед или неприменимо? idTovar klass1 klass223 1 245 1 255 2 256 2 1______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 09:26 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenab Теперь понял. Но это просто разные способы представления дерева, а само дерево не перестало существовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 09:47 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Petro123 Это велосипед или неприменимо? велосипед - так всегда и делается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 09:48 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_мод Petro123 Это велосипед или неприменимо? велосипед - так всегда и делается а как делается бизнес-логика-запросы для одного классифа или другого, если тут 2 разных слоя одного и того-же? Теория, шаблоны есть где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 10:04 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Petro123Лучше скажите, с практической точки зрения, реализация 2-х классификаторов как признаков места в дереве используется где? Это велосипед или неприменимо? idTovar klass1 klass223 1 245 1 255 2 256 2 1______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! Конечно используется. В моей БД большинство таблиц имеют более одного B*Tree индекса. А индекс чем не классификатор, хотябы на системном уровне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 19:28 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_мод mcureenab Теперь понял. Но это просто разные способы представления дерева, а само дерево не перестало существовать. Применительно к реляционным БД разговоры деревьях не имеют большого смысла, поскольку данные в них представлены в виде реляционных отношений, а древовидные структуры формируются за пределами БД на уровне форм, отчётов и прочих приложений БД. Даже иерархические запросы возвращают не дерево, а определённым образом упорядоченное отношение. Почти любую таблицу можно преобразовать в древовидную структуру, например можно скопировать её в индексно организованную таблицу, тем самым обеспечив хранение данных в виде древовидной структуры. Что касается проектирования БД, то декомпозиция отношений обычно приводит к логическим связям типа предок-потомок, тем самым образуя иерархию записей в таблицах. Другой вариант, структуры типа свиное ухо, когда кортеж с многократно повторяющимися группами атрибутов транспонируют так, что каждая группа атрибутов, иногда дополненная суррогатным ключём и соответствующим внешним ключём, становится отдельной строкой в таблице. Приём спорный. Мой опыт показывает, что работать с такими структурами, не смотря на их изящество, достаточно сложно. Особо проблематично работать со структурами, где каждая отдельная запись содержит только часть PK исходного отношения. Т.е. лист в этом дереве идентифицируется всем набором записей которые образуют ветку дерева. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2008, 19:55 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Наличие или отсутствие иерархии закладывается на уровне концептуальной модели данных, и лишь затем реализуется в СУБД, интерфейсах, отчетах и пр. Пмсм, автор топика именно это имел ввиду. Т.е., если иерархия изначально не заложена, то потом уже будет поздно, ничего не изменишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 09:28 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
_модНаличие или отсутствие иерархии закладывается на уровне концептуальной модели данных, и лишь затем реализуется в СУБД, интерфейсах, отчетах и пр. Пмсм, автор топика именно это имел ввиду. Т.е., если иерархия изначально не заложена, то потом уже будет поздно, ничего не изменишь. Если её нет в исходных данных, тогда да, но опять же, если мы можем построить B*Tree индекс, то автоматически получаем некоторую иерархическую структуру, пусть даже бессмысленную с прикладной точки зрения. А если есть, то даже если мы специально не закладывали иерархические связи в модель данных, иерархию можно будет построить когда угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2008, 18:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35132384&tid=1543998]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 370ms |

| 0 / 0 |
