廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告_第1頁
廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告_第2頁
廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告_第3頁
廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告_第4頁
廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——廣工工業(yè)大學數(shù)據(jù)庫試驗指導及報告

編號:2023版

《數(shù)據(jù)庫原理及應(yīng)用》

試驗報告

試驗時間:2023-2023春季試驗班級:自動化電氣09級班試驗報告總份(片)數(shù):份(片)試驗教師:鮑芳

試驗中心508試驗室

廣東工業(yè)大學

試驗報告(范本,非設(shè)計性試驗)

要求采用學校的試驗報告書(16開)。如打印也應(yīng)采用試驗報告書的版頭(A4紙),不接受電子版!每份試驗報告必需包含以下5項:一、試驗?zāi)康呐c要求

(按試驗指導書“試驗?zāi)康抹曁顚懀?/p>

二、試驗方案

(按試驗指導書“試驗步驟〞及本文檔的試驗內(nèi)容要求填寫)

三、試驗結(jié)果和數(shù)據(jù)處理

(按試驗操作結(jié)果記錄填寫)

四、結(jié)論

(可根據(jù)試驗內(nèi)容給出所對應(yīng)數(shù)據(jù)庫理論要點)

五、問題與探討

(可回復思考題或試驗中遇到的問題及解決方法)

若在報告中描述你在試驗中遇到的問題及解決方案,將有機遇獲得額外加分!

廣東工業(yè)大學試驗報告

____自動化______學院__11電氣___專業(yè)__2__班成績評定_______學號_3111001262_姓名_張錦淇_(合____號___教師簽名_______

預(yù)習狀況操作狀況考勤狀況數(shù)據(jù)處理狀況試驗一題目數(shù)據(jù)庫系統(tǒng)設(shè)計第___周星期___第___節(jié)一、試驗?zāi)康呐c要求

把握數(shù)據(jù)庫的基本設(shè)計技術(shù),熟悉數(shù)據(jù)庫概念模型設(shè)計的每個任務(wù)步驟,并加深對關(guān)系數(shù)據(jù)庫概念和特點的理解。

要求學生根據(jù)周邊的實際狀況自選一個小型的數(shù)據(jù)庫應(yīng)用項目并深入到應(yīng)用項目的現(xiàn)實世界中進行系統(tǒng)分析和數(shù)據(jù)庫設(shè)計,例如選擇學生成績管理系統(tǒng)、圖書管理系統(tǒng)或倉庫管理系統(tǒng)等。

學生成績管理數(shù)據(jù)庫的基本要求:

1.能夠記錄學生的基本信息,包括學號、姓名、性別、出生日期及所屬學院;2.能夠記錄課程的基本信息,包括課程號,課程名,先行課號;3.能夠記錄學生選課狀況及選修課程的成績;

(學生成績管理系統(tǒng)及圖書管理系統(tǒng)數(shù)據(jù)庫應(yīng)用項目介紹可參見蔡延光《數(shù)據(jù)庫原理及應(yīng)用》第11章或苗雪蘭《數(shù)據(jù)庫原理及應(yīng)用》第5章)。

二、試驗方案

利用數(shù)據(jù)庫設(shè)計的5個步驟(識別實體、確定關(guān)系、列出屬性、確定鍵及屬性的域),對學生成績管理系統(tǒng)(必選)、圖書管理系統(tǒng)(可選)進行相關(guān)數(shù)據(jù)庫的數(shù)據(jù)建模及設(shè)計。

?使用ChenERD或鴨腳模型表示所設(shè)計的概念模型;?給出各表的關(guān)系結(jié)構(gòu)和表級約束;

?給出各屬性域的描述,包括物理描述和語義描述;

三、試驗結(jié)果和數(shù)據(jù)處理

1.識別實體,確定關(guān)系:

學生(學號、姓名、性別、出生日期、學院)課程(課程號、課程名、現(xiàn)行課號)選課(學號、課程號、成績)

說明:作為主鍵,學號必需存在學生表中、課程號必需存在課程表中。2.列出屬性及屬性的域1)學生表屬性學號姓名性別出生日期學院類型Char(20)Char(20)Char(20)smalldatetimeVarchar約束主鍵NULL男或女NULLNOTNULL

