《數(shù)據(jù)庫原理》實驗_學(xué)生用20130305new
《《數(shù)據(jù)庫原理》實驗_學(xué)生用20130305new》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫原理》實驗_學(xué)生用20130305new(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 合肥師范學(xué)院 實驗報告冊 2013 / 2014 學(xué)年 第1 學(xué)期 系 別 計算機學(xué)院 實驗課程 數(shù)據(jù)庫原理 專 業(yè) 班 級 姓 名 學(xué) 號 指導(dǎo)教師 實驗名稱 課時 實驗報告成績 實驗(一)——數(shù)據(jù)庫基本操作 2 實驗(二)——SQL語句 6 實驗(三)——數(shù)據(jù)庫完整性與安全性實驗 4 實驗(四)——數(shù)據(jù)庫編程 4 備注: 《數(shù)據(jù)庫原理》實驗 班級:
2、 學(xué)號: 姓名: 實驗一 ——數(shù)據(jù)庫基本操作 一、 實驗?zāi)康? 1. 熟悉MS SQL SERVER運行界面,掌握服務(wù)器的基本操作。 2. 掌握界面操作方法完成用戶數(shù)據(jù)庫建立、備份和還原。 3. 建立兩個實驗用的數(shù)據(jù)庫,使用企業(yè)管理器和查詢分析器對數(shù)據(jù)庫和表進行基本操作。 二、 實驗預(yù)習(xí)內(nèi)容 在認(rèn)真閱讀教材及實驗指導(dǎo)書的基礎(chǔ)上,上機前請預(yù)習(xí)以下內(nèi)容,并在空白處填寫相應(yīng)的步驟或命令。 1. 熟悉SQL SERVER 2000 的運行環(huán)境,練習(xí)服務(wù)器基本操作:打開、停止、關(guān)閉。 2. 使用SQL SERVE
3、R 2000 中的企業(yè)管理器完成以下任務(wù)。 數(shù)據(jù)庫名稱:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES( cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 說明:以上為表結(jié)構(gòu),以sno char(9)為例,說明sno屬性設(shè)置為字符類型,寬度為9,int指整型數(shù)據(jù)。
4、 1) 建立數(shù)據(jù)庫STC,分別建立以上三張表,并完成數(shù)據(jù)錄入。(表結(jié)構(gòu)及數(shù)據(jù)參見教材) 2) 分析并建立各表的主碼,用下劃線在上面表結(jié)構(gòu)中標(biāo)出主碼。 3) 建立各表之間的關(guān)聯(lián),請簡述操作步驟。 4) 參考實驗指導(dǎo)書的【第5章 數(shù)據(jù)庫的備份和還原】,使用企業(yè)管理器對數(shù)據(jù)庫STC進行備份,并嘗試在個人電腦與機房電腦上進行還原,請簡述備份、還原操作的步驟。 3. 在SQL SERVER 2000 的查詢分析器中使用SQL語言完成以下任務(wù)。 參考實驗指導(dǎo)書《數(shù)據(jù)庫系統(tǒng)實驗指導(dǎo)教程》【實驗1.1 數(shù)據(jù)定義】,建立數(shù)據(jù)庫SCHOOL,分別
5、建立students、teachers、courses、choices四張表,表結(jié)構(gòu)見實驗指導(dǎo)書P236 【附錄A】。 1) 用SQL語言創(chuàng)建數(shù)據(jù)庫、建表。建表時為各表建立關(guān)鍵字、設(shè)置外碼,數(shù)據(jù)暫不錄入,請寫出對應(yīng)的SQL命令。 2) 為students表、courses建立按主鍵増序排列的索引,請寫出相應(yīng)的SQL命令。 3) 刪除course上的索引,請寫出相應(yīng)的SQL命令。 4) 在SCHOOL數(shù)據(jù)庫中的students表中增加一個“出生日期”字段,類型為日期時間型,
6、請寫出對應(yīng)的SQL命令。 5) 刪除students中的“出生日期”字段,請寫出對應(yīng)的SQL命令。 6) 刪除SCHOOL數(shù)據(jù)庫中的students表,請寫出對應(yīng)的SQL命令。 4. 使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫SCHOOL,實現(xiàn)內(nèi)容與實驗預(yù)習(xí)內(nèi)容3完全相同。 5. 使用企業(yè)管理器,將SCHOOL數(shù)據(jù)庫分離出MS SQL SERVER,請簡述步驟。 6. 使用企業(yè)管理器,使用【數(shù)據(jù)庫/所有任務(wù)/附加數(shù)據(jù)庫】將SCHOOL數(shù)據(jù)庫添加進SQL SERVER,并查看數(shù)據(jù)。 7. 使用查詢分析器,刪除數(shù)據(jù)庫STC,請寫出對
7、應(yīng)的SQL命令。 8. 結(jié)束本次實驗 三、 實驗課后訓(xùn)練 1. 使用企業(yè)管理器練習(xí)數(shù)據(jù)的導(dǎo)入導(dǎo)出。 1) 將SCHOOL數(shù)據(jù)庫students表中的數(shù)據(jù)導(dǎo)出到STC數(shù)據(jù)庫對應(yīng)的stu表中; 2) 向STC數(shù)據(jù)庫courses表導(dǎo)入SCHOOL數(shù)據(jù)庫courses表中的數(shù)據(jù); 3) 自行練習(xí)實驗指導(dǎo)書【實驗5.3 SQL SERVER數(shù)據(jù)庫的導(dǎo)入與導(dǎo)出】部分; 2. 自行練習(xí)實驗指導(dǎo)書【實驗1.1數(shù)據(jù)定義】部分。 四、 實驗報告 1. 簡述本次實驗所用到的SQL命令及其功能。 2. 在MS SQL SERVER中數(shù)據(jù)庫的“分離|添加”與“備份|還原”
8、是相同的功能嗎? 3. 實驗總結(jié)(實驗過程中出現(xiàn)的問題、解決方法、結(jié)果如何或其它) 實驗二——SQL語句 一、 實驗?zāi)康? 1. 熟悉SQL的數(shù)據(jù)查詢語言,能使用SQL進行單表查詢、連接查詢、嵌套查詢、集合查詢和統(tǒng)計查詢,能理解空值的處理; 2. 熟悉數(shù)據(jù)庫的數(shù)據(jù)更新操作,能使用SQL語句對數(shù)據(jù)庫進行數(shù)據(jù)的插入、更新、刪除操作; 3. 熟悉SQL支持的有關(guān)視圖的操作,能創(chuàng)建、查詢及取消視圖; 4. 了解NULL在數(shù)據(jù)庫中的特殊含義,掌握使用SQL進行與空值相關(guān)的操作; 二、 實驗預(yù)習(xí)內(nèi)容 在認(rèn)真閱讀教材及實驗指導(dǎo)書【實驗1.2 數(shù)據(jù)查詢】、【實驗1.3 數(shù)據(jù)更新】、【實驗
9、1.4 視圖】和【實驗1.6 空值和空集的處理】的基礎(chǔ)上,上機前請預(yù)習(xí)以下內(nèi)容,并在空白處填寫相應(yīng)的步驟或命令。 1. 使用SCHOOL數(shù)據(jù)庫,在SQL SERVER 2000 的查詢分析器中使用SQL語言完成以下操作。請在空白處填寫相應(yīng)的SQL命令。 1) 查詢年級為2001的所有學(xué)生的名稱,按編號順序排列; 2) 查詢所有課程名稱中含有data的課程編號; 3) 統(tǒng)計所有老師的平均工資; 4) 查詢至少選了3門課的學(xué)生編號; 5) 查詢學(xué)號為80009026的學(xué)生的姓名、所選課名及成績; 6) 查詢沒有學(xué)生選的課程編號; 7) 查詢既選了C++又選了Java課程的學(xué)生編號;
10、 8) 查詢選了C++但沒選Java課程的學(xué)生編號; 9) 向STUDENTS表中插入“LiMing”的個人信息(編號:700045678,名字:LiMing,Email:LX@,年級:1992); 10) 將“LiMing”的年級改為2002; 11) 刪除所有選了Java課程的學(xué)生選課記錄; 12) 求出每門課的課程號、選課人數(shù),結(jié)果存入數(shù)據(jù)庫表T1中。 13) 查詢所有選課記錄的成績并換算為五分制(注意NULL的情況); 14) 查詢成績小于0的選課記錄,統(tǒng)計總數(shù)、平均分、最大值和最小值(注意查詢結(jié)果中NULL的情況); 15) 按成績順序排序顯示CHOICES表中所有記
11、錄。(使用ORDER BY排序,注意NULL的情況); 16) 創(chuàng)建視圖V1,顯示學(xué)生姓名、所選課名稱、任課教師名; 17) 取消V1視圖; 2. 使用STC數(shù)據(jù)庫,在SQL SERVER 2000 的查詢分析器中使用SQL語言完成以下操作。請在空白處填寫相應(yīng)的SQL命令或其它內(nèi)容。 1) 創(chuàng)建視圖V2,顯示計算機(CS)系學(xué)生信息;(結(jié)合下面的b)小題,V2視圖創(chuàng)建2次,分別使用/不使用WITH CHECK OPTION選項) (1)不加WITH CHECK OPTION (2)加WITH CHECK OPTION 2) 插入元組(99999,張三,20歲,男,PH
12、)到V2中,運行結(jié)果如何?(觀察WITH CHECK OPTION對結(jié)果的影響); (1)不加WITH CHECK OPTION的結(jié)果 (2)加WITH CHECK OPTION的結(jié)果 3) 在V2基礎(chǔ)上,查詢所有計算機系女生信息; 3. 結(jié)束本次實驗 三、 實驗課后訓(xùn)練 1. 掌握SQL SERVER中流控制語句及其它常用編程語句; 1) 使用查詢分析器,編寫代碼,輸出乘法口訣表。 2. 自行練習(xí)實驗指導(dǎo)書P24【實驗1.2 數(shù)據(jù)查詢】1.2.5自我實踐部分; 3. 自行練習(xí)實驗指導(dǎo)書P30【實驗1.3 數(shù)據(jù)更新】1.3.5自我實踐部分; 4. 自行練習(xí)實
13、驗指導(dǎo)書P36【實驗1.4 視圖】1.4.5自我實踐部分; 5. 自行練習(xí)實驗指導(dǎo)書P49【實驗1.6 空值和空集的處理】1.6.5自我實踐部分; 四、 實驗報告 1. SQL SERVER中變量聲明的命令是什么?輸出命令是什么? 2. SQL SERVER中實現(xiàn)分支和循環(huán)的語句分別是什么? 3. 在SQL SERVER里使用ORDER BY排序時,NULL值如何處理?使用GROUP BY分組時,NULL值又如何處理的? 4. 實驗總結(jié)(實驗過程中出現(xiàn)的問題、解決方法、結(jié)果如何或其它) 實驗三——數(shù)據(jù)庫完整性與安全性 一、 實驗?zāi)康? 1. 理解實體完整性、參照完整性、用戶
14、自定義完整性的概念,學(xué)習(xí)三類完整性的實現(xiàn),了解違反完整性的結(jié)果; 2. 掌握MS SQL SERVER中的有關(guān)用戶登錄認(rèn)證及管理方法,熟練使用自主存取控制進行權(quán)限管理; 二、 實驗預(yù)習(xí)內(nèi)容 在認(rèn)真閱讀教材及實驗指導(dǎo)書【2.1 實體完整性】、【2.2 參照完整性】、【2.3 用戶自定義完整性】、【2.4 觸發(fā)器】、【2.5 綜合案例】和【3.1 用戶標(biāo)識與鑒別】、【3.2 自主存取控制】、【3.3 視圖機制在自主存取控制上的應(yīng)用】、【3.4 Public角色在安全性中的應(yīng)用】、【3.8 綜合案例】的基礎(chǔ)上,上機前請預(yù)習(xí)以下內(nèi)容,并在空白處填寫相應(yīng)的步驟或命令。 1. 使用SCHOOL
15、數(shù)據(jù)庫 1) 創(chuàng)建一張新表CLASS,包括Class_id(varchar(4)),Name(varchar(10)),Department(varchar(20))三個屬性列,其中Class_id為主碼; 2) 執(zhí)行兩次相同的插入操作(’0001’,’01csc’,’cs’),結(jié)果如何; 2. 使用SQL命令創(chuàng)建一張學(xué)生互助表,要求:包括學(xué)生編號、學(xué)生姓名、學(xué)生幫助對象的編號,每個學(xué)生有且僅有一個幫助對象,幫助的對象必須是已存在的學(xué)生。 3. 使用STC數(shù)據(jù)庫,修改設(shè)置,完成以下2種不同的要求,請寫出對應(yīng)的語句或簡述操作過程: 1) 當(dāng)更新、刪除STU表中記錄時,若SC表中有此學(xué)
16、生的記錄,則拒絕; 2) 當(dāng)更新、刪除STU表中記錄時,若SC表中有此學(xué)生的記錄,則自動更新或刪除; 4. 使用SQL命令完成以下任務(wù): 1) 創(chuàng)建Worker表(表結(jié)構(gòu)見指導(dǎo)書P73) 2) 定義約束U1、U2,其中U1規(guī)定Name字段取值唯一,U2規(guī)定sage字段上限是28; 3) 插入一條合法記錄; 4) 插入一條違反U2約束的記錄,簡述觀察到的結(jié)果如何?并分析原因; 5) 去除U1約束; 6) 修改約束U2,令sage的值大于等于0; 7) 創(chuàng)建規(guī)則rule_sex,規(guī)定更新或插入的值只能是M或F,并綁定到Worker的sex字段; 8) 插入2條記錄,一條滿足規(guī)則
17、rule_sex,一條違反規(guī)則,觀察結(jié)果。 5. 使用查詢分析器創(chuàng)建觸發(fā)器并測試,請寫出相應(yīng)的語句: 1) 為Worker表創(chuàng)建觸發(fā)器T1,當(dāng)插入或更新表中數(shù)據(jù)時,保證所操作記錄的sage大于0; 2) 為Worker表創(chuàng)建觸發(fā)器T2,禁止刪除編號為00001的記錄; 3) 為Worker表創(chuàng)建觸發(fā)器T3,要求更新一個記錄時,表中記錄的sage要比老記錄的sage的值大。 6. 分別用企業(yè)管理器和查詢分析器實現(xiàn)用戶的標(biāo)識并測試,請寫出相應(yīng)的操作過程或?qū)?yīng)的語句: 1) 設(shè)置SQL SERVER的安全認(rèn)證模式; 2) 建立名為“LiYong”的登錄用戶、數(shù)據(jù)庫用戶,默認(rèn)訪問SCHO
18、OL數(shù)據(jù)庫,密碼為“abcd”; 3) 取消“LiYong”用戶; 7. 先以sa帳號登錄,要實現(xiàn)如下表的權(quán)限管理,請按先后順序?qū)懗鱿鄳?yīng)的SQL語句(假設(shè)所有用戶尚未定義,其密碼均為123),并加以必要的說明。 編號 授權(quán)用戶名 被授權(quán)用戶名 數(shù)據(jù)庫對象名 允許的操作類型 能否轉(zhuǎn)授權(quán) 1 SA U1 Students SELECT 不能 2 SA U2 Students ALL 不能 3 SA PUBLIC Choices SELECT 不能 4 SA U3 Students SELECT 能 5 U3 U4 Studen
19、ts SELECT 能 6 U4 U5 Students SELECT 不能 7 SA U6 Choices INSERT 能 8 SA U7 Students.sname UPDATE 不能 8. 創(chuàng)建在SCHOOL數(shù)據(jù)庫中choices上的視圖CS_View,授權(quán)給計算機系講授課程號為’10010’的數(shù)據(jù)庫用戶“LiYong”,讓其具有視圖上的SELECT權(quán)限; 9. 對視圖CS_View上的score屬性列的UPDATE權(quán)限授予用戶“LiYong”,可以修改學(xué)生成績,但不能修改其它屬性列的值; 10. 假設(shè)SCHOOL數(shù)據(jù)庫中,每個學(xué)生的
20、登錄名都為自己在STUDENTS表中的sid,實現(xiàn)每個學(xué)生只能查詢自己選課信息,不能查詢別人的成績,也不能修改自己的成績。 11. 結(jié)束本次實驗 三、 實驗課后訓(xùn)練 1. 自行練習(xí)實驗指導(dǎo)書P81【實驗2.5 綜合案例】綜合案例1; 2. 自行練習(xí)實驗指導(dǎo)書P122【實驗3.8 綜合案例】綜合案例; 四、 實驗報告 1. 授權(quán)給public與授權(quán)給指定用戶有什么區(qū)別?實際應(yīng)用中,哪個更安全些? 2. SQL SERVER中的角色有什么作用? 3. 實驗總結(jié)(實驗過程中出現(xiàn)的問題、解決方法、結(jié)果如何或其它) 實驗四——數(shù)據(jù)庫編程 一、 實驗?zāi)康? 1. 掌握ODBC的
21、配置; 2. 能編寫簡單的存儲過程和函數(shù),并調(diào)用; 二、 實驗預(yù)習(xí)內(nèi)容 上機前請預(yù)習(xí)以下內(nèi)容,并在空白處填寫相應(yīng)的步驟或命令。 1. 配置ODBC,使用VFP中的表單,查詢SCHOOL數(shù)據(jù)庫中STUDENTS表中所有記錄。 2. 編寫存儲過程并調(diào)用,請寫出相應(yīng)命令; 1) 在查詢分析器中,編寫存儲過程usp_get_stuinfo ,使用一個名為@xm能夠傳送進存儲過程的參數(shù)。允許以學(xué)生的姓名查詢該生的基本信息; 2) 在查詢分析器中調(diào)用存儲過程查詢“趙飛”同學(xué)的基本信息的語句; 3. 編寫函數(shù)并調(diào)用,請寫出相應(yīng)命令; 1) 在查詢分析器中,定義內(nèi)聯(lián)表值函數(shù)Fun,用于返
22、回各職稱的教師基本信息; 2) 在查詢分析器中,使用Fun進行選擇以獲得“教授”職稱的教師基本信息; 3) 在查詢分析器中,編寫標(biāo)量函數(shù)Func,用于返回兩個整數(shù)中的最大值; 4) 在查詢分析器中,調(diào)用此函數(shù),輸出兩個數(shù)中的最大值; 5) 在SQL SERVER中定義函數(shù)FUNS,返回指定參數(shù)的平方,配置好ODBC后,在VFP中調(diào)用FUNS并輸出結(jié)果; 4. 結(jié)束本次實驗 三、 實驗課后訓(xùn)練 1. 自行學(xué)習(xí)實驗指導(dǎo)書P130【實驗4.1 SQL SERVER事務(wù)的定義】; 2. 自行學(xué)習(xí)實驗指導(dǎo)書P137【實驗4.2 SQL SERVER 2005事務(wù)與鎖】; 3. 自行練習(xí)實驗指導(dǎo)書P165【實驗4.6 游標(biāo)及游標(biāo)并發(fā)】;(P167 4.6.3 實驗內(nèi)容要完成) 四、 實驗報告 1. 什么是ODBC? 2. 內(nèi)聯(lián)表值函數(shù)、標(biāo)量函數(shù)、存儲過程有什么區(qū)別? 3. 實驗總結(jié)(實驗過程中出現(xiàn)的問題、解決方法、結(jié)果如何或其它) 20
- 溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案