part 1
設計一個學籍管理小系統。系統包含以下信息:
學號、學生姓名、性別、出生日、學生所在系名、學生所在系號、課程名、課程號、課程類型(必修、選修、任選)、學分、任課教師姓名、教師編號、教師職稱、教師所屬系名、系號、學生所選課程號、學生所選上課教師姓名、選課成績。
兩種不同表達方式的 E-R 圖分別如圖 1 1 1 和圖 2 2 2 所示。

圖 1????E-R 圖(未注明了鍵、外鍵、類型等信息)

圖 2????E-R 圖(注明了鍵、外鍵、類型等信息)
part 2
完成在表上的操作 (用 SQL 的 SELECT 語句):
根據描述內容創建 student 表、course 表、department 表、selectcourse 表、teacher 表、teach 表,分別如圖 1 1 1、 2 2 2、 3 3 3、 4 4 4、 5 5 5、 6 6 6 所示。
| 學號 | 學生姓名 | 性別 | 出生日 | 所在系號 |
| 0 | 張三 | 男 | 19870610 | 0 |
| 1 | 李四 | 男 | 19870610 | 1 |
| 2 | 王五 | 女 | 19870610 | 2 |
| 3 | 趙六 | 男 | 19870610 | 3 |
| 4 | 李德 | 男 | 19870610 | 4 |
| 5 | 王和 | 男 | 19870610 | 5 |
| 6 | 田亮 | 男 | 19870610 | 6 |
| 7 | 周潤發 | 男 | 19870610 | 7 |
| 8 | 劉德華 | 男 | 19870610 | 8 |
| 9 | 謝霆鋒 | 男 | 19870610 | 9 |
| 10 | 鄧超 | 男 | 19870610 | 0 |
| 11 | 劉翔 | 男 | 19860214 | 1 |
| 12 | 姚明 | 男 | 19860214 | 2 |
| 13 | 高峰 | 男 | 19860214 | 3 |
| 14 | 史冬鵬 | 男 | 19860214 | 4 |
| 15 | 郭晶晶 | 女 | 19860214 | 5 |
| 16 | 湯唯 | 女 | 19860214 | 6 |
| 17 | 范冰冰 | 女 | 19860214 | 7 |
| 18 | 李冰冰 | 女 | 19860214 | 8 |
| 19 | 趙本山 | 男 | 19860214 | 9 |
| 20 | 郭德綱 | 男 | 19860214 | 0 |
| 21 | 于謙 | 男 | 19860214 | 1 |
| 22 | 岳云鵬 | 男 | 19870814 | 2 |
| 23 | 姜昆 | 男 | 19870905 | 3 |
| 24 | 李金斗 | 男 | 19870905 | 4 |
| 25 | 劉青云 | 男 | 19870905 | 5 |
| 26 | 張靚穎 | 女 | 19870905 | 6 |
| 27 | 韓寒 | 男 | 19870905 | 7 |
| 28 | 李宇春 | 女 | 19870905 | 8 |
| 29 | 張靜初 | 女 | 19870905 | 9 |
| 30 | 莫文蔚 | 女 | 19870905 | 9 |
表 1????student 關系表
| 課程號 | 課程名 | 學分 | 課程類型 |
| 0 | 模式識別 | 2 | 講授 |
| 1 | C++編程 | 2 | 討論 |
| 2 | 計算機視覺 | 1 | 討論 |
| 3 | 密碼學 | 3 | 講授 |
| 4 | 數理分析 | 2 | 討論 |
| 5 | 英語 | 3 | 講授 |
| 6 | 聲樂 | 1 | 討論 |
| 7 | 控制理論 | 3 | 講授 |
| 8 | 信號處理 | 2 | 討論 |
| 9 | 物理學 | 3 | 講授 |
| 10 | 化學分析 | 1 | 討論 |
| 11 | 遺傳學 | 3 | 講授 |
| 12 | 數據結構 | 3 | 講授 |
| 13 | 通信工程 | 2 | 講授 |
| 14 | 隨機數學 | 3 | 講授 |
| 15 | 日語 | 2 | 講授 |
| 16 | 美術 | 1 | 討論 |
| 17 | 解剖學 | 1 | 討論 |
| 18 | 有機化學 | 1 | 討論 |
| 19 | 材料學 | 2 | 講授 |
| 20 | 流體力學 | 3 | 講授 |
| 21 | 復變函數 | 2 | 講授 |
| 22 | 市場營銷 | 3 | 講授 |
| 23 | 人力資源管理 | 3 | 講授 |
| 24 | 組織理論與設計 | 2 | 討論 |
| 25 | 證券投資學 | 2 | 講授 |
| 26 | 宏觀經濟學 | 1 | 討論 |
| 27 | 微觀經濟學 | 2 | 講授 |
| 28 | 管理學 | 2 | 講授 |
| 29 | 公司戰略 | 1 | 討論 |
| 30 | 德語 | 3 | 講授 |
| 31 | 西班牙語 | 2 | 講授 |
表 2????course 關系表
| 系號 | 系名 |
| 0 | 計算機系 |
| 1 | 自動化系 |
| 2 | 藝術系 |
| 3 | 通信系 |
| 4 | 外語系 |
| 5 | 物理系 |
| 6 | 化學系 |
| 7 | 數學系 |
| 8 | 生物系 |
| 9 | 管理系 |
表 3????department 關系表
| 課程號 | 學號 | 教師編號 | 選課成績 |
| 0 | 0 | 0 | 99 |
| 1 | 0 | 1 | 99 |
| 2 | 1 | 2 | 99 |
| 3 | 1 | 3 | 99 |
| 4 | 2 | 4 | 99 |
| 5 | 2 | 5 | 99 |
| 6 | 3 | 6 | 99 |
| 7 | 3 | 7 | 99 |
| 8 | 4 | 8 | 99 |
| 9 | 4 | 9 | 99 |
| 10 | 5 | 0 | 99 |
| 11 | 5 | 1 | 99 |
| 12 | 6 | 2 | 99 |
| 13 | 6 | 3 | 88 |
| 14 | 7 | 4 | 88 |
| 15 | 7 | 5 | 88 |
| 16 | 8 | 6 | 88 |
| 17 | 8 | 7 | 88 |
| 18 | 9 | 8 | 88 |
| 19 | 9 | 9 | 88 |
| 20 | 10 | 0 | 88 |
| 21 | 10 | 1 | 88 |
| 22 | 11 | 2 | 88 |
| 23 | 11 | 3 | 88 |
| 24 | 12 | 4 | 88 |
| 25 | 12 | 5 | 88 |
| 26 | 13 | 6 | 88 |
| 27 | 13 | 7 | 77 |
| 28 | 14 | 8 | 77 |
| 29 | 14 | 9 | 77 |
| 30 | 15 | 0 | 77 |
| 31 | 15 | 1 | 77 |
| 0 | 16 | 0 | 77 |
| 1 | 16 | 1 | 77 |
| 2 | 17 | 2 | 77 |
| 3 | 17 | 3 | 77 |
| 4 | 18 | 4 | 77 |
| 5 | 18 | 5 | 77 |
| 6 | 19 | 6 | 77 |
| 7 | 19 | 7 | 77 |
| 8 | 20 | 8 | 77 |
| 9 | 20 | 9 | 66 |
| 10 | 21 | 0 | 66 |
| 11 | 21 | 1 | 66 |
| 12 | 22 | 2 | 66 |
| 13 | 22 | 3 | 66 |
| 14 | 23 | 4 | 66 |
| 15 | 23 | 5 | 66 |
| 16 | 24 | 6 | 66 |
| 17 | 24 | 7 | 66 |
| 18 | 25 | 8 | 66 |
| 19 | 25 | 9 | 66 |
| 20 | 26 | 0 | 66 |
| 21 | 26 | 1 | 66 |
| 22 | 27 | 2 | 66 |
| 23 | 28 | 3 | 66 |
| 24 | 28 | 4 | 66 |
| 25 | 29 | 5 | 66 |
| 26 | 29 | 6 | 66 |
| 27 | 30 | 7 | 66 |
| 28 | 30 | 8 | 55 |
| 29 | 27 | 9 | 55 |
| 30 | 26 | 0 | 55 |
| 31 | 30 | 1 | 55 |
表 4????selectcourse 關系表
| 教師編號 | 教師姓名 | 職稱 | 所在院系號 |
| 0 | 牛根生 | 教授 | 0 |
| 1 | 王石 | 教授 | 1 |
| 2 | 馬化騰 | 副教授 | 2 |
| 3 | 周鴻祎 | 副教授 | 3 |
| 4 | 馬云 | 教授 | 4 |
| 5 | 柳傳志 | 教授 | 5 |
| 6 | 史玉柱 | 副教授 | 6 |
| 7 | 王建宙 | 教授 | 7 |
| 8 | 李彥宏 | 副教授 | 8 |
| 9 | 周小川 | 教授 | 9 |
| 10 | 王健林 | 教授 | 0 |
| 11 | 李開復 | 教授 | 1 |
表 5????teacher 關系表
| 教師編號 | 課程號 |
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 0 | 10 |
| 1 | 11 |
| 2 | 12 |
| 3 | 13 |
| 4 | 14 |
| 5 | 15 |
| 6 | 16 |
| 7 | 17 |
| 8 | 18 |
| 9 | 19 |
| 0 | 20 |
| 1 | 21 |
| 2 | 22 |
| 3 | 23 |
| 4 | 24 |
| 5 | 25 |
| 6 | 26 |
| 7 | 27 |
| 8 | 28 |
| 9 | 29 |
| 0 | 30 |
| 1 | 31 |
表 6????teach 關系表
1. 查詢所有學生所選的所有課程名、成績
查詢語句如下:
SELECT C.學生姓名, B.課程名, A.選課成績
FROM selectcourse AS A, course AS B, student AS C
WHERE A.課程號=B.課程號 AND A.學號=C.學號
查詢結果如表 7 7 7 所示:
| 學生姓名 | 課程名 | 選課成績 |
| 張三 | 模式識別 | 99 |
| 湯唯 | 模式識別 | 77 |
| 張三 | C++編程 | 99 |
| 湯唯 | C++編程 | 77 |
| 李四 | 計算機視覺 | 99 |
| 范冰冰 | 計算機視覺 | 77 |
| 李四 | 密碼學 | 99 |
| 范冰冰 | 密碼學 | 77 |
| 王五 | 數理分析 | 99 |
| 李冰冰 | 數理分析 | 77 |
| 王五 | 英語 | 99 |
| 李冰冰 | 英語 | 77 |
| 趙六 | 聲樂 | 99 |
| 趙本山 | 聲樂 | 77 |
| 趙六 | 控制理論 | 99 |
| 趙本山 | 控制理論 | 77 |
| 李德 | 信號處理 | 99 |
| 郭德綱 | 信號處理 | 77 |
| 李德 | 物理學 | 99 |
| 郭德綱 | 物理學 | 66 |
| 王和 | 化學分析 | 99 |
| 于謙 | 化學分析 | 66 |
| 王和 | 遺傳學 | 99 |
| 于謙 | 遺傳學 | 66 |
| 田亮 | 數據結構 | 99 |
| 岳云鵬 | 數據結構 | 66 |
| 田亮 | 通信工程 | 88 |
| 岳云鵬 | 通信工程 | 66 |
| 周潤發 | 隨機數學 | 88 |
| 姜昆 | 隨機數學 | 66 |
| 周潤發 | 日語 | 88 |
| 姜昆 | 日語 | 66 |
| 劉德華 | 美術 | 88 |
| 李金斗 | 美術 | 66 |
| 劉德華 | 解剖學 | 88 |
| 李金斗 | 解剖學 | 66 |
| 謝霆鋒 | 有機化學 | 88 |
| 劉青云 | 有機化學 | 66 |
| 謝霆鋒 | 材料學 | 88 |
| 劉青云 | 材料學 | 66 |
| 鄧超 | 流體力學 | 88 |
| 張靚穎 | 流體力學 | 66 |
| 鄧超 | 復變函數 | 88 |
| 張靚穎 | 復變函數 | 66 |
| 劉翔 | 市場營銷 | 88 |
| 韓寒 | 市場營銷 | 66 |
| 劉翔 | 人力資源管理 | 88 |
| 李宇春 | 人力資源管理 | 66 |
| 姚明 | 組織理論與設計 | 88 |
| 李宇春 | 組織理論與設計 | 66 |
| 姚明 | 證券投資學 | 88 |
| 張靜初 | 證券投資學 | 66 |
| 高峰 | 宏觀經濟學 | 88 |
| 張靜初 | 宏觀經濟學 | 66 |
| 高峰 | 微觀經濟學 | 77 |
| 莫文蔚 | 微觀經濟學 | 66 |
| 史東鵬 | 管理學 | 77 |
| 莫文蔚 | 管理學 | 55 |
| 史東鵬 | 公司戰略 | 77 |
| 韓寒 | 公司戰略 | 55 |
| 郭晶晶 | 德語 | 77 |
| 張靚穎 | 德語 | 55 |
| 郭晶晶 | 西班牙語 | 77 |
| 莫文蔚 | 西班牙語 | 55 |
表 7????所有學生所選的所有課程名、成績查詢結果
2. 查詢 somestucent 表中學生所選的所有課程名、成績
somestudent 表給出學生名:
| 學生姓名 |
| 韓寒 |
| 李宇春 |
| 莫文蔚 |
表 8????somestudent 關系表
查詢語句如下:
SELECT D.學生姓名, B.課程名, A.選課成績
FROM selectcourse AS A, course AS B, student AS C, somestudent AS D
WHERE A.課程號=B.課程號 AND C.學生姓名=D.學生姓名 AND A.學號=C.學號
查詢結果如表 9 9 9 所示:
| 學生姓名 | 課程名 | 選課成績 |
| 韓寒 | 市場營銷 | 66 |
| 李宇春 | 人力資源管理 | 66 |
| 李宇春 | 組織理論與設計 | 66 |
| 莫文蔚 | 微觀經濟學 | 66 |
| 莫文蔚 | 管理學 | 55 |
| 韓寒 | 公司戰略 | 55 |
| 莫文蔚 | 西班牙語 | 55 |
表 9????somestucent 表中學生所選的所有課程名、成績查詢結果
3. 查詢 somestudent 表中學生的累計學分(未及格的不算)
查詢語句如下:
SELECT D.學生姓名, SUM(B.學分) AS '累計學分'
FROM selectcourse AS A, course AS B, student AS C, somestudent AS D
WHERE A.課程號=B.課程號 AND C.學生姓名=D.學生姓名 AND A.學號=C.學號 AND A.選課成績 >= 60
GROUP BY C.學號
查詢結果如表 10 10 10 所示:
| 學生姓名 | 累積學分 |
| 韓寒 | 3 |
| 李宇春 | 5 |
| 莫文蔚 | 2 |
表 10????somestudent 表中學生的累計學分查詢結果
4. 查詢 somecourse 表中課程的平均成績
somecourse 表給出課程名:
| 課程名 |
| 模式識別 |
| 數據結構 |
| 英語 |
表 11????somescourse 關系表
查詢語句如下:
SELECT C.課程名, AVG(A.選課成績) AS '課程平均成績'
FROM selectcourse AS A, course AS B, somecourse AS C
WHERE A.課程號=B.課程號 AND B.課程名=C.課程名
GROUP BY C.課程名
查詢結果如表 12 12 12 所示:
| 課程名 | 課程平均成績 |
| 模式識別 | 88.0 |
| 數據結構 | 82.5 |
| 英語 | 88.0 |
表 12????somecourse 表中課程的平均成績查詢結果
5. 各門課按平均成績排序(降序,若改為升序,只需要將 DESC 換為 ASC)
查詢語句如下:
SELECT B.課程名, AVG(A.選課成績) AS '平均成績'
FROM selectcourse AS A, course AS B
WHERE A.課程號=B.課程號
GROUP BY A.課程號
ORDER BY 平均成績 DESC
查詢結果如表 13 13 13 所示:
| 課程名 | 平均成績 |
| 信號處理 | 88.0 |
| 模式識別 | 88.0 |
| C++編程 | 88.0 |
| 計算機視覺 | 88.0 |
| 密碼學 | 88.0 |
| 數理分析 | 88.0 |
| 英語 | 88.0 |
| 聲樂 | 88.0 |
| 控制理論 | 88.0 |
| 物理學 | 82.5 |
| 化學分析 | 82.5 |
| 遺傳學 | 82.5 |
| 數據結構 | 82.5 |
| 宏觀經濟學 | 77.0 |
| 解剖學 | 77.0 |
| 有機化學 | 77.0 |
| 材料學 | 77.0 |
| 流體力學 | 77.0 |
| 復變函數 | 77.0 |
| 市場營銷 | 77.0 |
| 通信工程 | 77.0 |
| 人力資源管理 | 77.0 |
| 隨機數學 | 77.0 |
| 組織理論與設計 | 77.0 |
| 日語 | 77.0 |
| 證券投資學 | 77.0 |
| 美術 | 77.0 |
| 微觀經濟學 | 71.5 |
| 管理學 | 66.0 |
| 公司戰略 | 66.0 |
| 德語 | 66.0 |
| 西班牙語 | 66.0 |
表 13????各門課按平均成績排序查詢結果
6. 顯示所有的課程名和講課教師名
查詢語句如下:
SELECT B.課程名, C.教師姓名
FROM teach AS A, course AS B, teacher AS C
WHERE A.課程號=B.課程號 AND A.教師編號=C.教師編號
查詢結果如表 14 14 14 所示:
| 課程名 | 教師姓名 |
| 模式識別 | 牛根生 |
| C++編程 | 王石 |
| 計算機視覺 | 馬化騰 |
| 密碼學 | 周鴻祎 |
| 數理分析 | 馬云 |
| 英語 | 柳傳志 |
| 聲樂 | 史玉柱 |
| 控制理論 | 王建宙 |
| 信號處理 | 李彥宏 |
| 物理學 | 周小川 |
| 化學分析 | 牛根生 |
| 遺傳學 | 王石 |
| 數據結構 | 馬化騰 |
| 通信工程 | 周鴻祎 |
| 隨機數學 | 馬云 |
| 日語 | 柳傳志 |
| 美術 | 史玉柱 |
| 解剖學 | 王建宙 |
| 有機化學 | 李彥宏 |
| 材料學 | 周小川 |
| 流體力學 | 牛根生 |
| 復變函數 | 王石 |
| 市場營銷 | 馬化騰 |
| 人力資源管理 | 周鴻祎 |
| 組織理論與設計 | 馬云 |
| 證券投資學 | 柳傳志 |
| 宏觀經濟學 | 史玉柱 |
| 微觀經濟學 | 王建宙 |
| 管理學 | 李彥宏 |
| 公司戰略 | 周小川 |
| 德語 | 牛根生 |
| 西班牙語 | 王石 |
表 14????所有的課程名和講課教師名查詢結果