|
|
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
есть заявки, они могут связываться друг с другом. например: поступило сообщение об ошибке, потом еще одно, выяснилось, что пока не выполнится первое, вторая тоже не выполнима... итог структура мб такая(см рисунок) внутри кружка - трудозатраты по конкретной заявке, рядом - сумма по предыдущим(просто складывать сумме получающейся на детях) получается не верно. информация обновляется часто и связи мб большими, поэтому проход по дереву до листьев не очень хочется использовать. можно как-нибудь обойти эту ситуацию? как-то больше хранить информации и меньше пересчитывать каждый раз? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:35 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
mar55555, Это обычный граф, его можно хранить в виде массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:44 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
тема была перенесена из mssql. все данные живут в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:45 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
это хранится в виде таблицы для связи М:М ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:47 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
mar55555, Можно хранить в одной таблице, примерно так: Код | Имя заявки | Трудоёмкость | Родительская заявка ---------------------------------------------------------- 1 | ААА | 5 | - 2 | BBB | 2 | 1 3 | CCC | 7 | 1 Т.е в одной таблице храним заявку и ссылку на родителя(т.е родитель может быть выполнен только тогда, когда будет выполнена эта заявка). Ну а дальше селектами выбираем, и делаем хорошо... как-то так :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:55 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
одна заявка может иметь несколько родителей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:56 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
если смотреть из графа, который нарисован ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 13:56 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
mar55555, Только хотел такой вариант предложить ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 14:01 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
проблема никак хранить, а как автоматизировать подсчет наименьшими пересчетами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 14:04 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
пока вариант - чтобы получить правильный результат для верхней вершины, нужно спустится до листьев и уже по ним складывать, но хочется что-то типа: сложить по детям текущей вершины... или как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 14:05 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
mar55555, Это делается одним селектом. В чём проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 14:06 |
|
||
|
Подсчет трудоёмкости
|
|||
|---|---|---|---|
|
#18+
проблема в том, что это надо считать каждый раз при просмотре заявки. а если хранить эти данные - то надо каждый раз при добавлении новой заявки/связи между ними перелопачивать кучу всего, чтобы держать инфу актуальной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2011, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1343059]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 479ms |

| 0 / 0 |
