我需要用以下想法创建一个数据库:
准备问题:
老师为考试准备了一堆问题。这个问题包括一篇课文和四个答案。其中一个答案被标记为正确答案。
数据库中的每个问题匹配一个主题,以及一个或多个关于该主题的课程。每个问题都有一个唯一的数字,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
关于表,我不确定我是否正确地创建了它们
在考试中我有很多问题。对于每个问题,我需要定义点数。
我怎么在我的table上做这个?
谢谢。
1条答案
按热度按时间yzuktlbb1#
试试这个:
对于第二个问题,你可以用同样的方法进行。