powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поможите!
5 сообщений из 5, страница 1 из 1
Поможите!
    #32053566
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит так -просьба не пинаться по поводу кривости базы! что получил в наследство с тем и работаю.
Имеем таблица компаний в ней есть поле тип компании.
Имеем справочник типов компании - пять строк
тип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
и именно в таком порядке
подтипы все могут добавляться - типы пока нет (но кто его знает).

Вчера весь день голову ломал как сделать - но лучьшей идеии чем создать таблицу с полным деревом типов и подтипов и поддерживать её на тригерах мне в голову не пришло. Может кто подскажет еще что. Время есть до утра понедельника.
...
Рейтинг: 0 / 0
Поможите!
    #32053610
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно никто ничего сказать не может :(( Но хоть какую нибуть идею?
...
Рейтинг: 0 / 0
Поможите!
    #32053614
Bzzzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коряво формулирую по запарке - завтра смогу лучше...
Раз такая кривизна базы - мож, сделать нормально в параллели, "и поддерживать её на тригерах". Со временем переползти. Как идея? Желателен ответ до 17-00, если вариант подходит. Тогда займусь деталями.
...
Рейтинг: 0 / 0
Поможите!
    #32053622
sergwsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и делай древовидный справочник - во всяком случае изящно :-)).
Правда, тяжеловато будет с отчётами.

Другой вариант(если я правильно понял условия): добавь к таблице компаний 5-10 полей аналитик (на максимальную глубину иерархии справочника). В эти поля писать ссылки на требуемые справочники. Это, так называемый, денормализованный подход. Не изящно, но запросы без JOINов просто летают!
...
Рейтинг: 0 / 0
Поможите!
    #32053633
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Bzzzzz - сделаю то сам- в этом не проблема :)) нужен сам подход
2 sergwsk -над доп поля не пройдут - так как по подтипам компания может входить в несколько подтипов и это нужно пока только для одного отчета

Ща делаю начальное дерево - бутет поддерживаться на тригерах
а вторую часть задачи - сколько где наверное буду делать так - отдельными запросами по каждому типу веток дерева -специально ввел поле по какому алгоритму считать пользователей
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поможите!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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