143
111
`grade` VARCHAR(8) NULL ,
144
112
`gradeComment` VARCHAR(200) NULL ,
145
113
PRIMARY KEY (`userName`, `courseID`, `quizNr`, `quizCourseID`) ,
146
INDEX `fk_AssignedQuizzes_Quizzes1_idx` (`quizNr` ASC, `courseID` ASC) ,
147
CONSTRAINT `fk_AssignedQuizzes_StudentCourseRegistrations1`
148
114
FOREIGN KEY (`courseOccasion`,`userName` , `courseID` )
149
REFERENCES `lenasys`.`StudentCourseRegistrations` (`courseOccasion`,`userName` , `courseID` )
152
CONSTRAINT `fk_AssignedQuizzes_Quizzes1`
115
REFERENCES `lenasys`.`StudentCourseRegistrations` (`courseOccasion`,`userName` , `courseID` ),
153
116
FOREIGN KEY (`quizNr` , `quizCourseID` )
154
REFERENCES `lenasys`.`Quizzes` (`quizNr` , `courseID` )
117
REFERENCES `lenasys`.`Quizzes` (`quizNr` , `courseID` ))
165
126
`exampleName` VARCHAR(20) NOT NULL ,
166
127
`categoryName` VARCHAR(64) NOT NULL ,
167
128
`courseID` VARCHAR(10) NOT NULL ,
168
`orderNr` INT NULL , -- the order of the examples in the same category
129
`orderNr` INT NOT NULL , -- the order of the examples in the same category
169
130
`description` VARCHAR(200) NULL ,
170
131
PRIMARY KEY (`exampleName`, `categoryName`, `courseID`) ,
171
INDEX `fk_Examples_Courses1_idx` (`courseID` ASC) ,
172
UNIQUE INDEX `exampleName_UNIQUE` (`exampleName` ASC) ,
173
CONSTRAINT `fk_Examples_Categories1`
174
132
FOREIGN KEY (`categoryName` )
175
REFERENCES `lenasys`.`Categories` (`categoryName` )
178
CONSTRAINT `fk_Examples_Courses1`
133
REFERENCES `lenasys`.`Categories` (`categoryName` ),
179
134
FOREIGN KEY (`courseID` )
180
REFERENCES `lenasys`.`Courses` (`courseID` )
135
REFERENCES `lenasys`.`Courses` (`courseID` ))
185
138
-- -----------------------------------------------------
209
157
`fileType` VARCHAR(5) NULL , -- can be for example: text, kod, video or bild
210
158
`codeLanguage` VARCHAR(10) NULL , -- example: javascript, html, m.m.
211
159
`dataBlob` BLOB NULL , -- This is where the binary file is stored. Searchable.
212
PRIMARY KEY (`fileName`) ,
213
UNIQUE INDEX `fileName_UNIQUE` (`fileName` ASC) )
160
PRIMARY KEY (`fileName`))
218
163
-- -----------------------------------------------------
219
164
-- Table `lenasys`.`ContainerFiles`
220
165
-- -----------------------------------------------------
221
CREATE TABLE IF NOT EXISTS `lenasys`.`ContainerFiles` (
222
`fileName` VARCHAR(20) NOT NULL ,
223
`columnNr` INT NOT NULL ,
224
`orderNr` INT NOT NULL , -- the order of the examples in the same category
225
`exampleName` VARCHAR(20) NOT NULL ,
226
`categoryName` VARCHAR(64) NOT NULL ,
227
`courseID` VARCHAR(10) NOT NULL ,
228
PRIMARY KEY (`fileName`, `columnNr`, `exampleName`,`categoryName`, `courseID`) ,
229
INDEX `fk_ContainerFiles_Files1_idx` (`fileName` ASC) ,
230
CONSTRAINT `fk_ContainerFiles_Files1`
231
FOREIGN KEY (`fileName` )
232
REFERENCES `lenasys`.`Files` (`fileName` )
235
INDEX `fk_ContainerFiles_Containers1_idx` (`columnNr` ASC,`orderNr` ASC,`exampleName` ASC, `courseID` ASC) ,
236
CONSTRAINT `fk_ContainerFiles_Containers1`
237
FOREIGN KEY (`columnNr` , `orderNr`, `exampleName` , `courseID` )
238
REFERENCES `lenasys`.`Containers` (`columnNr` ,`orderNr`, `exampleName` , `courseID` )
166
CREATE TABLE IF NOT EXISTS `lenasys`.`ContainerFiles` (
167
`fileName` VARCHAR(20) NOT NULL ,
168
`columnNr` INT NOT NULL ,
169
`orderNr` INT NOT NULL , -- the order of the examples in the same category
170
`exampleName` VARCHAR(20) NOT NULL ,
171
`categoryName` VARCHAR(64) NOT NULL ,
172
`courseID` VARCHAR(10) NOT NULL ,
173
PRIMARY KEY ( `fileName`, `columnNr` , `orderNr` , `exampleName`, `categoryName`, `courseID`),
174
FOREIGN KEY (`fileName`)
175
REFERENCES `lenasys`.`Files` (`fileName`) ,
176
FOREIGN KEY ( `columnNr` , `orderNr` , `exampleName`, `categoryName`, `courseID`)
177
REFERENCES `lenasys`.`Containers` (`columnNr` , `orderNr` , `exampleName`, `categoryName`, `courseID`))
246
180
-- -----------------------------------------------------
247
181
-- Table `lenasys`.`FileInterestingLines`
248
182
-- -----------------------------------------------------
249
183
CREATE TABLE IF NOT EXISTS `lenasys`.`FileInterestingLines` (
250
`id` INT NOT NULL AUTO_INCREMENT ,
251
`fileName` VARCHAR(20) NOT NULL ,
252
`columnNr` INT NOT NULL ,
253
`orderNr` INT NOT NULL , -- the order of the examples in the same category
254
`exampleName` VARCHAR(20) NOT NULL ,
255
`categoryName` VARCHAR(64) NOT NULL ,
256
`courseID` VARCHAR(10) NOT NULL ,
259
PRIMARY KEY (`id`, `fileName` , `columnNr`, `exampleName`,`categoryName`, `courseID`) ,
260
INDEX `fk_FileInterestingLines_Files1_idx` (`fileName` ASC) ,
261
UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
262
CONSTRAINT `fk_FileInterestingLines_Files1`
263
FOREIGN KEY (`fileName` )
264
REFERENCES `lenasys`.`Files` (`fileName` )
267
CONSTRAINT `fk_FileInterestingLines_ContainerFiles1`
268
FOREIGN KEY (`columnNr` , `orderNr`, `exampleName` , `categoryName`, `courseID` )
269
REFERENCES `lenasys`.`ContainerFiles` (`columnNr` ,`orderNr`, `exampleName` , `categoryName`, `courseID` )
184
`id` INT NOT NULL AUTO_INCREMENT ,
185
`fileName` VARCHAR(20) NOT NULL ,
186
`columnNr` INT NOT NULL ,
187
`orderNr` INT NOT NULL ,
188
`exampleName` VARCHAR(20) NOT NULL ,
189
`categoryName` VARCHAR(64) NOT NULL ,
190
`courseID` VARCHAR(10) NOT NULL ,
193
PRIMARY KEY (`id`, `fileName` , `columnNr`, `exampleName`,`categoryName`, `courseID`) ,
194
FOREIGN KEY (`fileName`)
195
REFERENCES `lenasys`.`Files` (`fileName`),
196
FOREIGN KEY (`columnNr`, `orderNr`, `exampleName`, `categoryName`, `courseID`)
197
REFERENCES `lenasys`.`ContainerFiles` (`columnNr`, `orderNr`, `exampleName`, `categoryName`, `courseID`))
274
200
-- -----------------------------------------------------
349
268
`screenResolution` VARCHAR(20) NOT NULL ,
350
269
`logTimeStamp` DATETIME NOT NULL ,
351
270
`runtime` INT NOT NULL ,
353
UNIQUE INDEX `id_UNIQUE` (`id` ASC))
355
273
-- -------------------------------------------------
356
274
insert into `lenasys`.`UserTypeCodes` (`userTypeCode`,`userType`)
357
275
VALUES (0,'Teacher'),(1,'Student');
359
277
insert into `lenasys`.`Users` (`userName`,`name`,`passwd`,`userType`,`ssn`)
360
VALUES ('sha1','Per Student',sha1('Syp9393'),1,'19900385-2345'),
361
('md5','Per L�rare',md5('Syp9393'),0,'19800385-2325');
278
VALUES ('student','Per Student',sha1('Syp9393'),1,'19900385-2345'),
279
('l�rare','Kalle L�rare',sha1('Syp9393'),0,'19800385-2325');
365
283
-- -----------------------------------------------------
366
284
-- allow maximum of 5 succesfull quiz-attemps is a good begining for implementation of the loggingtables to add restriction.
367
SET SQL_MODE=@OLD_SQL_MODE;
368
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
369
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
b'\\ No newline at end of file'
285
-- ska courseID i ContainerFiles vara foreignkey ifr�n contaiers??
b'\\ No newline at end of file'