2012-04-20 2 views
0

Что я пытаюсь сделать, это позволить администратору создать вопросник. Каждый раз, когда пользователь пишет обзор продукта, он также должен заполнять вопросник. Это для образовательного моделирования.Разрешить администратору создавать новый столбец?

Я в настоящее время использую Visual Studio и разрабатываю сайт ASP.NET MVC3 на C#. Я также использую/имею SQL Server 2008 и SQL Management Studio.

У меня возникли проблемы с мыслью о том, как это сделать.

Прямо сейчас мое решение состоит в том, чтобы сказать «Вы можете задать до 10 вопросов», а затем в моей базе данных «Таблица вопросов» и хранить все ответы с каждым обзором и иметь 10 столбцов «Ответ» за просмотр.

Что было бы еще лучше, если бы я мог каким-то образом позволить администратору задавать столько вопросов, сколько им хотелось бы, и добавлять побольше столбцов в таблицу базы данных по мере необходимости. Есть какой-либо способ сделать это?

Или есть лучший способ создать мою базу данных?

ответ

2

Это не очень нормализованный.

У вас должна быть таблица с одной записью для каждой пары вопросов/ответов.

+0

Вы предложили бы другой стол для хранения вопросов? Затем, когда пользователь оставляет отзыв, выдает каждый вопрос вместе с текстовым полем, а затем, когда они отправляют, сохраняют каждый вопрос и свой ответ в таблице вопросов/ответов, который также содержит идентификатор, который указывает на обзор, для которого он предназначен? – Johannes

2

Просто отдайте себе дочерний стол Answers, у которого есть внешний ключ Questions. Тогда вы можете получить столько ответов, сколько хотите.

2

Вам понадобится таблица для хранения Questions и отдельная таблица для хранения Answers. Таблица Answers может затем иметь внешний ключ к записи в Questions, на который он отвечает.

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