|
|
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
Привет всем !!! Вот написал тему с описанием задачи здесь http://www.sql.ru/forum/actualthread.aspx?tid=654663 Вопрос следующий чем плоха такая структура с неизвестным количеством колонок . И можно ли её заменить чем то аналогичным - чтоб решить эту же задачу другим способом - возможно более рациональным способом. Заранее спасибо всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 16:18 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
Vikpro пишет: > Вопрос следующий чем плоха такая структура с неизвестным количеством > колонок . Тем, что с ней невозможно работать на SQL. И можно ли её заменить чем то аналогичным - чтоб решить эту же > задачу другим способом - возможно более рациональным способом. Да, сделать подчинённую таблицу для хранения "колонок". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 18:51 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Vikpro пишет: > Вопрос следующий чем плоха такая структура с неизвестным количеством > колонок . Тем, что с ней невозможно работать на SQL. И можно ли её заменить чем то аналогичным - чтоб решить эту же > задачу другим способом - возможно более рациональным способом. Да, сделать подчинённую таблицу для хранения "колонок". Можно пример простой как должна выглядеть подчиненая таблица ? Вроде моя таблица и созданна для хранения значений колонок - а вывод для в удобном виде это уже результат трансформации . Или я в чем то не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 19:07 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
Vikpro пишет: > Можно пример простой как должна выглядеть подчиненая таблица ? PK: все поля старой таблицы плюс порядковый номер атрибута (бывшей "колонки") Атрибуты: одно поле, содержащее значение бывшей "колонки". Тип - тот же, что был у колонки. Если типов было много, можно либо сделать несколько подчинённых таблиц, по таблице на тип, либо сделать в одной таблице несколько неключевых полей с NULL, по полю на возмжный тип данных. > Вроде моя таблица и созданна для хранения значений колонок - а вывод для > в удобном виде это уже результат трансформации . Или я в чем то не прав? Не прав только в одном - в каждой таблице в БД должно быть фиксированное, заранее известное для приложения число колонок. Если вам нужно иметь произвольное число колонок в таблице, значит у вас что-то не так с дизайном. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2009, 23:28 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Vikpro пишет: > Можно пример простой как должна выглядеть подчиненая таблица ? PK: все поля старой таблицы плюс порядковый номер атрибута (бывшей "колонки") Атрибуты: одно поле, содержащее значение бывшей "колонки". Тип - тот же, что был у колонки. Если типов было много, можно либо сделать несколько подчинённых таблиц, по таблице на тип, либо сделать в одной таблице несколько неключевых полей с NULL, по полю на возмжный тип данных. > Вроде моя таблица и созданна для хранения значений колонок - а вывод для > в удобном виде это уже результат трансформации . Или я в чем то не прав? Не прав только в одном - в каждой таблице в БД должно быть фиксированное, заранее известное для приложения число колонок. Если вам нужно иметь произвольное число колонок в таблице, значит у вас что-то не так с дизайном. с разными типами вообще идея хорошая , но я пока сделал по простому - сделал тип поля nvarchar - при необходимости буду конвертировать в другие типы. вот с последним абзацом я не согалсен или я может не правильно понял. Что значит не так с дизайном ? Клиент поставил задачу именно иметь возможность строить самому формы с колонками что ему нужны - будет выбирать из списка существующих колонок(параметров ) которые ему нужны - а если ему нужен новый параметр, то он его сам добавлят в список . Вот а моя задача стоит - сделать такую структуру БД чтоб она в ходе эксплуатации не изменялась - т. е . в каждой таблице в БД физически кол-во колонок будет фиксированым "Не прав только в одном - в каждой таблице в БД должно быть фиксированное" Но виртуальных колонок , если так можно выразится при трасформирование данных в пригодный для юзера вид, будет конечно не фиксированым ( для каждой формы количество будет разным) Может еще есть другие идеи как это реализовать по другому - был бы рад их увидеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 12:10 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
Vikpro, Думаю, что проблема в том, что Ваш заказчик не до конца еще определился или понимает, что он в итоге хочет видеть в той системе над которой Вы для него работаете. А Вы идя на поводу его этого "не понимания" все для себя только усложняете. Разберитесь для начала хорошенько в предметной области, выявите источники информации, информационные потоки. Определитесь с основными сущностями и атрибутами. В-общем, Вам предстоит не мало поработать как вместе с заказчиком, так и над заказчиком. ;). Уверен, что в Вашем случае вполне можно обойтись без транспонирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 14:03 |
|
||
|
Вопрос по транспонированию ?
|
|||
|---|---|---|---|
|
#18+
Vikpro пишет: > с разными типами вообще идея хорошая , но я пока сделал по простому - > сделал тип поля nvarchar - при необходимости буду конвертировать в > другие типы. Это плохо. Начнём с того, что индексы будут криво работать. > Вот а моя задача стоит - сделать такую структуру БД чтоб она в ходе > эксплуатации не изменялась - т. е . в каждой таблице в БД физически > кол-во колонок будет фиксированым Соседний топик почитай, про EAV. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 17:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35923193&tid=1543315]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 493ms |

| 0 / 0 |