2)課程表屬性課程號課程名先行課號3)選課表學號課程號成績Char(20)Char(20)int外鍵外鍵0—100類型Char(20)Char(20)Char(20)約束主鍵NOTNULLNULL3.鴨腳模型

課程

學生學號(PK)姓名性別出生日期學院選課學號(FK)

課程號(FK)

成績

4.關(guān)系結(jié)構(gòu)和表級約束

最大基數(shù):學生與選課為M:N

課程與選課為1:N

最小基數(shù):學生與選課為1-0關(guān)系

課程與選課為1-0關(guān)系

表級約束:1)性別只可以取‘‘男’’或‘‘女’’

2)選課成績依靠于課程號和學生號

課程號(PK)課程名先行課程號四、結(jié)論

答:數(shù)據(jù)庫不僅僅是保存數(shù)據(jù),而且保存了數(shù)據(jù)之間的關(guān)系。多表之間存在約束條件,由業(yè)務(wù)的規(guī)則設(shè)定,多表保證了信息的完整性,每個表都有自己的主鍵,表中的外鍵要參照完整性約束。

五、問題與探討

1.關(guān)系數(shù)據(jù)庫中如何保存實體之間的關(guān)系?2.學生選課系統(tǒng)中屬性學號、課程號及成績采用哪種數(shù)據(jù)類型更好,數(shù)值型還是字符型?為什么?3.在所設(shè)計的數(shù)據(jù)模型中表達的業(yè)務(wù)規(guī)則是什么?

1.答:通過表和表中放置外鍵來保存關(guān)聯(lián)表之間的聯(lián)系。

2.答:學號,課程號采用數(shù)值型的數(shù)據(jù)更好,可以防止學生在輸入學號的時候出錯。

3.答:表達出來的業(yè)務(wù)規(guī)則是:首先要有學生號和課程號,才能在選課表中生成一個記錄(參照完整性約束)。其次,一個學生可以選擇多門課,也可以不選課;一門課可以被多個學生選擇,也可以沒有學生選擇。

___自動化__學院___11電氣___專業(yè)__2___班成績評定_______學號_3111001262_姓名_張錦淇_(合____號____)教師簽名_______

預(yù)習狀況操作狀況考勤狀況數(shù)據(jù)處理狀況試驗四題目數(shù)據(jù)庫的簡單查詢和連接查詢試驗第___周星期___第___節(jié)一、試驗?zāi)康呐c要求

要求熟練把握和使用SQL、SQLServer企業(yè)管理器向數(shù)據(jù)庫輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)操作。

二、試驗方案

1.2.3.4.5.6.7.

通過SQLServer查詢分析器實現(xiàn)對學生成績管理數(shù)據(jù)庫的以下簡單查詢和連接查詢:求數(shù)學系學生的學號和姓名;求選修了課程的學生學號;

求選修課程C1的學生學號和成績,并要求對查詢結(jié)果按成績降序排列,假使成績一致則按學號升序排列;

求選修課程C1且成績在80~90分之間的學生學號和成績,并將成績乘以系數(shù)0.8輸出;求數(shù)學系或計算機系姓張的學生的信息;求缺少了成績的學生的學號和課程號;查詢每門課程的先行課程名;

三、試驗結(jié)果和數(shù)據(jù)處理

1.求數(shù)學系學生的學號和姓名

select姓名,學號from學生where學院='數(shù)學系'

2.求選修了課程的學生學號

selectdistinct學號from選課where課程號isnotnull

3.求選修課程C1的學生學號和成績,并要求對查詢結(jié)果按成績降序排列,假使成績一致則按學

號升序排列

select學號,成績from選課where課程號='001'orderby成績desc,學號

4.求選修課程C1且成績在80~90分之間的學生學號和成績,并將成績乘以系數(shù)0.8輸出

select學號,0.8*成績from選課where(課程號='001')and(成績between80and90)

5.求數(shù)學系或計算機系姓張的學生的信息

select*from學生where學院in('數(shù)學系','計算機系')

6.求缺少了成績的學生的學號和課程號

select學號,課程號from選課where成績isnull

7.查詢每門課程的先行課程名

select課程名,先行課號from課程

四、結(jié)論

