Чтобы разработать схему базы данных для экзаменов типа вопросов с несколькими вариантами ответов (MCQ) в SQL, вы можете рассмотреть следующие методы:
Метод 1: подход с использованием одной таблицы
В этом методе вы можете хранить всю необходимую информацию в одной таблице. Вот пример:
CREATE TABLE MCQs (
id INT PRIMARY KEY,
question TEXT,
option1 TEXT,
option2 TEXT,
option3 TEXT,
option4 TEXT,
correct_option INT
);
В этой схеме каждая строка представляет уникальный MCQ. Столбец idявляется первичным ключом, а столбец questionхранит текст вопроса. В столбцах option1, option2, option3и option4хранятся различные параметры, а в столбце correct_option<Столбец /code>указывает правильный вариант (1, 2, 3 или 4).
Метод 2: отдельные таблицы для вопросов и вариантов
Этот метод предполагает создание отдельных таблиц для вопросов и вариантов и установление связи между ними. Вот пример:
CREATE TABLE Questions (
id INT PRIMARY KEY,
question TEXT
);
CREATE TABLE Options (
id INT PRIMARY KEY,
question_id INT,
option_text TEXT,
is_correct BOOLEAN,
FOREIGN KEY (question_id) REFERENCES Questions(id)
);
В этой схеме в таблице Questionsхранятся вопросы, а в таблице Options— различные варианты для каждого вопроса. Столбец question_idв таблице Optionsустанавливает связь внешнего ключа со столбцом idв таблице Questions. Столбец is_correctуказывает, правильный ли вариант.
Метод 3: использование промежуточной таблицы для правильных вариантов
В этом методе вы можете создать промежуточную таблицу для хранения правильных вариантов для каждого вопроса, а также отдельные таблицы для вопросов и вариантов. Вот пример:
CREATE TABLE Questions (
id INT PRIMARY KEY,
question TEXT
);
CREATE TABLE Options (
id INT PRIMARY KEY,
question_id INT,
option_text TEXT,
FOREIGN KEY (question_id) REFERENCES Questions(id)
);
CREATE TABLE CorrectOptions (
question_id INT,
option_id INT,
FOREIGN KEY (question_id) REFERENCES Questions(id),
FOREIGN KEY (option_id) REFERENCES Options(id)
);
В этой схеме таблица Questionsхранит вопросы, таблица Optionsхранит различные варианты, а таблица CorrectOptionsхранит правильные варианты каждого вопроса. Столбцы question_idи option_idв таблице CorrectOptionsустанавливают отношения внешнего ключа с соответствующими таблицами.