Сохранить несколько вопросов в одной строке - PullRequest
0 голосов
/ 26 сентября 2011

Мне нужно сделать схему для базы данных. Моя проблема в том, что у меня есть несколько вопросов, они относятся к одному экзамену. Это означает: один экзамен имеет несколько вопросов. Я не знаю, как я могу решить это. Я пытаюсь исправить это с помощью таблицы между "tabQuestions" и "tabTest", но я не вижу правильного подхода.

У меня есть следующие таблицы:

tabTest: ID, Name, FK_Categorie, FK_Questions
tabQuestions: ID, Question, FK_Answer
tabAnswers: ID, Answer, FK_Solution
tabSolution: ID, Solution

Большое спасибо за помощь! Лука

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Для этого вам нужно создать две таблицы. Один для exam (test) и один для questions.

Настольный экзамен (test) должен иметь:

test_id, test_name

Таблица question должна иметь:

test_id (references test_id from test table),
question_id ,
question_text.

Теперь вы можете иметь отношение 1: n, когда в одном тесте много вопросов.

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

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

2 голосов
/ 26 сентября 2011

Вам не нужно поле FK_Question в вашем tabTest. Вам нужно поле FK_Test в таблице tabQuestion, в котором вы храните идентификатор теста, которому принадлежит вопрос.

... если я правильно тебя понял ...?

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

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