-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDPFINAL_DB.sql
187 lines (164 loc) · 6.38 KB
/
DPFINAL_DB.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ DPFINAL_DB.
DROP DATABASE IF EXISTS DPFINAL_DB;
CREATE DATABASE DPFINAL_DB;
USE DPFINAL_DB;
#ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ DPFINAL_DB.
CREATE TABLE Admin (
admin_id INT(1) NOT NULL,
admin_username VARCHAR(30) NOT NULL,
admin_password VARCHAR(50) NOT NULL,
PRIMARY KEY (admin_id)
);
CREATE TABLE Professors (
professor_id INT AUTO_INCREMENT NOT NULL,
professor_username VARCHAR(30) NOT NULL,
professor_password VARCHAR(50) NOT NULL,
professor_name VARCHAR(40),
professor_surname VARCHAR(40),
professor_grade VARCHAR(50),
professor_valid TINYINT(1) NOT NULL DEFAULT 1,
PRIMARY KEY (professor_id)
);
CREATE TABLE Courses (
course_id INT AUTO_INCREMENT NOT NULL,
course_title_gr VARCHAR(60) NOT NULL,
course_title_eng VARCHAR(60) NOT NULL,
education_level TINYINT(1) NOT NULL,
course_semester INT(1) NOT NULL,
PRIMARY KEY (course_id)
);
CREATE TABLE Professors_Courses (
course_id INT NOT NULL,
professor_id INT NOT NULL,
FOREIGN KEY (course_id)
REFERENCES Courses (course_id),
FOREIGN KEY (professor_id)
REFERENCES Professors (professor_id),
PRIMARY KEY (course_id , professor_id)
);
CREATE TABLE Learning_Objective_Categories (
learning_objective_category_id INT(7) NOT NULL,
learning_objective_category_title_gr VARCHAR(50) NOT NULL,
learning_objective_category_title_eng VARCHAR(50) NOT NULL,
PRIMARY KEY (learning_objective_category_id)
);
CREATE TABLE Learning_Objectives (
learning_objective_code VARCHAR(15) NOT NULL,
learning_objective_title_gr VARCHAR(150) NOT NULL,
learning_objective_title_eng VARCHAR(150) NOT NULL,
learning_objective_category INT(7) NOT NULL,
learning_objective_course INT(10) NOT NULL,
FOREIGN KEY (learning_objective_category)
REFERENCES Learning_Objective_Categories (learning_objective_category_id),
FOREIGN KEY (learning_objective_course)
REFERENCES Courses (course_id),
PRIMARY KEY (learning_objective_code)
);
CREATE TABLE Prerequisites_Courses (
prerequisite_course_id INT(10) NOT NULL,
course_id INT NOT NULL,
FOREIGN KEY (prerequisite_course_id)
REFERENCES Courses (course_id),
FOREIGN KEY (course_id)
REFERENCES Courses (course_id),
PRIMARY KEY (prerequisite_course_id , course_id)
);
CREATE TABLE Prerequisites_Learning_Objectives (
prerequisite_learning_objective_code VARCHAR(15) NOT NULL,
learning_objective_code VARCHAR(15) NOT NULL,
FOREIGN KEY (prerequisite_learning_objective_code)
REFERENCES Learning_Objectives (learning_objective_code),
FOREIGN KEY (learning_objective_code)
REFERENCES Learning_Objectives (learning_objective_code),
PRIMARY KEY (prerequisite_learning_objective_code , learning_objective_code)
);
CREATE TABLE Students (
student_id INT AUTO_INCREMENT NOT NULL,
student_username VARCHAR(30) NOT NULL,
student_password VARCHAR(50) NOT NULL,
student_name VARCHAR(40),
student_surname VARCHAR(40),
student_valid TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (student_id)
);
CREATE TABLE Favorite_Courses (
course_id INT NOT NULL,
student_id INT NOT NULL,
FOREIGN KEY (course_id)
REFERENCES Courses (course_id),
FOREIGN KEY (student_id)
REFERENCES Students (student_id),
PRIMARY KEY (course_id , student_id)
);
CREATE TABLE Favorite_Learning_Objectives (
learning_objective_code VARCHAR(15) NOT NULL,
student_id INT NOT NULL,
FOREIGN KEY (learning_objective_code)
REFERENCES Learning_Objectives (learning_objective_code),
FOREIGN KEY (student_id)
REFERENCES Students (student_id),
PRIMARY KEY (learning_objective_code , student_id)
);
CREATE TABLE Login_Instances (
id INT NOT NULL,
user_type VARCHAR(20) NOT NULL,
authentication_key VARCHAR(50) NOT NULL,
expires DATETIME NOT NULL,
PRIMARY KEY (id,user_type)
);
CREATE TABLE Translation(
translation_key VARCHAR(50) NOT NULL,
translation_value TEXT NOT NULL,
PRIMARY KEY (translation_key)
);
#ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΕΛΕΝΧΟΥ ΣΤΟΥΣ ΠΙΝΑΚΕΣ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ DPFINAL_DB.
INSERT INTO Admin VALUES (0,"admin","$31$16$zknPRm-vDHHblTZc9M1qcP4EEMGWNtOO3oFYniJQA5w");
INSERT INTO Students VALUES (1, "billy", "$31$16$BHi9OUU71_4WkqYYHDfjuIymGKON1jmh--KG57NJhPY", "Βασίλειος", "Γιογουρτσόγλου",0);
LOAD DATA LOCAL INFILE 'C:/csv_files/Professors.csv'
INTO TABLE Professors
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(professor_username, professor_password,professor_name,professor_surname,professor_grade,professor_valid);
LOAD DATA LOCAL INFILE 'C:/csv_files/Courses.csv'
INTO TABLE Courses
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(course_title_gr, course_title_eng, education_level,course_semester);
LOAD DATA LOCAL INFILE 'C:/csv_files/Professors_Courses.csv'
INTO TABLE Professors_Courses
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(course_id, professor_id);
LOAD DATA LOCAL INFILE 'C:/csv_files/Prerequisites_Courses.csv'
INTO TABLE Prerequisites_Courses
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(prerequisite_course_id, course_id);
LOAD DATA LOCAL INFILE 'C:/csv_files/Learning_Objective_Categories.csv'
INTO TABLE Learning_Objective_Categories
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(learning_objective_category_id, learning_objective_category_title_gr, learning_objective_category_title_eng);
LOAD DATA LOCAL INFILE 'C:/csv_files/Learning_Objectives.csv'
INTO TABLE Learning_Objectives
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(learning_objective_code, learning_objective_title_gr, learning_objective_title_eng, learning_objective_category, learning_objective_course);
LOAD DATA LOCAL INFILE 'C:/csv_files/Prerequisites_Learning_Objectives.csv'
INTO TABLE Prerequisites_Learning_Objectives
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(prerequisite_learning_objective_code, learning_objective_code);
LOAD DATA LOCAL INFILE 'C:/csv_files/Translation.csv'
INTO TABLE Translation
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(translation_key, translation_value);