· 6 years ago · Dec 04, 2019, 03:58 PM
1SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
2SET AUTOCOMMIT = 0;
3START TRANSACTION;
4SET time_zone = "+00:00";
5
6
7/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10/*!40101 SET NAMES utf8mb4 */;
11
12--
13-- 資料庫: `work`
14--
15CREATE DATABASE IF NOT EXISTS `work` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
16USE `work`;
17
18-- --------------------------------------------------------
19
20--
21-- 資料表結構 `COURSE`
22--
23
24CREATE TABLE `COURSE` (
25 `CourseNumber` int(11) NOT NULL,
26 `CourseName` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
27 `CreditHour` int(11) NOT NULL,
28 `Department` varchar(10) COLLATE utf8_unicode_ci NOT NULL
29) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
30
31--
32-- 傾印資料表的資料 `COURSE`
33--
34
35INSERT INTO `COURSE` (`CourseNumber`, `CourseName`, `CreditHour`, `Department`) VALUES
36(1, 'Introduction to Computer Science', 2, 'CSIE'),
37(2, 'Database Systems', 2, 'CSIE'),
38(3, 'Information Security', 2, 'CSIE'),
39(4, 'Windows Programming', 2, 'CSIE'),
40(5, 'Computer Networks', 3, 'CSIE'),
41(6, 'Introduction to Computer Science', 2, 'ECE'),
42(7, 'Object-Oriented Programming I', 2, 'CSIE'),
43(8, 'Object-Oriented Programming II', 2, 'CSIE'),
44(9, 'Object-Oriented Programming III', 2, 'CSIE'),
45(10, 'Object-Oriented Programming IV', 2, 'CSIE'),
46(11, 'Object-Oriented Programming V', 2, 'CSIE'),
47(12, 'Object-Oriented Programming VI', 2, 'CSIE');
48
49-- --------------------------------------------------------
50
51--
52-- 資料表結構 `GRADE_REPORT`
53--
54
55CREATE TABLE `GRADE_REPORT` (
56 `StudentNumber` int(3) UNSIGNED ZEROFILL NOT NULL,
57 `SectionNumber` int(11) NOT NULL,
58 `Grade` varchar(10) COLLATE utf8_unicode_ci NOT NULL
59) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
60
61--
62-- 傾印資料表的資料 `GRADE_REPORT`
63--
64
65INSERT INTO `GRADE_REPORT` (`StudentNumber`, `SectionNumber`, `Grade`) VALUES
66(005, 2, '70'),
67(003, 3, '71'),
68(008, 4, '66'),
69(006, 5, '22'),
70(009, 5, '22'),
71(002, 1, '90'),
72(008, 1, '91'),
73(002, 3, '90'),
74(004, 1, '99'),
75(008, 1, '60'),
76(002, 2, '93'),
77(003, 7, '77'),
78(005, 7, '66');
79
80-- --------------------------------------------------------
81
82--
83-- 資料表結構 `PREREQUISITE`
84--
85
86CREATE TABLE `PREREQUISITE` (
87 `CourseNumber` int(11) NOT NULL,
88 `PrerequisiteCourseNumber` int(11) NOT NULL
89) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
90
91--
92-- 傾印資料表的資料 `PREREQUISITE`
93--
94
95INSERT INTO `PREREQUISITE` (`CourseNumber`, `PrerequisiteCourseNumber`) VALUES
96(8, 7),
97(9, 8),
98(10, 9),
99(11, 10),
100(12, 11);
101
102-- --------------------------------------------------------
103
104--
105-- 資料表結構 `SECTION`
106--
107
108CREATE TABLE `SECTION` (
109 `SectionNumber` int(11) NOT NULL,
110 `CourseNumber` int(11) NOT NULL,
111 `Semester` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
112 `Year` year(4) NOT NULL,
113 `Instructor` varchar(10) COLLATE utf8_unicode_ci NOT NULL
114) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
115
116--
117-- 傾印資料表的資料 `SECTION`
118--
119
120INSERT INTO `SECTION` (`SectionNumber`, `CourseNumber`, `Semester`, `Year`, `Instructor`) VALUES
121(1, 2, '1', 2019, 'Cliu'),
122(2, 4, '1', 2019, 'wkChen'),
123(3, 5, '1', 2019, 'Johnson'),
124(4, 5, '1', 2018, 'Johnson'),
125(5, 5, '1', 2017, 'Johnson'),
126(6, 2, '1', 2018, 'Johnson'),
127(7, 1, '1', 2018, 'Johnson');
128
129-- --------------------------------------------------------
130
131--
132-- 資料表結構 `STUDENT`
133--
134
135CREATE TABLE `STUDENT` (
136 `StudentNumber` int(3) UNSIGNED ZEROFILL NOT NULL,
137 `Name` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
138 `Class` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
139 `Major` varchar(10) COLLATE utf8_unicode_ci NOT NULL
140) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
141
142--
143-- 傾印資料表的資料 `STUDENT`
144--
145
146INSERT INTO `STUDENT` (`StudentNumber`, `Name`, `Class`, `Major`) VALUES
147(001, 'Derrick', '1', 'CSIE'),
148(002, 'Abby', '1', 'CSIE'),
149(003, 'Wilfrid', '2', 'CSIE'),
150(004, 'Caz', '2', 'CSIE'),
151(005, 'Arvy', '1', 'EE'),
152(006, 'Thane', '3', 'EE'),
153(007, 'Marve', '3', 'EE'),
154(008, 'Aharon', '3', 'CSIE'),
155(009, 'Reuben', '1', 'CSIE'),
156(010, 'Hewe', '1', 'CSIE');
157
158--
159-- 已傾印資料表的索引
160--
161
162--
163-- 資料表索引 `COURSE`
164--
165ALTER TABLE `COURSE`
166 ADD PRIMARY KEY (`CourseNumber`),
167 ADD KEY `CourseNumber` (`CourseNumber`);
168
169--
170-- 資料表索引 `GRADE_REPORT`
171--
172ALTER TABLE `GRADE_REPORT`
173 ADD KEY `SectionNumber` (`SectionNumber`),
174 ADD KEY `StudentNumber` (`StudentNumber`);
175
176--
177-- 資料表索引 `PREREQUISITE`
178--
179ALTER TABLE `PREREQUISITE`
180 ADD KEY `CourseNumber` (`CourseNumber`),
181 ADD KEY `PrerequisiteCourseNumber` (`PrerequisiteCourseNumber`);
182
183--
184-- 資料表索引 `SECTION`
185--
186ALTER TABLE `SECTION`
187 ADD PRIMARY KEY (`SectionNumber`),
188 ADD KEY `CourseNumber` (`CourseNumber`),
189 ADD KEY `SectionNumber` (`SectionNumber`);
190
191--
192-- 資料表索引 `STUDENT`
193--
194ALTER TABLE `STUDENT`
195 ADD PRIMARY KEY (`StudentNumber`);
196
197--
198-- 在傾印的資料表使用自動遞增(AUTO_INCREMENT)
199--
200
201--
202-- 使用資料表自動遞增(AUTO_INCREMENT) `COURSE`
203--
204ALTER TABLE `COURSE`
205 MODIFY `CourseNumber` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
206
207--
208-- 使用資料表自動遞增(AUTO_INCREMENT) `SECTION`
209--
210ALTER TABLE `SECTION`
211 MODIFY `SectionNumber` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
212
213--
214-- 使用資料表自動遞增(AUTO_INCREMENT) `STUDENT`
215--
216ALTER TABLE `STUDENT`
217 MODIFY `StudentNumber` int(3) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
218
219--
220-- 已傾印資料表的限制式
221--
222
223--
224-- 資料表的限制式 `GRADE_REPORT`
225--
226ALTER TABLE `GRADE_REPORT`
227 ADD CONSTRAINT `SectionNumber` FOREIGN KEY (`SectionNumber`) REFERENCES `SECTION` (`SectionNumber`) ON DELETE CASCADE ON UPDATE CASCADE,
228 ADD CONSTRAINT `StudentNumber` FOREIGN KEY (`StudentNumber`) REFERENCES `STUDENT` (`StudentNumber`) ON DELETE CASCADE ON UPDATE CASCADE;
229
230--
231-- 資料表的限制式 `PREREQUISITE`
232--
233ALTER TABLE `PREREQUISITE`
234 ADD CONSTRAINT `CourseNumber_cascade2` FOREIGN KEY (`CourseNumber`) REFERENCES `COURSE` (`CourseNumber`) ON DELETE CASCADE ON UPDATE CASCADE;
235
236--
237-- 資料表的限制式 `SECTION`
238--
239ALTER TABLE `SECTION`
240 ADD CONSTRAINT `CourseNumber_cascade` FOREIGN KEY (`CourseNumber`) REFERENCES `COURSE` (`CourseNumber`) ON DELETE CASCADE ON UPDATE CASCADE;
241COMMIT;