Хранение переменных данных - PullRequest
4 голосов
/ 16 августа 2011

Я создаю приложение в ASP.NET, C #, MVC3 и SQL Server 2008.

Пользователю предоставляется форма для заполнения (имя, адрес электронной почты, адрес и т. Д.).Я хотел бы разрешить администратору приложения добавлять дополнительные динамические вопросы к этой форме.

Количество дополнительных вопросов и тип возвращаемых данных будут различаться.Например, администратор может добавить 0, 1 или более из следующих типов вопросов:

  1. Есть ли у вас полное чистое вождение?
  2. Оцените свои навыки вождения от 1 до5.
  3. Опишите, когда вы в последний раз отправлялись в дальний путь?
  4. и т. Д. *

Обратите внимание, что предоставленные ответы могут быть двоичными (Q.1), целое число (Q.2) или свободный текст (Q.3).

Каков наилучший способ хранения случайных данных, подобных этому, в MS SQL?

Любая помощь будет в значительной степени

Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Я бы создал таблицу со следующими столбцами и сохранил бы имя переменной вместе со значением в соответствующем столбце со всеми другими значениями, равными NULL.

id:int (primary)
name:varchar(100)
value_bool:bit(nullable)
value_int:int (nullable)
value_text:varchar(100) (nullable)
1 голос
/ 16 августа 2011

Если пробел не является проблемой, я бы использовал VARCHAR (MAX).Он дает вам до 8000 символов и хранит цифры и текст.

edit: На самом деле, как указывает Аарон ниже, это даст вам 2 миллиарда символов (достаточно для книги).Вы можете использовать VARCHAR (8000) или что-то подобное, что дает вам до 8000 символов.Поскольку это VARCHAR, он не будет занимать пустое пространство (поэтому 0 или 1 не будут занимать 8 000 символов, только 1).

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