/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to databas.sql

  • Committer: b11johgu
  • Date: 2013-04-17 11:34:16 UTC
  • mto: This revision was merged to the branch mainline in revision 31.
  • Revision ID: b11johgu@student.his.se-20130417113416-1nui167x5noritbd
changed the order on the tables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
USE `lenasys` ;
7
7
 
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 ,
 
15
  `userType` INT NULL ,
 
16
  `personalNumber` CHAR(13) NULL COMMENT 'yyyymmdd-xxxx' ,
 
17
  PRIMARY KEY (`userName`) ,
 
18
  UNIQUE INDEX `userName_UNIQUE` (`userName` ASC) )
17
19
ENGINE = InnoDB;
18
20
 
19
 
 
20
21
-- -----------------------------------------------------
21
22
-- Table `lenasys`.`Courses`
22
23
-- -----------------------------------------------------
29
29
  UNIQUE INDEX `courseID_UNIQUE` (`courseID` ASC) )
30
30
ENGINE = InnoDB;
31
31
 
 
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` )
 
44
    ON DELETE NO ACTION
 
45
    ON UPDATE NO ACTION,
 
46
  CONSTRAINT `fk_StudentCourseRegistrations_Courses1`
 
47
    FOREIGN KEY (`courseID` )
 
48
    REFERENCES `lenasys`.`Courses` (`courseID` )
 
49
    ON DELETE NO ACTION
 
50
    ON UPDATE NO ACTION)
 
51
ENGINE = InnoDB;
 
52
 
 
53
-- -----------------------------------------------------
 
54
-- Table `lenasys`.`Quizzes`
 
55
-- -----------------------------------------------------
 
56
CREATE  TABLE IF NOT EXISTS `lenasys`.`Quizzes` (
 
57
  `nr` INT NOT NULL ,
 
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` )
 
70
    ON DELETE NO ACTION
 
71
    ON UPDATE NO ACTION)
 
72
ENGINE = InnoDB;
 
73
 
 
74
-- -----------------------------------------------------
 
75
-- Table `lenasys`.`QuizQuestions`
 
76
-- -----------------------------------------------------
 
77
CREATE  TABLE IF NOT EXISTS `lenasys`.`QuizQuestions` (
 
78
  `id` INT NOT NULL ,
 
79
  `nr` INT NOT NULL ,
 
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` )
 
89
    ON DELETE NO ACTION
 
90
    ON UPDATE NO ACTION)
 
91
ENGINE = InnoDB;
 
92
 
 
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` )
 
112
    ON DELETE NO ACTION
 
113
    ON UPDATE NO ACTION,
 
114
  CONSTRAINT `fk_AssignedQuizzes_Quizzes1`
 
115
    FOREIGN KEY (`quizNr` , `quizCourseID` )
 
116
    REFERENCES `lenasys`.`Quizzes` (`quizNr` , `quizCourseID` )
 
117
    ON DELETE NO ACTION
 
118
    ON UPDATE NO ACTION)
 
119
ENGINE = InnoDB;
32
120
 
33
121
-- -----------------------------------------------------
34
122
-- Table `lenasys`.`Examples`
48
136
    ON UPDATE NO ACTION)
49
137
ENGINE = InnoDB;
50
138
 
51
 
 
52
139
-- -----------------------------------------------------
53
140
-- Table `lenasys`.`Pages`
54
141
-- -----------------------------------------------------
67
154
    ON UPDATE NO ACTION)
68
155
ENGINE = InnoDB;
69
156
 
 
157
-- -----------------------------------------------------
 
158
-- Table `lenasys`.`Files`
 
159
-- -----------------------------------------------------
 
160
CREATE  TABLE IF NOT EXISTS `lenasys`.`Files` (
 
161
  `fileName` VARCHAR(20) NOT NULL ,
 
162
  `codeLanguage` VARCHAR(10) NULL ,
 
163
  `fileType` VARCHAR(5) NULL ,
 
164
  `dataBlob` BLOB NULL ,
 
165
  PRIMARY KEY (`fileName`) ,
 
166
  UNIQUE INDEX `fileName_UNIQUE` (`fileName` ASC) )
 
167
ENGINE = InnoDB;
 
168
 
 
169
 
70
170
 
71
171
-- -----------------------------------------------------
72
172
-- Table `lenasys`.`PagesFiles`
128
228
ENGINE = InnoDB;
129
229
 
130
230
 
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) )
139
 
ENGINE = InnoDB;
140
 
 
141
 
 
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` )
151
 
    ON DELETE NO ACTION
152
 
    ON UPDATE NO ACTION,
153
 
  CONSTRAINT `fk_StudentCourseRegistrations_Courses1`
154
 
    FOREIGN KEY (`courseID` )
155
 
    REFERENCES `lenasys`.`Courses` (`courseID` )
156
 
    ON DELETE NO ACTION
157
 
    ON UPDATE NO ACTION)
158
 
ENGINE = InnoDB;
159
 
 
160
 
 
161
 
CREATE  TABLE IF NOT EXISTS `lenasys`.`Quizzes` (
162
 
  `nr` INT NOT NULL ,
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` )
175
 
    ON DELETE NO ACTION
176
 
    ON UPDATE NO ACTION)
177
 
ENGINE = InnoDB;
178
 
 
179
 
 
180
 
CREATE  TABLE IF NOT EXISTS `lenasys`.`AssignedQuizzes` (
181
 
  `userName` VARCHAR(20) NOT NULL ,
182
 
  `courseID` VARCHAR(10) NOT NULL ,
183
 
  `nr` INT 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` )
195
 
    ON DELETE NO ACTION
196
 
    ON UPDATE NO ACTION,
197
 
  CONSTRAINT `fk_AssignedQuizzes_Quizzes1`
198
 
    FOREIGN KEY (`nr` , `courseID` )
199
 
    REFERENCES `lenasys`.`Quizzes` (`nr` , `courseID` )
200
 
    ON DELETE NO ACTION
201
 
    ON UPDATE NO ACTION)
202
 
ENGINE = InnoDB;
203
 
 
204
 
 
205
 
CREATE  TABLE IF NOT EXISTS `lenasys`.`QuizQuestions` (
206
 
  `id` INT NOT NULL ,
207
 
  `nr` INT NOT NULL ,
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` )
217
 
    ON DELETE NO ACTION
218
 
    ON UPDATE NO ACTION)
219
 
ENGINE = InnoDB;
 
231
 
 
232
 
 
233
 
 
234
 
 
235
 
 
236
 
 
237
 
220
238
 
221
239
USE `lenasys` ;
222
240