8
8
-- -----------------------------------------------------
9
-- Table `lenasys`.`Users`
9
10
-- -----------------------------------------------------
10
CREATE TABLE IF NOT EXISTS `lenasys`.`Files` (
11
`fileName` VARCHAR(20) NOT NULL ,
12
`codeLanguage` VARCHAR(10) NULL ,
13
`fileType` VARCHAR(5) NULL ,
14
`dataBlob` BLOB NULL ,
15
PRIMARY KEY (`fileName`) ,
16
UNIQUE INDEX `fileName_UNIQUE` (`fileName` ASC) )
11
CREATE TABLE IF NOT EXISTS `lenasys`.`Users` (
12
`userName` VARCHAR(20) NOT NULL ,
13
`name` VARCHAR(45) NULL ,
14
`password` VARCHAR(45) NULL ,
16
`personalNumber` CHAR(13) NULL COMMENT 'yyyymmdd-xxxx' ,
17
PRIMARY KEY (`userName`) ,
18
UNIQUE INDEX `userName_UNIQUE` (`userName` ASC) )
20
21
-- -----------------------------------------------------
21
22
-- Table `lenasys`.`Courses`
22
23
-- -----------------------------------------------------
29
29
UNIQUE INDEX `courseID_UNIQUE` (`courseID` ASC) )
32
-- -----------------------------------------------------
33
-- Table `lenasys`.`StudentCourseRegistrations`
34
-- -----------------------------------------------------
35
CREATE TABLE IF NOT EXISTS `lenasys`.`StudentCourseRegistrations` (
36
`userName` VARCHAR(20) NOT NULL ,
37
`courseID` VARCHAR(10) NOT NULL ,
38
`courseOccasion` VARCHAR(16) NOT NULL ,
39
PRIMARY KEY (`userName`, `courseID`) ,
40
INDEX `fk_StudentCourseRegistrations_Courses1_idx` (`courseID` ASC) ,
41
CONSTRAINT `fk_StudentCourseRegistrations_Users`
42
FOREIGN KEY (`userName` )
43
REFERENCES `lenasys`.`Users` (`userName` )
46
CONSTRAINT `fk_StudentCourseRegistrations_Courses1`
47
FOREIGN KEY (`courseID` )
48
REFERENCES `lenasys`.`Courses` (`courseID` )
53
-- -----------------------------------------------------
54
-- Table `lenasys`.`Quizzes`
55
-- -----------------------------------------------------
56
CREATE TABLE IF NOT EXISTS `lenasys`.`Quizzes` (
58
`courseID` VARCHAR(10) NOT NULL ,
59
`autoCorrected` BOOLEAN NULL ,
60
`allowMultipleReplies` BOOLEAN NULL ,
61
`quizData` VARCHAR(45) NULL ,
62
`openingDate` DATETIME NULL ,
63
`closingDate` DATETIME NULL ,
64
PRIMARY KEY (`nr`, `courseID`) ,
65
INDEX `fk_Quizzes_Courses1_idx` (`courseID` ASC) ,
66
UNIQUE INDEX `Nr_UNIQUE` (`Nr` ASC) ,
67
CONSTRAINT `fk_Quizzes_Courses1`
68
FOREIGN KEY (`courseID` )
69
REFERENCES `lenasys`.`Courses` (`courseID` )
74
-- -----------------------------------------------------
75
-- Table `lenasys`.`QuizQuestions`
76
-- -----------------------------------------------------
77
CREATE TABLE IF NOT EXISTS `lenasys`.`QuizQuestions` (
80
`courseID` VARCHAR(10) NOT NULL ,
81
`questionData` VARCHAR(45) NULL ,
82
`correctAnswer` VARCHAR(45) NULL ,
83
PRIMARY KEY (`id`, `nr`, `courseID`) ,
84
UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
85
INDEX `fk_QuizQuestions_Quizzes1_idx` (`nr` ASC, `courseID` ASC) ,
86
CONSTRAINT `fk_QuizQuestions_Quizzes1`
87
FOREIGN KEY (`nr` , `courseID` )
88
REFERENCES `lenasys`.`Quizzes` (`nr` , `courseID` )
93
-- -----------------------------------------------------
94
-- Table `lenasys`.`AssignedQuizzes`
95
-- -----------------------------------------------------
96
CREATE TABLE IF NOT EXISTS `lenasys`.`AssignedQuizzes` (
97
`courseOccasion` VARCHAR(16) NOT NULL ,
98
`userName` VARCHAR(20) NOT NULL ,
99
`courseID` VARCHAR(10) NOT NULL ,
100
`quizNr` INT NOT NULL ,
101
`quizCourseID` VARCHAR(10) NOT NULL ,
102
`answers` VARCHAR(45) NULL ,
103
`answerHash` VARCHAR(45) NULL ,
104
`answeredTimeStamp` DATETIME NULL ,
105
`grade` VARCHAR(8) NULL ,
106
`gradeComment` VARCHAR(200) NULL ,
107
PRIMARY KEY (`userName`, `courseID`, `nr`, `courseID`) ,
108
INDEX `fk_AssignedQuizzes_Quizzes1_idx` (`nr` ASC, `courseID` ASC) ,
109
CONSTRAINT `fk_AssignedQuizzes_StudentCourseRegistrations1`
110
FOREIGN KEY (`courseOccasion`,`userName` , `courseID` )
111
REFERENCES `lenasys`.`StudentCourseRegistrations` (`courseOccasion`,`userName` , `courseID` )
114
CONSTRAINT `fk_AssignedQuizzes_Quizzes1`
115
FOREIGN KEY (`quizNr` , `quizCourseID` )
116
REFERENCES `lenasys`.`Quizzes` (`quizNr` , `quizCourseID` )
33
121
-- -----------------------------------------------------
34
122
-- Table `lenasys`.`Examples`
131
CREATE TABLE IF NOT EXISTS `lenasys`.`Users` (
132
`userName` VARCHAR(20) NOT NULL ,
133
`name` VARCHAR(45) NULL ,
134
`password` VARCHAR(45) NULL ,
135
`userType` INT NULL ,
136
`personalNumber` CHAR(13) NULL COMMENT 'yyyymmdd-xxxx' ,
137
PRIMARY KEY (`userName`) ,
138
UNIQUE INDEX `userName_UNIQUE` (`userName` ASC) )
142
CREATE TABLE IF NOT EXISTS `lenasys`.`StudentCourseRegistrations` (
143
`userName` VARCHAR(20) NOT NULL ,
144
`courseID` VARCHAR(10) NOT NULL ,
145
`courseOccation` VARCHAR(16) NOT NULL ,
146
PRIMARY KEY (`userName`, `courseID`) ,
147
INDEX `fk_StudentCourseRegistrations_Courses1_idx` (`courseID` ASC) ,
148
CONSTRAINT `fk_StudentCourseRegistrations_Users`
149
FOREIGN KEY (`userName` )
150
REFERENCES `lenasys`.`Users` (`userName` )
153
CONSTRAINT `fk_StudentCourseRegistrations_Courses1`
154
FOREIGN KEY (`courseID` )
155
REFERENCES `lenasys`.`Courses` (`courseID` )
161
CREATE TABLE IF NOT EXISTS `lenasys`.`Quizzes` (
163
`courseID` VARCHAR(10) NOT NULL ,
164
`autoCorrected` BOOLEAN NULL ,
165
`allowMultipleReplies` BOOLEAN NULL ,
166
`quizData` VARCHAR(45) NULL ,
167
`openingDate` DATETIME NULL ,
168
`closingDate` DATETIME NULL ,
169
PRIMARY KEY (`nr`, `courseID`) ,
170
INDEX `fk_Quizzes_Courses1_idx` (`courseID` ASC) ,
171
UNIQUE INDEX `Nr_UNIQUE` (`Nr` ASC) ,
172
CONSTRAINT `fk_Quizzes_Courses1`
173
FOREIGN KEY (`courseID` )
174
REFERENCES `lenasys`.`Courses` (`courseID` )
180
CREATE TABLE IF NOT EXISTS `lenasys`.`AssignedQuizzes` (
181
`userName` VARCHAR(20) NOT NULL ,
182
`courseID` VARCHAR(10) NOT NULL ,
184
`courseID` VARCHAR(10) NOT NULL ,
185
`answerHash` VARCHAR(45) NULL ,
186
`answers` VARCHAR(45) NULL ,
187
`grade` VARCHAR(8) NULL ,
188
`gradeComment` VARCHAR(200) NULL ,
189
`answeredTimeStamp` DATETIME NULL ,
190
PRIMARY KEY (`userName`, `courseID`, `nr`, `courseID`) ,
191
INDEX `fk_AssignedQuizzes_Quizzes1_idx` (`nr` ASC, `courseID` ASC) ,
192
CONSTRAINT `fk_AssignedQuizzes_StudentCourseRegistrations1`
193
FOREIGN KEY (`userName` , `courseID` )
194
REFERENCES `lenasys`.`StudentCourseRegistrations` (`userName` , `courseID` )
197
CONSTRAINT `fk_AssignedQuizzes_Quizzes1`
198
FOREIGN KEY (`nr` , `courseID` )
199
REFERENCES `lenasys`.`Quizzes` (`nr` , `courseID` )
205
CREATE TABLE IF NOT EXISTS `lenasys`.`QuizQuestions` (
208
`courseID` VARCHAR(10) NOT NULL ,
209
`questionData` VARCHAR(45) NULL ,
210
`correctAnswer` VARCHAR(45) NULL ,
211
PRIMARY KEY (`id`, `nr`, `courseID`) ,
212
UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
213
INDEX `fk_QuizQuestions_Quizzes1_idx` (`nr` ASC, `courseID` ASC) ,
214
CONSTRAINT `fk_QuizQuestions_Quizzes1`
215
FOREIGN KEY (`nr` , `courseID` )
216
REFERENCES `lenasys`.`Quizzes` (`nr` , `courseID` )