Как структурировать базу данных с вопросами и ответами? - PullRequest
1 голос
/ 14 января 2011

Я собираюсь сделать простое приложение, которое использует базу данных. Мне может понадобиться руководство по его структурированию.

Я составлю вопрос программы. Я имею в виду:

  • Одна таблица с вопросами
  • Один стол с трудностью вопроса
  • Одна таблица с категорией вопрос

Однако, что мне делать с ответами? Есть ли у них отдельные столбцы в таблице вопросов? Это звучит как плохая практика. (Также, где у меня есть правильный ответ)

На каждый вопрос будет 5 ответов, только один из которых правильный.

Ответы [ 3 ]

3 голосов
/ 14 января 2011

Таблица ответов.Первичный ключ может быть (ID вопроса, ID ответа), где ID ответа может быть, скажем, (a, b, c, d, e).Другие поля, которые сочтены подходящими, также включают двоичное поле correct_answer, равное 1 для правильного вопроса.

2 голосов
/ 14 января 2011

Иметь таблицу answers с внешним ключом, указывающим на первичный ключ questions таблица

1 голос
/ 14 января 2011

Почему бы не сохранить все данные вашего вопроса в одной таблице?Примерно так:
question_id | category_id | difficulty | correct_answer | question_text
Где category_id - это внешний ключ к таблице 'Category', а correct_answer - это внешний ключ к таблице вопросов.

Для ответов вы можете сделать что-то вроде
answer_id | question_id | answer_text | answer_order
Идентификатор вопроса - это внешний ключ, указывающий на таблицу вопросов - порядок ответов - это число, которое можно использовать для сортировки ответов на каждый вопрос

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