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