|
|
|
Уважаемый All (вопрос по поводу денормализации дерева)
|
|||
|---|---|---|---|
|
#18+
нужна таблица из след колонок группа, подгуппа1, подгруппа2, элемент проблема: если элемент лежит в конечной подгруппе все ок т.е. группа, подгуппа1, подгруппа2 IS NULL, элемент или группа, подгуппа1, подгруппа2, элемент но если группа, подгуппа1 содержит элемент, а подгруппа2 НЕ NULL тогда теряю элемент строю из 2 представлений одно по группам второе по элементам. Что скажите? Заранее спасибо если не сложно пошлите на мыло alex_var@hotmail.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2002, 16:31:05 |
|
||
|
Уважаемый All (вопрос по поводу денормализации дерева)
|
|||
|---|---|---|---|
|
#18+
ты уверен что тебе надо именно ТРИ колонки с сылками на группы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2002, 16:39:02 |
|
||
|
Уважаемый All (вопрос по поводу денормализации дерева)
|
|||
|---|---|---|---|
|
#18+
:))) я знаю глубину вложенности заранее нужно как бы разложить группы так группа (корень) группа подгруппа1 группа подгруппа1 подгруппа2 при получении групп используюю объединение LEFT OUTR JOIN И ПОЛУЧАЮ группа подгруппа1 подгруппа2 слегка в тупике :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2002, 16:54:54 |
|
||
|
Уважаемый All (вопрос по поводу денормализации дерева)
|
|||
|---|---|---|---|
|
#18+
IMHO (если я только правильно понял), высвеченная проблема не является проблемой написания SQL-скриптов. Это в большей степени концептуальная проблема, с которой я столкнулся, когда пытался по человечески вести справочники в 1С:Предприятии. Дело в том, что в иерархических справочниках 1С разрешается помещать на одних уровнях и простые элементы (листья дерева), и группы. Правильнее сказать, не на одних уровнях, а у одной и той же родительской группы в подчинении могут оказаться и подгруппы, и простые элементы. Нет, с точки зрения древесной теории, тут никаких нарушений нет. Но с точки зрения систематизации подобного дерева возникает множество проблем, лишь одна из которых - задача, озвученная man. Я считаю (причем, категорически), что в иерархическом справочнике у одной родительской группы не может и не должно быть НИКОГДА одновременно подгрупп и простых элементов. А если они есть, то это просто от сумбура в чьей-то голове. Нельзя помещать новую номенклатурную единицу в корень дерева просто потому, что под нее в дереве нет подходящих групп. Необходимо сначала завести нужные группы и подгруппы (сразу продумав их иерархию на случай появления еще каких-либо экземпляров подобной же номенклатуры), а уж потом помещать листья в самые нижние уровни данной структуры. В 1С я пытался разработать самопаольные механизмы контроля корректности структуры дерева. И столкнулся с багами, которые 1С не захотела устранять (видимо, я такой единственный уникум, который захотел иметь не просто сумбурное дерево, а дерево, построенное по четким правилам). В разрабатываемых ныне приложениях я в обязательном порядке включаю механизмы контроля логической структуры дерева, исключающую подобную ситуацию уже на этапе добавления в него новых записей. Может возникнуть вопрос: как быть, если запись НУ ПРОСТО ДОЛЖНА попасть на один уровень с группами? Ответ: просто создать еще одну группу и поместить ее в эту группу. Пример. Есть в справочнике номенклатуры чайники. На определенном уровне кто-то их решил подразделить по материалу, из которого они изготовлены. В результате, залезший в дерево видит: - Чайники --- Алюминиевые --- Медные --- Стальные --- Стеклянные А ему нужно добавить чайник, у которого дно стальное, бока стеклянные, а крышка вообще деревянная. Что делать? Юзер-тормоз возьмет, и добавит на этот же уровень лист дерева - чайник стеклянно-деревянно-стальной. А умный добавт группу "прочие", и добавит уже лист дерева в эту группу. В результате избавит себя и тебя от огромного количества проблем, например, от этой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2002, 17:15:37 |
|
||
|
Уважаемый All (вопрос по поводу денормализации дерева)
|
|||
|---|---|---|---|
|
#18+
:))))) Абсолютно согласен с Garya! Баг это или не баг я не могу сказать. Может для разработчиков 1с это не баг. Но при ведении базы под 1с надо это учитывать. Думаю даже скорость работы со справочником может увеличиться. Но из спортивного интереса хотелось бы поднять в запросе и кривое дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2002, 17:41:59 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1822002]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 358ms |

| 0 / 0 |
