【數據挖掘】國科大蘇桂平老師數據庫新技術課程作業 —— 第三次作業

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張三198706100
1李四198706101
2王五198706102
3趙六198706103
4李德198706104
5王和198706105
6田亮198706106
7周潤發198706107
8劉德華198706108
9謝霆鋒198706109
10鄧超198706100
11劉翔198602141
12姚明198602142
13高峰198602143
14史冬鵬198602144
15郭晶晶198602145
16湯唯198602146
17范冰冰198602147
18李冰冰198602148
19趙本山198602149
20郭德綱198602140
21于謙198602141
22岳云鵬198708142
23姜昆198709053
24李金斗198709054
25劉青云198709055
26張靚穎198709056
27韓寒198709057
28李宇春198709058
29張靜初198709059
30莫文蔚198709059

表 1????student 關系表

課程號課程名學分課程類型
0模式識別2講授
1C++編程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 關系表

課程號學號教師編號選課成績
00099
10199
21299
31399
42499
52599
63699
73799
84899
94999
105099
115199
126299
136388
147488
157588
168688
178788
189888
199988
2010088
2110188
2211288
2311388
2412488
2512588
2613688
2713777
2814877
2914977
3015077
3115177
016077
116177
217277
317377
418477
518577
619677
719777
820877
920966
1021066
1121166
1222266
1322366
1423466
1523566
1624666
1724766
1825866
1925966
2026066
2126166
2227266
2328366
2428466
2529566
2629666
2730766
2830855
2927955
3026055
3130155

表 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 關系表

教師編號課程號
00
11
22
33
44
55
66
77
88
99
010
111
212
313
414
515
616
717
818
919
020
121
222
323
424
525
626
727
828
929
030
131

表 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????所有的課程名和講課教師名查詢結果

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210065.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

汽車網絡安全--ISO\SAE 21434解析(一)

目錄 1.標準總覽 2.示例分析 2015年美國黑帽大會,知名網絡安全專家Charlie Miller和Chris Valasek詳細描述了他們是如何在有限距離下通過WiFI入侵到Jeep大切諾基的中控系統,從此關于汽車網絡安全的討論拉開了序幕。 2016 年,ISO 道路車輛技術委員會與 SAE 聯合成立 SC32/…

【算法每日一練]-結構優化(保姆級教程 篇5 樹狀數組)POJ3067日本 #POJ3321蘋果樹 #POJ2352星星

目錄 今天知識點 求交點轉化求逆序對,每次操作都維護一個y點的前綴和 樹的變動轉化成一維數組的變動,利用時間戳將節點轉化成區間 先將y排序,然后每加入一個就點更新求一次前綴和 POJ3067:日本 思路: POJ3321蘋…

案例063:基于微信小程序的傳染病防控宣傳系統

文末獲取源碼 開發語言:Java 框架:springboot JDK版本:JDK1.8 數據庫:mysql 5.7 開發軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發軟件:HBuilder …

leetcode系列:反轉鏈表的形象表示

反轉鏈表是一道比較簡單的題,主要考察的是對鏈表數據結構的理解和雙指針應用,比較容易出錯的地方是指針的移動順序。在練習的過程中想到了一個比較形象的表示方法,于是記錄下來。 # Definition for singly-linked list. # class ListNode: #…

地理信息系統概論

地理信息系統概論 第一章導論第二章地理信息系統的數據結構第三章空間數據的處理第四章地理信息系統空間數據庫第五章空間分析的原理與方法第六章地理信息系統的應用模型第七章地理信息系統的設計與評價第八章地理信息系統產品的輸出與設計 第一章導論 數據與信息的關系&#…

Java基礎-java.util.Scanner接收用戶輸入

