2008-12-05 5 views
1

Я участвую в проекте, чтобы создать систему опроса. Мы выбивали логику для нескольких типов вопросов, и я мог бы использовать второе мнение о том, как лучше всего действовать. Мы работаем на веб-сайте ASP.NET 2.0, используя VB (VS2005) с базой данных Oracle.Матрица множественного ответа в ASP.NET

В нашем сервере oracle мы планируем некоторые таблицы для организации наших данных. Для наших опросов есть таблица, одна для вопросов (ключи определяют, какой опрос продолжается), один для ответов (опять же, ключи определяют, к какому вопросу он относится), и один для сбора ответов. Большинство вопросов возвращают только один ответ, и это довольно легко понять. Однако, когда мы начинаем думать о элементах, которые возвращают несколько ответов, это начинает становиться сложным.

Например, если у нас есть простая матрица 3x3, заполненная флажками. Строки - это дни «понедельник», «среда», «пятница». Столбцами являются такие действия, как «Велоспорт», «Бег», «Вождение». Пользователь проверяет каждый из них, которые они делали в течение определенного дня, поэтому каждая строка может иметь более одного ответа. Еще один, о котором мы хотим подумать, - это то, что, если вместо флажков у нас есть текстовые поля, в которых пользователи пишут, сколько минут они потратили на активность.

До сих пор для сбора ответов мне нравилась идея traversing a list of controls в форме и ведение вкладок по видам элементов управления, которые собирают данные. Поскольку элементы управления создаются в коде, обычно им присваивается идентификатор строки с номером, прикрепленным к концу, чтобы отслеживать, какой тип вопроса он есть, и каково это число.

Вопрос №1: Должны ли данные, возвращенные пользователем, находиться в одной записи базы данных с разделителями для разделения каждого ответа, или каждый ответ получит свою собственную запись?

Вопрос №2: Каков наилучший способ определения ответа на какой ответ (в опросе)?

ответ

0

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

поэтому ответ на вопрос 1: каждый ответ получает свой собственный вход; с порядковым номером, если необходимо

и ответ на вопрос 2: по внешним ключам

0

Вопрос №1: Должны ли данные, возвращенные пользователем, находиться в одной записи базы данных с разделителями для разделения каждого ответа или каждый ответ будет получать свою собственную запись?

Я так не думаю, что вам нужно поддерживать простую таблицу перекрестных ссылок с вопросом Id и ответом (либо ключ, если его множественный выбор, либо текст, если вы разрешите его). Если вы говорите о сетке ответов, то в вашей таблице перекрестных ссылок может быть еще один столбец с идентификатором «категории».

Смежные вопросы