7
7
-- -----------------------------------------------------
8
8
CREATE USER 'dbsk'@'localhost' IDENTIFIED BY 'Tomten2009';
9
9
GRANT ALL PRIVILEGES ON lenasys.* TO 'dbsk'@'localhost' WITH GRANT OPTION;
11
-- -----------------------------------------------------
12
-- Table `lenasys`.`UserTypeCodes`
13
-- -----------------------------------------------------
14
CREATE TABLE IF NOT EXISTS `lenasys`.`UserTypeCodes` (
15
`userTypeCode` INT NOT NULL ,
16
`userType` VARCHAR(10) NOT NULL ,
17
PRIMARY KEY (`userType`))
10
19
-- -----------------------------------------------------
11
20
-- Table `lenasys`.`Users`
12
21
-- -----------------------------------------------------
13
23
CREATE TABLE IF NOT EXISTS `lenasys`.`Users` (
14
24
`userName` VARCHAR(20) NOT NULL ,
15
25
`name` VARCHAR(45) NULL ,
16
`passwd` VARCHAR(45) NULL ,
17
`userType` INT NULL , -- teacher or student
26
`passwd` CHAR(40) NULL ,
27
`userType` INT NULL , -- 0=teacher or 1=student
18
28
`ssn` CHAR(13) NULL COMMENT 'yyyymmdd-xxxx' ,
19
29
PRIMARY KEY (`userName`) ,
20
UNIQUE INDEX `userName_UNIQUE` (`userName` ASC) )
30
UNIQUE INDEX `userName_UNIQUE` (`userName` ASC),
31
INDEX `fk_Users_UserTypeCodes1_idx` (`userType` ASC) ,
32
CONSTRAINT `fk_Users_usertypeCodes1`
33
FOREIGN KEY (`userType` )
34
REFERENCES `lenasys`.`userTypeCodes` (`userTypeCode` )
23
40
-- -----------------------------------------------------
24
41
-- Table `lenasys`.`Courses`
25
42
-- -----------------------------------------------------
229
246
ON DELETE NO ACTION
230
247
ON UPDATE NO ACTION)
251
-- -----------------------------------------------------
252
-- Table `lenasys`.`logUsersQuizLogins`
253
-- -----------------------------------------------------
254
CREATE TABLE IF NOT EXISTS `lenasys`.`logUsersQuizLogins` (
256
`userName` VARCHAR(20) NOT NULL ,
257
`userAgent` VARCHAR(20) /*NOT NULL*/ ,
258
`userIP` VARCHAR(20) /*NOT NULL*/ ,
259
`browserID` VARCHAR(20) /*NOT NULL*/ ,
260
`courseID` VARCHAR(10) NOT NULL ,
261
`courseOccasion` VARCHAR(16) NULL ,
262
`quizNr` INT NOT NULL ,
263
`loginTimeStamp` DATETIME NOT NULL ,
264
`success` VARCHAR(20) NOT NULL , -- Boolean?
266
UNIQUE INDEX `id_UNIQUE` (`id` ASC))
268
-- -------------------------------------------------
269
-- Table `lenasys`.`logAssignedQuizzesAnswers`
270
-- -----------------------------------------------------
271
CREATE TABLE IF NOT EXISTS `lenasys`.`logUsersQuizLogins` (
273
`userName` VARCHAR(20) NOT NULL ,
274
`userAgent` VARCHAR(20) /*NOT NULL*/ ,
275
`userIP` VARCHAR(20) /*NOT NULL*/ ,
276
`courseID` VARCHAR(10) NOT NULL ,
277
`courseOccasion` VARCHAR(16) NOT NULL ,
278
`quizNr` INT NOT NULL ,
279
`answers` VARCHAR(45) NULL ,
280
`answerHash` VARCHAR(45) NULL ,
281
`answeredTimeStamp` DATETIME NULL ,
282
`grade` VARCHAR(8) NULL ,
283
`gradeComment` VARCHAR(200) NULL ,
285
UNIQUE INDEX `id_UNIQUE` (`id` ASC))
288
-- -------------------------------------------------
289
-- Table `lenasys`.`logBenchmark`
290
-- -----------------------------------------------------
291
CREATE TABLE IF NOT EXISTS `lenasys`.`logUsersQuizLogins` (
293
`userName` VARCHAR(20) NOT NULL ,
294
`userAgent` VARCHAR(20) /*NOT NULL*/ ,
295
`userIP` VARCHAR(20) /*NOT NULL*/ ,
296
`browser` VARCHAR(20) /*NOT NULL*/ ,
297
`browserVersion` VARCHAR(20) /*NOT NULL*/ ,
298
`renderer` VARCHAR(20) /*NOT NULL*/ ,
299
`rendererVersion` VARCHAR(20) /*NOT NULL*/ ,
300
`os` VARCHAR(20) /*NOT NULL*/ ,
301
`osVersion` VARCHAR(20) /*NOT NULL*/ ,
302
`fps` VARCHAR(20) /*NOT NULL*/ ,
303
`maxFps` VARCHAR(20) /*NOT NULL*/ ,
304
-- `host` INT /*NOT NULL*/ ,
305
`app` INT /*NOT NULL*/ ,
306
`screenResolution` VARCHAR(20) /*NOT NULL*/ ,
307
`logTimeStamp` DATETIME /*NOT NULL*/ ,
308
`runtime` VARCHAR(20) /*NOT NULL*/ ,
310
UNIQUE INDEX `id_UNIQUE` (`id` ASC))
312
-- -------------------------------------------------
232
314
insert into `lenasys`.`Users` (`userName`,`name`,`passwd`,`userType`,`ssn`)
233
VALUES ('Per','Per Student',md5('Syp9393'),1,'19900385-2345');
315
VALUES ('sha1','Per Student',sha1('Syp9393'),1,'19900385-2345'),
316
('md5','Per L�rare',md5('Syp9393'),0,'19800385-2325');
318
insert into `lenasys`.`UserTypeCodes` (`userTypeCode`,`userType`)
319
VALUES (0,'Teacher'),(1,'Student');
321
-- -----------------------------------------------------
237
322
-- allow maximum of 5 succesfull quiz-attemps is a good begining for implementation of the loggingtables to add restriction.
238
323
SET SQL_MODE=@OLD_SQL_MODE;
239
324
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;