關(guān)系數(shù)據(jù)庫方法的主要優(yōu)點之一就是它能夠十分靈活地檢索數(shù)據(jù)。基本上能夠以任何方式查看數(shù)據(jù)庫中的數(shù)據(jù)。關(guān)鍵在于能夠正確寫出SQL語言。在關(guān)系數(shù)據(jù)庫中有三個核心的檢索操作:選擇、投影和連接。

五、問題與探討

1、如何提高數(shù)據(jù)查詢和連接速度?對索引優(yōu)化,建索引的選擇必需結(jié)合SQL查詢、修改、刪除語句的需要,一般的說法是在WHERE里經(jīng)常出現(xiàn)的字段建索引。假使在WHERE經(jīng)常是幾個字段一起出現(xiàn)而且是用AND連接的,那就應(yīng)當建這幾個字段一起的聯(lián)合索引,而且次序也需要考慮,一般是最常出現(xiàn)的放前面。2、描述試驗中遇到的問題及解決方法

在進行其次個試驗任務(wù)時,假使不在學號前面加distinct,會出現(xiàn),每選修一次課,學號會出現(xiàn)一次,若一個人選修了幾門,他的學號會重復出現(xiàn)。加上distinct后,就能實現(xiàn)凡是選修了課學號就出現(xiàn)一次。

廣東工業(yè)大學試驗報告

__自動化__學院__11電氣_專業(yè)__2___班成績評定_______學號_3111001262_姓名_張錦淇_(合____號____)教師簽名_______

預(yù)習狀況操作狀況考勤狀況數(shù)據(jù)處理狀況試驗五題目數(shù)據(jù)庫的嵌套查詢試驗第___周星期___第___節(jié)一、試驗?zāi)康呐c要求

進一步把握SQLServer查詢分析器的使用方法,加深SQL語言的嵌套查詢語句的理解。

二、試驗方案

通過SQLServer查詢分析器實現(xiàn)對數(shù)據(jù)庫的以下嵌套查詢,并嘗試用多種形式表示試驗中的查詢語句,并進行比較。

1、求選修了高等數(shù)學的學生學號和姓名;

2、求C1課程的成績高于張三的C1課程成績的學生學號和成績;3、求選修C2課程的學生姓名;4、求沒有選修C2課程的學生姓名;

5、求選修C1課程而沒有選修C2課程的學生姓名;

三、試驗結(jié)果和數(shù)據(jù)處理

1.求選修了高等數(shù)學的學生學號和姓名

select學號,姓名from學生where學號in(select學號from選課where課程號in

(select課程號from課程where課程名='高等數(shù)學'))

2.求C1課程的成績高于張三的C1課程成績的學生學號和成績

select學號,成績from選課where課程號='C1'and成績>(select成績from選課where課程號='C1'and學號in(select學號from學生where姓名='張三'))

3.求選修C2課程的學生姓名

select姓名from學生where學號in(select學號from選課where課程號='C2')

4.求沒有選修C2課程的學生姓名

select姓名from學生where學號notin(select學號from選課where課程號='C2')

5.求選修C1課程而沒有選修C2課程的學生姓名

select姓名from學生where學號in(select學號from選課where課程號='C1')and學號notin(select學號from選課where課程號='C2')

四、結(jié)論

對索引優(yōu)化,建索引的選擇必需結(jié)合SQL查詢、修改、刪除語句的需要,一般的說法是在WHERE里經(jīng)常出現(xiàn)的字段建索引。假使在WHERE經(jīng)常是幾個字段一起出現(xiàn)而且是用AND連接的,那就應(yīng)當建這幾個字段一起的聯(lián)合索引,而且次序也需要考慮,一般是最常出現(xiàn)的放前面。

五、問題與探討

1、嵌套查詢和連接查詢有何區(qū)別?在本試驗的查詢?nèi)蝿?wù)中,哪些是可以由嵌套查詢和連接查

詢實現(xiàn)?

當查詢同時涉及兩個以上的表時,稱為連接查詢。連接查詢包括等值連接查詢、自然連接查詢、非等值連接查詢、自身連接查詢、外連接查詢和復合條件查詢。

在SQL語言中,一個SELECT-FROM-WHERE語句稱為一個查詢塊,將一個查詢塊嵌套在另外一個查詢塊的WHERE字句或HAVING短語的條件中的查詢稱為嵌套查詢。連接查詢:求選修了高等數(shù)學的學生學號和姓名,求選修C2課程的學生姓名。

