Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
Подскажите структуру базы, для хранения такой структуры. Организация | + -- фелиал1 | | | + ---бугалтерия | | | +-----Петров | | + -- фелиал2 | + ---бугалтерия | +----Сидаров С рисунка видно что узел " бугалтерия " одинаков для двух ветвей. Вот это и смущает меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:10 |
|
||
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
можно вот так: Tree_table( Dic_table( id_tree Int, <----| |-> id_dic Int, id_parent Int ,---| | value VarChar2(500)); id_dic Int-----------| ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:18 |
|
||
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:22 |
|
||
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
Здесь смотри: Иерархические структуры, не требующие сопровождения --------------- Работай с умом, а не до ночи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:52 |
|
||
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
С рисунка видно что узел " бугалтерия " одинаков для двух ветвей. Вот это и смущает меня Смущать не должно, так как в филиале № 1 своя бухгалтерия, а в филиале № 2 - своя. Поэтому структура подойдет стандартная: id parentid name kodid где kodid - ссылка на справочник скажем категорий (в нем строки: центр, филиал, бухгалтерия, плановый отдел, отдел продаж,..., МОЛ,... Этот справочник может пригодиться, например, для раздельного учета доходов и затрат. Помимо kodid могут быть ссылки и на другие таблицы (адреса, телефоны,....) ps собственно, получился повтор ответа bas-а -- Шумов В. www.acdplus.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 19:57 |
|
||
|
Деревья в базе данных
|
|||
|---|---|---|---|
|
#18+
для таких целей юзаю примерно такую схему 0. Имя записи (содержание....что там прописано..т.е.) 1. Уник_код_строки 2. Код_родит_строки 3. Вид записи - это можно из отдельного справочника - типов записей. ПО сути это - однозначно определяет что в строке дерева ...сотрудник али отдел...али что еще 4. Тип записи - строка или узел - для будущих выборок например, токо узлов 5. Код_линка (ярлык). Если это не NULL значит эта строка дерева тупо "ссылается" на любую другую строку любой иной ветки дерева. При выборке - по этому коду - зачитывается "0. Имя записи" вместо текущего... Именно такой Код_линка (ярлык) позволяет с одной строны - для всех "ярлыков" - иметь свою иерархию, и уже из них - получать то что надо. Например, в дереве может быть сначала три ветки +- Сотрудники -- иванов -- петров +- Отделы -- отдел_1 -- отдел_2 +- должности -- первая -- вторая Потом создаются ветки = смесь из новых строк + ярлыков +-Фирма (тип записи = фирмы) +-филиал (тип записи = филиалы) -- ярлык на отдел1 -- ярлык на Иванова так как строки содержащие "ярлык на" имеют всегда свои ID, ParentID - то они могут быть произвольно назначены в собственную иерархию. Если в интерфейсе есть включатель фильтра по "3. Вид записи" - то легко все смотреть для разных целей. При желании, термин "тип записи" - можно также, хранить в самом дереве, в своей иерархии - чтобы можно было всегда иметь неограниченное кол-во типов записи. Если Ярлык - это ссылка на другой Узел, имеющий свои строки, в том числе и ярлыки на другие.... - то для автоматич_расшифровки - легко использовать или сами селекты - или спец_процедуру, что вызывает сама себя - по рекурсии (если в рекорде - ярлык - еще раз делать саму себя). селекты - это конструкция типа select .....from connect by ........... start with ID in (select ....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1546629]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 309ms |

| 0 / 0 |
