|
|
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые. Пришла мне в голову блажь завести для гибкости очень вытянутую структуру. Чтобы в БД в одной длинной трехколоночной таблице могли разместится несколько совершенно разных кубов - таблиц фактов, да еще и чтобы пользователи могли накидать еще несколько. Пример схемы данных ниже. Так вот, не могу решить как в ней лучше группировать данные. Пока склоняюсь к динамическому запросу, который построит "нормальную" таблицу фактов из "длинной", и сгруппирует ее. И по ней потом процедурой пробежаться и в вытянутую таблицу вновь рассовать. Может есть чего-то, чего я не замечаю, чтобы напрямую их группировать? Так вообще не слишком ли гибко? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. последняяя таблица через cross-table редактируется в таком виде Код: sql 1. 2. 3. 4. 5. 6. теперь бы их сгруппировать вот так: Код: sql 1. 2. 3. 4. 5. результирующая таблица под это дело Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 01:27 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
EAV изобретаете. Что же каждый через это прошел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 01:47 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
SERG1257каждый через это прошел. Но не плюются от этого опыта только те, кто понял, что программировать придётся не только на SQL. Аффтар, делай свою шахматку на клиенте, там это проще всего будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 01:50 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
Да, это EAV, спасибо. А почему обрабатывать на клиенте? Клиенты, конечно, все равно будут эти шахматки строить, и можно как-то приспособитсмя и повторно использовать код. Но это как-то совсем уж некрасиво. Сервер умный, пусть думает. Или хранимка по расписанию, или триггер - в зависимости от нагрузки. Не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 02:13 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
Да, сервер Postgres ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 02:14 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельА почему обрабатывать на клиенте? Потому что там это проще и удобнее. А если обрабатывать на сервере, то не стоит связываться с EAV вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 13:52 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельЧтобы в БД в одной длинной трехколоночной таблице могли разместится несколько совершенно разных кубов - таблиц фактов, да еще и чтобы пользователи могли накидать еще несколько. Это называется Операции Нужны две таблицы: Собссно Операции (ид, тип, дата, содержание, создатель и т.д.) Параметры операций: (ид параметра, ид операции, тип, имя параметра, значение) Ну и описание типов операций Параметр операции м.б. списком - тогда все несколько сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 14:33 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
_мод, что-то я не улавливаю разницу, я вроде так и сделал. Вопрос-то был как это правильно группировать Спасибо добрым людям, подсказали ключевое слово. Почитал. Решил пока оставить операции как есть, уж больно хорошо клиент получается для ввода. А суточные данные сделать почти нормальной таблицей фактов. Почти - т.к. будет hstore, в данном примере - по складам и товарам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 19:41 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Почему не стоит это делать вообще, мне уже понятно. А почему не стоит если обработка на сервере? В двух словах, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 19:43 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельА почему не стоит если обработка на сервере? В двух словах, пожалуйста. Тормоза. Говнокод. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2013, 19:56 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельВопрос-то был как это правильно группировать группировать для чего ? отчет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 10:07 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Так и на клиенте то же самое :) Ладно, с этим все ясно. А если сделать EAV для отдельных операций и сборку суточных значений в нормальную таблицу фактов, но с hstore это как с точки зрения перфоманса/эстетики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 00:34 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
_мод, да для всего. Для начала для агрегирования в суточные значения. В-общем я так решил уже не делать. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 00:35 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельТак и на клиенте то же самое :) Нет, там всё гораздо проще. Но надо быть программистом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 01:15 |
|
||
|
таблица фактов, вытянутая в длину.
|
|||
|---|---|---|---|
|
#18+
АдельА если сделать EAV для отдельных операций и сборку суточных значений в нормальную таблицу фактов, но с hstore это как с точки зрения перфоманса/эстетики? Так и делать. А агрегирование можно делать разными способами: 1. матвью 2. процедурой 3 динамически по мере надобности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 09:31 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38426126&tid=1541095]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 275ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...