嵌套查詢:求C1課程的成績高于張三的C1課程成績的學生學號和成績,求選修C1課程

而沒有選修C2課程的學生姓名

2、描述試驗中遇到的問題及解決方法

在寫SQL語句使由于空格,半角標點等問題系統(tǒng)經(jīng)常出錯,經(jīng)過排查后,知道以后寫SQL時格式要注意的內(nèi)容。

廣東工業(yè)大學試驗報告

__自動化___學院__11電氣__專業(yè)_2_班成績評定_______學號_3111001262_姓名_張錦淇_(合____號____)教師簽名_______

預(yù)習狀況操作狀況考勤狀況數(shù)據(jù)處理狀況試驗六數(shù)據(jù)庫統(tǒng)計查詢試驗第___周星期___第___節(jié)一、試驗?zāi)康呐c要求

熟悉把握SQLServer查詢分析器的使用方法,加深對SQL語言查詢語句的理解,熟悉把握數(shù)據(jù)查詢中的分組和統(tǒng)計的操作方法。

二、試驗方案

1.2.3.4.5.6.7.8.

通過SQLServer查詢分析器實現(xiàn)以下對數(shù)據(jù)庫的統(tǒng)計查詢;用SQL語句實現(xiàn)學生人數(shù)的統(tǒng)計;

用SQL語句實現(xiàn)計算機系學生人數(shù)的統(tǒng)計;用SQL語句實現(xiàn)各系學生人數(shù)的統(tǒng)計;用SQL語句統(tǒng)計選修某課程學生的人數(shù);用SQL語句統(tǒng)計選修了課程的學生的人數(shù);用SQL語句統(tǒng)計被選課程及選修該課程的人數(shù);用SQL語句統(tǒng)計每個學生全部課程的平均成績;用SQL語句統(tǒng)計選修課超過3門課的學生學號;(可選)

三、試驗結(jié)果和數(shù)據(jù)處理

1.用SQL語句實現(xiàn)學生人數(shù)的統(tǒng)計

selectcount(*)as學生人數(shù)from學生

2.用SQL語句實現(xiàn)計算機系學生人數(shù)的統(tǒng)計

selectcount(*)as計算機系人數(shù)from學生where學院='計算機系'

3.用SQL語句實現(xiàn)各系學生人數(shù)的統(tǒng)計

select學院,count(*)as學生人數(shù)from學生groupby學院

4.用SQL語句統(tǒng)計選修某課程學生的人數(shù)

selectcount(*)as微機原理課程人數(shù)from學生where學號in(select學號from選課where課程號in(select課程號from課程where課程名='微機原理'))

5.用SQL語句統(tǒng)計選修了課程的學生的人數(shù)

selectcount(*)as已選修課程人數(shù)from學生where學號in(select學號from選課where課程號isnotnull)

6.用SQL語句統(tǒng)計被選課程及選修該課程的人數(shù)

select課程號,count(學號)as學生人數(shù)from選課groupby課程號

7.用SQL語句統(tǒng)計每個學生全部課程的平均成績

select學號,avg(成績)as平均成績from選課groupby學號

8.用SQL語句統(tǒng)計選修課超過3門課的學生學號

select學號from選課groupby學號havingcount(*)>3

四、結(jié)論

SQLServer包括好多內(nèi)置的函數(shù)。它們中的一些被稱為聚集函數(shù),聚集函數(shù)在結(jié)果

列表中提供匯總值。分組查詢使用GROUPBY字句。HAVING字句用于篩選分組的最終結(jié)果,只有滿足HAVING字句指定條件的組才輸出。

五、問題與探討

1、試用GROUPBY(分組條件)字句后,語句中的統(tǒng)計函數(shù)的運行結(jié)果有什么不同?運行結(jié)果會根據(jù)GROUPBY字句中的條件進行一定順序的排列。2、描述試驗中遇到的問題及解決方法對groupby語句還不太了解如何使用,經(jīng)過本試驗,知道此語句是使結(jié)果依照指定的順序排列。

廣東工業(yè)大學試驗報告

_自動化____學院__11電氣_____專業(yè)_2__班成績評定_______學號__張錦淇__姓名_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論