高等資料庫管理系統Advanced Database Management System
系 所:數位知識管理班 級:研究所一年級學 生: 69739001姓 名:王詩齡
作業一 -Using DBMS
一、開發環境:
JDK 1.5.0.04 Apache Tomcat 5.5.9 MySQL 5.0.45 Navicat MySQL 7.2.8 Macromedia Dreamweaver 8
1/22
Manager(Teacher)
Course Student
teach
choose
ID
chname title
office
tel
IDname
sex
grade
address
score
ID
name
time
classroom
number
1
N
N N
tel
password
loginname
二、 ER DIAGRAM
2/22
Manager
MID loginname password chname title office mtel e-mail
Course
CID number cname time classroom M_ID
Choose
C_ID S_ID score
Student
SID sname sex grade address stel
三、 RELATION SCHEMA
3/22
四、 DDL( 定義 )
【 定義資料表 】 ( 未包含資料匯入 )
CREATE TABLE `Manager` (
`MID` INT NOT NULL,
`loginname` varchar(20),
`password` varchar(20),
`chname` varchar(20),
`e-mail` varchar(30),
`title` varchar(20),
`office` varchar(20),
`mtel` varchar(20),
PRIMARY KEY (`ID`));
CREATE TABLE `Course` (
`CID` INT NOT NULL,
`number` INT,
`cname` varchar(50),
`time` varchar(20),
`classroom` varchar(20),
`M_ID` INT NOT NULL,
PRIMARY KEY (`CID`));
CREATE TABLE `Student` (
`SID` INT NOT NULL,
`sname` varchar(20),
`sex` varchar(5),
`grade` INT,
`address` varchar(50),
`stel` varchar(20),
PRIMARY KEY (`SID`));
CREATE TABLE `Choose` (
`C_ID` INT NOT NULL,
`S_ID` INT NOT NULL,
`score` INT,
PRIMARY KEY (`C_ID`,`S_ID`));
alter table `Course` add constraint foreign key(`M_ID`) references `Manager`(`MID`);
alter table `Choose` add constraint foreign key(`C_ID`) references `Course`(`CID`);
alter table `Choose` add constraint foreign key(`S_ID`) references `Student`(`SID`);4/22
四、 DDL( 建立、變更、刪除資料表 )
【 建立資料表 】CREATE TABLE `college` (`number` INT NOT NULL,`name` varchar(30),PRIMARY KEY (`number`));
【 變更資料表 // 新增欄位 】alter table collegeadd note char(100);
【 變更資料表 // 修改欄位 】alter table collegemodify note varchar(300) not null;
【 變更資料表 // 刪除欄位 】alter table collegedrop note;
【 刪除資料表 】drop table college;6/22
五、 DML( 新增、查詢、修改、刪除 )
【 新增資料 】INSERT INTO course VALUES ('9',' '543209',' 資料庫管理系統實務 ','/ 一 4/ 一 5/ 一 6',' 共
A103','10001');
【 查詢資料 】SELECT *FROM courseWHERE cname=' 資料庫管理系統實務 ';
【 修改資料 】UPDATE courseSET time='/ 一 9/ 一 10/ 一 11',classroom=' 共四講堂 'WHERE cname=' 資料庫管理系統實務 ';
【 刪除資料 】DELETE FROM courseWHERE cname=' 資料庫管理系統實務 ';6/22
六、景觀 VIEW
【 e.g. 建立自己的成績表 】CREATE view work
AS SELECT SID, cname, sname, score
FROM Course, Choose, Student
WHERE C_ID=CID AND S_ID=SID AND SID=69739001;
7/22
六、景觀 VIEW
【 e.g. 建立各課程選課人數及分數總平均 】CREATE view work1
AS SELECT CID, cname, COUNT(*), AVG(score)
FROM Course, Choose
WHERE C_ID=CID
GROUP BY cname;
8/22
七、 QUERY CATALOG
【 使用 Navicat MySQL 查詢 】
9/22
七、 QUERY CATALOG
【 使用 Navicat MySQL 查詢 】
10/22
八、 EMBEDDED SQL
【 課程管理系統 】使用 Java 撰寫 JSP + SQL
程式碼:抓取所有課程資訊或依關鍵字查詢
11/22
八、 EMBEDDED SQL
展示畫面:抓取所有課程及教師資訊
12/22
八、 EMBEDDED SQL
展示畫面:依課程名稱查詢
展示畫面:依上課時段查詢
13/22
八、 EMBEDDED SQL
程式碼:管理者介面,抓取所有課程資訊
14/22
八、 EMBEDDED SQL
展示畫面:管理者介面,抓取所有課程資訊
15/22
八、 EMBEDDED SQL
程式碼:課程新增
16/22
八、 EMBEDDED SQL
展示畫面:課程新增
17/22
八、 EMBEDDED SQL
程式碼:課程修改
18/22
八、 EMBEDDED SQL
展示畫面:課程修改
19/22
八、 EMBEDDED SQL
程式碼:課程刪除
20/22
八、 EMBEDDED SQL
展示畫面:課程刪除
21/22
報告完畢敬請指教
22/22