|
|
|
Поможите!
|
|||
|---|---|---|---|
|
#18+
Значит так -просьба не пинаться по поводу кривости базы! что получил в наследство с тем и работаю. Имеем таблица компаний в ней есть поле тип компании. Имеем справочник типов компании - пять строк тип1 тип2 тип3 тип4 тип5 Далее тип1 может содержать подтипы(дальше первые подтипы) - реализованно отдельной таблицей трехуровневый справочник. Далее тип2(дальше вторые подтипы) тоже может содержать подтипы -двухуровневый справочник - тоже реализован отдельной таблицей. Далее есть таблица юзеров и таблица людей компании.Юзеры завязанны с людьми через таблицу доступа.Также через таблицу доступа завязаны компании и юзеры.Люди с компаниями на прямую.Один человек может входить тоьлко в одну компанию. Далее у подтипов1 есть своя таблица свяэи с юзерами Далее у подтипов2 есть своя таблица связи с юзерами Компании могут иметь несколько подтипов (но только либо первого либо второго подпипов) либо тип 3,4,5 Алгоритм доступа определяеется так - берется таблица доступа к людям потом к ней добавляеется таблица доступа по компниям и таблицы доступов по первым подтипам и по вторым подтипам.Теперь задача -надо отразить примерно такое дерево люди всего ххх -- сколько доступно юзеру тип1 - ххх - сколько по этому типу подтип1уровень1 ххх - сколько по этому подтипу подтип1уровень2 ххх подтип1уровень3 ххх тип2 ххх подтип2уровень1 ххх подтип2уровень2 ххх тип3 тип4 тип5 и именно в таком порядке подтипы все могут добавляться - типы пока нет (но кто его знает). Вчера весь день голову ломал как сделать - но лучьшей идеии чем создать таблицу с полным деревом типов и подтипов и поддерживать её на тригерах мне в голову не пришло. Может кто подскажет еще что. Время есть до утра понедельника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 11:13:53 |
|
||
|
Поможите!
|
|||
|---|---|---|---|
|
#18+
Понятно никто ничего сказать не может :(( Но хоть какую нибуть идею? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 12:10:10 |
|
||
|
Поможите!
|
|||
|---|---|---|---|
|
#18+
Коряво формулирую по запарке - завтра смогу лучше... Раз такая кривизна базы - мож, сделать нормально в параллели, "и поддерживать её на тригерах". Со временем переползти. Как идея? Желателен ответ до 17-00, если вариант подходит. Тогда займусь деталями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 12:24:36 |
|
||
|
Поможите!
|
|||
|---|---|---|---|
|
#18+
Ну и делай древовидный справочник - во всяком случае изящно :-)). Правда, тяжеловато будет с отчётами. Другой вариант(если я правильно понял условия): добавь к таблице компаний 5-10 полей аналитик (на максимальную глубину иерархии справочника). В эти поля писать ссылки на требуемые справочники. Это, так называемый, денормализованный подход. Не изящно, но запросы без JOINов просто летают! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 12:39:31 |
|
||
|
Поможите!
|
|||
|---|---|---|---|
|
#18+
2 Bzzzzz - сделаю то сам- в этом не проблема :)) нужен сам подход 2 sergwsk -над доп поля не пройдут - так как по подтипам компания может входить в несколько подтипов и это нужно пока только для одного отчета Ща делаю начальное дерево - бутет поддерживаться на тригерах а вторую часть задачи - сколько где наверное буду делать так - отдельными запросами по каждому типу веток дерева -специально ввел поле по какому алгоритму считать пользователей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2002, 12:56:29 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32053566&tid=1820020]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 332ms |

| 0 / 0 |
