· 6 years ago · Nov 27, 2019, 10:14 AM
1DROP TABLE IF EXISTS `CHAPTER`;
2CREATE TABLE `CHAPTER` (
3 `id` int(11) NOT NULL AUTO_INCREMENT,
4 `title` varchar(255) NOT NULL,
5 `order` int(11) NOT NULL,
6 PRIMARY KEY (`id`)
7)CHARACTER SET utf8;
8
9DROP TABLE IF EXISTS `COURSE`;
10CREATE TABLE `COURSE` (
11 `id` int(11) NOT NULL AUTO_INCREMENT,
12 `idChapter` int(11) NOT NULL,
13 `title` varchar(255) NOT NULL,
14 `content` varchar(255),
15 `order` int(11) DEFAULT 1,
16 PRIMARY KEY (`id`),
17 CONSTRAINT `courseFk` FOREIGN KEY (`idChapter`) REFERENCES `CHAPTER` (`id`) ON DELETE CASCADE
18)CHARACTER SET utf8;
19
20DROP TABLE IF EXISTS `EXERCICE`;
21CREATE TABLE `EXERCICE` (
22 `id` int(11) NOT NULL AUTO_INCREMENT,
23 `idCourse` int(11) NOT NULL,
24 `title` varchar(255) NOT NULL,
25 `instruction` text DEFAULT NULL,
26 `correction` text DEFAULT NULL,
27 `dependency` text DEFAULT NULL,
28 `main` text DEFAULT NULL,
29 `order` int(11) DEFAULT 1,
30 PRIMARY KEY (`id`),
31 CONSTRAINT `exerciceFk` FOREIGN KEY (`idCourse`) REFERENCES `COURSE` (`id`) ON DELETE CASCADE
32)CHARACTER SET utf8;
33
34DROP TABLE IF EXISTS `TESTSET`;
35CREATE TABLE `TESTSET` (
36 `id` int(11) NOT NULL AUTO_INCREMENT,
37 `idExercice` int(11) NOT NULL,
38 `input` varchar(255) DEFAULT NULL,
39 `output` varchar(255) DEFAULT NULL,
40 PRIMARY KEY (`id`),
41 CONSTRAINT `testSetFk` FOREIGN KEY (`idExercice`) REFERENCES `EXERCICE` (`id`) ON DELETE CASCADE
42)CHARACTER SET utf8;
43
44DROP TABLE IF EXISTS `USER`;
45CREATE TABLE `USER` (
46 `id` int(11) NOT NULL,
47 `name` varchar(255) NOT NULL,
48 `type` int(11) DEFAULT '1',
49 `promo` int(11) DEFAULT NULL,
50 PRIMARY KEY (`id`)
51)CHARACTER SET utf8;
52
53DROP TABLE IF EXISTS `DO`;
54CREATE TABLE `DO` (
55 `idUser` int(11) NOT NULL,
56 `idExercice` int(11) NOT NULL,
57 `startTime` datetime DEFAULT NULL,
58 `completionTime` datetime DEFAULT NULL,
59 `try` int(11) DEFAULT '0',
60 `done` int(1) DEFAULT '0',
61 `code` text DEFAULT NULL,
62 PRIMARY KEY (`idUser`, `idExercice`),
63 CONSTRAINT `doFk1` FOREIGN KEY (`idUser`) REFERENCES `USER` (`id`) ON DELETE CASCADE,
64 CONSTRAINT `doFk2` FOREIGN KEY (`idExercice`) REFERENCES `EXERCICE` (`id`) ON DELETE CASCADE
65)CHARACTER SET utf8;