SQL строки вместо столбцов? - PullRequest
1 голос
/ 27 апреля 2010

У меня есть форма со многими проектными вопросами , и в некоторых из этих вопросов около 20 CheckBoxes необходимо проверить. Я хочу создать структуру SQL для этих проектов .

Большая часть данных находится в таблице проекта. Но я не хочу, чтобы все эти CheckBoxes были столбцами таблицы проекта, вместо этого я хочу создать таблицу, в которой все эти CheckBoxes будут представлены в виде строк. В этой таблице будет группа, обозначающая вопрос (родительский элемент всех этих флажков), и я бы добавил еще одну таблицу между проектом и таблицей с флажками, чтобы создать структуру [1] - [NN] - [1].

Но я спрашиваю, допустимо ли это, потому что, когда приходит запрос, у меня не будет столбцов, для которых нужно установить условие, но будет таблица со строками ...

Есть идея получше? Спасибо

1 Ответ

2 голосов
/ 27 апреля 2010

Это абсолютно приемлемо. Мы продаем пару продуктов, которые имеют дело с динамическими данными именно таким образом. Кроме того, это очень быстро, даже с большими наборами данных (1M + записи)

Конечно, вы захотите использовать SQL 2008. Такие вещи, как параметры табличных значений, MERGE и CTE, значительно упрощают работу с этим типом данных по сравнению с более старыми версиями сервера sql.

СОВЕТ: у вас может возникнуть соблазн создать представления этих данных, чтобы выбрать из них .. Если число столбцов меньше 10, то все будет в порядке. Что-нибудь более, и вы гораздо лучше преобразуете строки в столбцы (я думаю, что отчеты здесь) в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...