目錄 1. 導入所需要的jar包2. 編寫代碼運行3. 輸出運行結果 1. 導入所需要的jar包 import java.util.Scanner;2. 編寫代碼運行 public class ScannerDemo {public static void main(String[] args) {/** 使用Scanner接收用戶鍵盤輸入的數據* 1. 導包:告訴程序去JD…

【Python】translate包報錯RuntimeError: generator raised StopIteration

根據網上有些教程,使用translate包翻譯稍微復雜語句的時候,會報錯RuntimeError: generator raised StopIteration 實際測試之后發現,主要是from_lang、to_lang兩個參數的設置有問題,比如有人說中文寫"Chinese"、"Z…

Mysql、Oracle安全項檢查表及操作腳本

軟件開發全資料獲取:點我獲取 Mysql檢查表 Oracle檢查表

【華為OD題庫-073】字符串變換最小字符串-java

題目 題目描述: 給定一個字符串s,最多只能進行一次變換,返回變換后能得到的最小字符串(按照字典序進行比較)。變換規則:交換字符串中任意兩個不同位置的字符。 輸入描述: —串小寫字母組成的字符串s 輸出描述: 按照要求進行變換得到的最小字符串 備注: s…

Anaconda建虛擬環境并在jupyter中打開

1.假設要用yaml格式創建虛擬環境 從開始里打開anaconda powersheel 輸入以下 conda env create -f environment.yaml conda activate env_name activate以下虛擬環境 修改名稱 如果不用yaml也可以用 conda create --name my_first_env python3.6 這個來指定 2.(base)變(…

C語言 位運算符 + 應用

常用的位運算符 按位與 快速判斷整數的奇偶性 奇數的二進制表示的最低位為1,偶數的二進制表示的最低位為0。 int num 9; if (num & 1) {// num 是奇數 } else {// num 是偶數 }按位異或 交換兩個變量的值 int a 5; int b 7; a a ^ b; b a ^ b; a a ^ …

udemy angular decoration 自存

番外 為什么一個ts文件變成了component,因為它使用了components裝飾器 components is just a class,you export it so angular know how to use it 舉例:組件裝飾器 decoration前總是有一個符號 decoration的作用(之一?) NgModu…

【漏洞復現】獅子魚任意文件上傳漏洞

漏洞描述 獅子魚CMS(Content Management System)是一種網站管理系統,旨在幫助用戶更輕松地創建和管理網站。它具有用戶友好的界面和豐富的功能,包括頁面管理、博客、新聞、產品展示等。 獅子魚CMS使用簡單直觀的管理界面,使得網站所有者可以方便地進行內容的發布、管理和…

深入探索 Java 反射機制

文章目錄 什么是 Java 反射?反射的核心類和接口反射的基本用法獲取 Class 對象的三種方式創建對象實例訪問字段和方法調用構造方法 反射的使用場景注意事項結語 Java反射(Reflection)是指在運行時獲取類的信息,特別是獲取其屬性、…

分享一個用C#寫的Aspose.Words生成word的工具類

公共類 標題樣式 字體大小 margin設置 標題 h1-h6 namespace Common.Bo {public class TitleStyle{/// <summary>/// 標題樣式/// </summary>/// <param name"tag"></param>/// <param name"fontSize"></param>/// &…

使用 Tailwind CSS 完成導航欄效果

使用 Tailwind CSS 完成導航欄效果 本文將向您介紹如何使用 Tailwind CSS 創建一個漂亮的導航欄。通過逐步演示和示例代碼&#xff0c;您將學習如何使用 Tailwind CSS 的類來設計和定制導航欄的樣式。 準備工作 在開始之前&#xff0c;請確保已經安裝了 Tailwind CSS。如果沒…

求小球落地5次后所經歷的路程和第5次反彈的高度

假設一個球從任意高度自由落下&#xff0c;每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地時&#xff0c;共經歷多少米?第5次反彈多高&#xff1f; 數據范圍&#xff1a;輸入的小球初始高度滿足1≤n≤1000 &#xff0c;且保證是一個整數。 輸入描述&#xff1a;輸入…

JavaScript-自定義屬性

自定義屬性 語法&#xff1a; 定義&#xff1a; <div class"box" data-id"666"></div> //獲取&#xff1a; <script>const div document.querySelector(.box);console.log(div.dateset.id);//輸出666 </script>

Node CLI 之 Commander.js (1)

官網地址&#xff1a; https://github.com/tj/commander.js/blob/f1ae2db8e2da01d6efcbfd59cbf82202f864b0c1/Readme_zh-CN.md Commander.js是node.js命令行界面的完整解決方案 開始 新建一個node工程執行 npm install commanderpackage.json中新增代碼添加 #! /usr/bin/env…

Linux 詳細介紹strace命令

system call(系統調用)是程序向內核請求服務的一種編程方式&#xff0c;strace是一個功能強大的工具&#xff0c;可以跟蹤用戶進程和 Linux 內核之間的交互。 要了解操作系統如何工作&#xff0c;首先需要了解系統調用如何工作。操作系統的主要功能之一是為用戶程序提供了一個…