Мне нужно создать базу данных со следующей идеей:
Подготовка вопросов:
Учитель создает пул вопросов для использования на экзаменах.Вопрос включает в себя текст и четыре ответа.Один из ответов помечен как правильный ответ.
Каждый вопрос в базе данных соответствует одному предмету и одному или нескольким курсам по этому предмету.Каждый вопрос имеет номер, который идентифицирует его однозначно, 5 цифр.Например: № 02105: Предмет: Математика (02), номер вопроса (105).
Подготовка к экзаменам:
Учитель создает экзамены, включающие вопросы избаза данных.Каждый экзамен имеет номер, который каким-то образом идентифицирует его, 6 цифр.Например: 020301: Предмет: Математика (02), Курс: Алгебра (03), Номер экзамена (01)
Продолжительность назначенного решения (в минутах) и количество баллов за вопрос определены.
Я создал эти таблицы:
CREATE TABLE `course` (
`idcourse` varchar(2) NOT NULL,
`courseName` varchar(45) DEFAULT NULL,
PRIMARY KEY (`idcourse`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-
CREATE TABLE `subject` (
`idsubject` varchar(2) NOT NULL,
`subjectName` varchar(45) DEFAULT NULL,
PRIMARY KEY (`idsubject`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-
CREATE TABLE `question` (
`questionText` varchar(100) DEFAULT NULL,
`answer1` varchar(100) DEFAULT NULL,
`answer2` varchar(100) DEFAULT NULL,
`answer3` varchar(100) DEFAULT NULL,
`answer4` varchar(100) DEFAULT NULL,
`subjetID` varchar(2) NOT NULL,
`questionNum.` varchar(3) NOT NULL,
PRIMARY KEY (`subjetID`,`questionNum.`),
CONSTRAINT `idsubject` FOREIGN KEY (`subjetID`) REFERENCES `subject` (`idsubject`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-
CREATE TABLE `exam` (
`subjectID` varchar(2) NOT NULL,
`courseID` varchar(2) NOT NULL,
`examNumber` varchar(2) NOT NULL,
`duration` int(11) DEFAULT NULL,
`pointsPerQuestionl` int(11) DEFAULT NULL,
PRIMARY KEY (`subjectID`,`courseID`,`examNumber`),
KEY `idCourse_idx` (`courseID`),
CONSTRAINT `idCo` FOREIGN KEY (`courseID`) REFERENCES `course` (`idcourse`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `idSu` FOREIGN KEY (`subjectID`) REFERENCES `subject` (`idsubject`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Насчет таблиц, я не уверен, правильно ли я их создал
На экзамене у меня есть ряд вопросов.Для каждого вопроса мне нужно определить количество баллов.
Как мне сделать это в моем отношении к таблице?
Спасибо.