Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Может немного не в эту ветку, но все-таки...Ситуация такая... Есть некая таблица с базовыми данными объектов... Допустим в ней хранятся документы... В процессе работы компании документам добавляются различные дополнительные параметры... Причем необязательно всем... Скорее даже наоборот... Как лучше организовать? Делать еще одну таблицу для хранения расширенных данных? Или делать текстовые поля для расширенных атрибутов? Кто как делал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 13:01 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Разбить на таблицы! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:52 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
olzhas.... Хм.... Проблема в том, что как правило расширенных атрибутов не 1 или 2, а 10 или 20... Соответственно таблица с их параметрами в 10, а то и в 20 раз больше оригинала... Все бы ничего, но возникают серьезные проблемы при select a.*, b.ext_par1, c.ext_par2........ DB2 приходится несколько раз просматривать эту большую таблицу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:31 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
TORTolzhas.... Хм.... Проблема в том, что как правило расширенных атрибутов не 1 или 2, а 10 или 20... Соответственно таблица с их параметрами в 10, а то и в 20 раз больше оригинала... Все бы ничего, но возникают серьезные проблемы при select a.*, b.ext_par1, c.ext_par2........ DB2 приходится несколько раз просматривать эту большую таблицу.... Не совсем понял чего вы хотите. Как я понял у вас есть таблица которая хранит описания документов. Так? Но так как количество атрибутов перемено(т.е. количество столбцов в БД) но вы боитесь что слишком много столбцов будет лишним, а слишком мало может не хватить для хранения информации. Правильно я вас понял? Что за b.ext_par1, c.ext_par2 от куда вы взяли таблицы b,c? В моем примере если вы хотите получить документ со всеми его атрибутами нужно выполнить что то типа такого Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 16:31 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Не совсем так.... Я хочу получить запрос: ObjectName | Value1 | Value2 ----------------------------- | | Ну а сам запрос что-то вроде.... select a.ObjectName, Coalesce(b.Value,'') as Value1, Coalesce(c.Value,'') as Value2 from tObject a left outer join tAttr b on a.IdObject = b.IdObject and b.IdAttrType = ? left outer join tAttr c on a.IdObject = c.IdObject and c.IdAttrType = ? Вот есть мнение, что такие запросы начинают тормозить при большом количестве записей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 16:37 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Не надо много раз одну и ту же таблицу соединять. Выбирайте все атрибуты сущности, а потом инвертируйте разультат. Это можно делать либо на клиентском приложении, либо хранимой процедурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 16:53 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
А пример SQL не подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 16:57 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Уточню вопрос... Мне бы view такой состряпать.... Чтобы без ХП и всякого прочего... Тут вся "фишка" в запросе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:10 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
TORTУточню вопрос... Мне бы view такой состряпать.... Чтобы без ХП и всякого прочего... Тут вся "фишка" в запросе....Вы не составите view на динамисески изменяющееся кол-во параметров. Я бы вам дал свою процедуру, но она написана на общий случай (использует внутри java-функцию) и немного усложнена. В кратце, делается это примерно так: Пусть есть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. PID - id свойства Тогда динамически составляется и выполняется запрос типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:41 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Ну мне нужно выбрать строго фиксированное число параметров... Поэтому Ваш запрос смогу адаптировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:47 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
http://nash.cod.ru/viewtopic.php?t=25192 сюда сходи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:51 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, какую-то лажу послал... Посмотри тему Re: Подскажите как решить подобную задачу с помощью sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:53 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
TORT... Допустим в ней хранятся документы... В процессе работы компании документам добавляются различные дополнительные параметры... Причем необязательно всем... Скорее даже наоборот... Как лучше организовать? если db2 9, то может быть просто xml? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 18:44 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
TORTНе совсем так.... Я хочу получить запрос: ObjectName | Value1 | Value2 ----------------------------- | | Ну а сам запрос что-то вроде.... select a.ObjectName, Coalesce(b.Value,'') as Value1, Coalesce(c.Value,'') as Value2 from tObject a left outer join tAttr b on a.IdObject = b.IdObject and b.IdAttrType = ? left outer join tAttr c on a.IdObject = c.IdObject and c.IdAttrType = ? Вот есть мнение, что такие запросы начинают тормозить при большом количестве записей... Мне кажется вы усложняете себе жизнь. :) Почему вы хотите получить данные именно в таком виде? Нарушается вся логика Реалиционной БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 20:54 |
|
||
|
Подкиньте идею насчет организации БД...
|
|||
|---|---|---|---|
|
#18+
Попытаться вынести основные свойства документа, по которым будет поиск и другие вычисления в столбцы таблицы. Мутирующие параметры положить в поле XML( лучше всего) или CLOB. Чисто для истории и печати документов. Если есть возможность то лучше весь документ хранить в xml, для db2 это не проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 03:25 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34887660&tid=1604254]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 435ms |

| 0 / 0 |
