Skip to content

Commit 6d08b5f

Browse files
authored
Merge pull request #334 from Deepak-Vohra/main
SQL-266 MySQL OPTIMIZE all the tables
2 parents e2b08de + 3cae56d commit 6d08b5f

File tree

3 files changed

+142
-0
lines changed

3 files changed

+142
-0
lines changed
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
CREATE DATABASE University_myisam DEFAULT CHARACTER SET=utf8;
2+
3+
USE University_myisam;
4+
5+
CREATE TABLE Department
6+
(
7+
id INT PRIMARY KEY NOT Null,
8+
name VARCHAR (50),
9+
code VARCHAR (4),
10+
UNIQUE (id)
11+
) ENGINE MyISAM;
12+
13+
14+
CREATE TABLE Program
15+
(
16+
id INT PRIMARY KEY NOT Null,
17+
name VARCHAR (50),
18+
description VARCHAR (250),
19+
start_date DATE,
20+
end_date DATE,
21+
type VARCHAR (20),
22+
department_id INT,
23+
CONSTRAINT program_department_id_fkey FOREIGN KEY(department_id) REFERENCES Department(id),
24+
UNIQUE (id)
25+
) ENGINE MyISAM;
26+
27+
28+
CREATE TABLE Student
29+
(
30+
id INT PRIMARY KEY NOT null,
31+
name VARCHAR (60),
32+
national_id BIGINT NOT Null,
33+
birth_date DATE,
34+
enrollment_date DATE,
35+
graduation_date DATE,
36+
gpa FLOAT,
37+
UNIQUE (id)
38+
) ENGINE MyISAM;
39+
40+
41+
42+
CREATE TABLE Faculty
43+
(
44+
id INT PRIMARY KEY NOT Null,
45+
name VARCHAR (60),
46+
national_id BIGINT NOT Null,
47+
position VARCHAR (30),
48+
start_date DATE,
49+
end_date DATE,
50+
department_id INT,
51+
active BOOLEAN DEFAULT true,
52+
CONSTRAINT faculty_department_id_fkey FOREIGN KEY(department_id) REFERENCES Department(id),
53+
UNIQUE (id)
54+
) ENGINE MyISAM;
55+
56+
57+
CREATE TABLE Course
58+
(
59+
id VARCHAR (10) PRIMARY KEY NOT Null,
60+
name VARCHAR(60),
61+
textbook VARCHAR(100),
62+
credits INT,
63+
is_active VARCHAR(10),
64+
department_id INT,
65+
CONSTRAINT course_department_id_fkey FOREIGN KEY(department_id) REFERENCES Department(id),
66+
UNIQUE (id)
67+
) ENGINE MyISAM;
68+
69+
70+
CREATE TABLE Teaching
71+
(
72+
id INT PRIMARY KEY NOT Null,
73+
role VARCHAR(60),
74+
semester VARCHAR(30),
75+
year INT,
76+
course_id VARCHAR (10),
77+
faculty_id INT,
78+
CONSTRAINT teaching_course_id_fkey FOREIGN KEY(course_id) REFERENCES Course(id),
79+
CONSTRAINT teaching_faculty_id_fkey FOREIGN KEY(faculty_id) REFERENCES Faculty(id),
80+
UNIQUE (id)
81+
) ENGINE MyISAM;
82+
83+
84+
CREATE TABLE Specification
85+
(
86+
id INT PRIMARY KEY NOT Null,
87+
status VARCHAR (20),
88+
course_id VARCHAR (10),
89+
program_id INT,
90+
CONSTRAINT specification_course_id_fkey FOREIGN KEY(course_id) REFERENCES Course(id),
91+
CONSTRAINT specification_program_id_fkey FOREIGN KEY(program_id) REFERENCES Program(id),
92+
UNIQUE (id)
93+
) ENGINE MyISAM;
94+
95+
96+
97+
CREATE TABLE Prerequisite
98+
(
99+
id INT PRIMARY KEY NOT Null,
100+
course_id VARCHAR (10),
101+
prerequisite_id VARCHAR (10) not null,
102+
CONSTRAINT prerequisite_course_id_fkey FOREIGN KEY(course_id) REFERENCES Course(id),
103+
CONSTRAINT prerequisite_prerequisite_id_fkey FOREIGN KEY(prerequisite_id) REFERENCES Course(id),
104+
UNIQUE (id)
105+
) ENGINE MyISAM;
106+
107+
108+
CREATE Table Registration
109+
(
110+
id INT PRIMARY KEY NOT Null,
111+
semester VARCHAR(30),
112+
year INT,
113+
reg_datetime DATETIME,
114+
course_id VARCHAR (10),
115+
student_id INT,
116+
CONSTRAINT registration_course_id_fkey FOREIGN KEY(course_id) REFERENCES Course(id),
117+
CONSTRAINT registration_student_id_fkey FOREIGN KEY(student_id) REFERENCES Student(id),
118+
UNIQUE (id)
119+
) ENGINE MyISAM;
120+
121+
122+
CREATE TABLE Exam
123+
(
124+
id INT PRIMARY KEY NOT Null,
125+
semester VARCHAR(30),
126+
exam_date DATE,
127+
grade VARCHAR(2),
128+
course_id VARCHAR (10),
129+
student_id INT,
130+
CONSTRAINT exam_student_id_fkey FOREIGN KEY(student_id) REFERENCES Student(id),
131+
CONSTRAINT exam_course_id_fkey FOREIGN KEY(course_id) REFERENCES Course(id),
132+
UNIQUE (id)
133+
) ENGINE MyISAM;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
$ mysqlcheck -u root -o University
2+
3+
$ mysqlcheck -u root -o University_myisam
4+
5+
$ mysqlcheck -u root -o --databases University University_myisam
6+
7+
$ mysqlcheck -u root -o --all-databases
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
OPTIMIZE TABLE Course, Department, Exam, Faculty, Prerequisite, Program,
2+
Registration, Specification, Student, Teaching\G

0 commit comments

Comments
 (0)