




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、目錄每個實驗包括:實驗內(nèi)容實驗要求實驗環(huán)境 (可選 )實驗背景知識(可選 )實驗步驟及結(jié)果分析實驗總結(jié)1/15第一章概述數(shù)據(jù)庫課程的學習需要理論和實踐的緊密結(jié)合,數(shù)據(jù)庫實驗是數(shù)據(jù)庫學習的重要的環(huán)節(jié)。我們將針對數(shù)據(jù)庫學習的實驗環(huán)節(jié)進行實驗設置和指導,包括數(shù)據(jù)庫實驗需要的知識、環(huán)境和內(nèi)容的設置。數(shù)據(jù)庫課程的目標是:理解和掌握數(shù)據(jù)庫的理論知識。 學生理解數(shù)據(jù)庫系統(tǒng)的基本概念, 掌握數(shù)據(jù)庫系統(tǒng)的基本理論,包括數(shù)據(jù)庫的特點、結(jié)構(gòu)、關(guān)系數(shù)據(jù)模型、數(shù)據(jù)存儲、數(shù)據(jù)查詢及優(yōu)化、關(guān)系數(shù)據(jù)庫設計、事務管理等內(nèi)容。了解和熟悉數(shù)據(jù)庫的使用和基本操作, 掌握數(shù)據(jù)訪問方法。 在學生掌握基本的數(shù)據(jù)庫概念和理論的基礎上,培養(yǎng)學
2、生的實踐能力,學生能掌握基本的數(shù)據(jù)庫的操作。全面理解數(shù)據(jù)庫系統(tǒng), 能進行數(shù)據(jù)庫的設計, 最終能完成一個完整的數(shù)據(jù)庫應用系統(tǒng)的設計和實現(xiàn)。數(shù)據(jù)庫實驗是為上面的目標服務,其內(nèi)容的設置要和數(shù)據(jù)庫的理論學習結(jié)合起來。根據(jù)課程進展和學生掌握的數(shù)據(jù)庫系統(tǒng)知識的提高, 數(shù)據(jù)庫的實驗分為兩個大的部分。 一個是和課程緊密相關(guān)的 ,和課程同步的實驗,一是在數(shù)據(jù)庫設計理論結(jié)束或在課程理論教學完成后進行的數(shù)據(jù)庫系統(tǒng)的設計實驗。這里的實驗指導將是針對和數(shù)據(jù)庫的理論學習同步的課程實驗。課程實驗目的 :通過實驗加深學生對數(shù)據(jù)庫相關(guān)基本理論和概念的認識和理解, 通過對 SQL SERVER 的操作和使用,了解一種具體的數(shù)據(jù)庫
3、管理系統(tǒng),熟悉數(shù)據(jù)庫的操作,提高學生數(shù)據(jù)庫實踐能力。課程實驗環(huán)境:在 實 驗中 , 我 們 選 擇 Kingbase數(shù)據(jù)庫作為基本的 實驗環(huán)境,操作系統(tǒng)可以是Windows2000/XP, 在課程實驗中需要用到KingBase 的管理工具企業(yè)管理器,并用ISQL 語言完成實驗操作。實驗方式和要求:課程實驗要求每一個學生獨立完成;學生需要理解每一次實驗內(nèi)容,先掌握和了解相關(guān)的理論知識,然后制定實驗步驟,完成實驗內(nèi)容;課程實驗雖然分次完成, 但其在內(nèi)容上是連貫的, 前一次實驗的數(shù)據(jù)可能為后面的實驗所用,因此每一次實驗結(jié)果需要保留;實驗完后,要完成實驗報告,寫清楚實驗內(nèi)容、實驗步驟和實驗結(jié)果。實驗內(nèi)
4、容設置:課程基本實驗根據(jù)理論學習的內(nèi)容,包括如下8 組實驗:實驗一數(shù)據(jù)庫安裝、數(shù)據(jù)庫創(chuàng)建與維護實驗;實驗二數(shù)據(jù)庫表 /視圖的創(chuàng)建與維護實驗;實驗三數(shù)據(jù)查詢實驗;實驗四數(shù)據(jù)庫接口實驗;實驗五數(shù)據(jù)庫完整性與安全性實驗;實驗六數(shù)據(jù)查詢分析實驗;實驗七數(shù)據(jù)庫事務的創(chuàng)建與運行實驗;實驗八數(shù)據(jù)庫的備份與恢復實驗;2/15我們將在后面詳細給出每一次實驗的內(nèi)容和要求。第二章Kingbase 系統(tǒng)的主要內(nèi)容簡介 Kingbase 和實驗用到的管理工具。第三章ISQL 語言簡介實驗用到的ISQL 語句及語法。3/15第四章課程實驗內(nèi)容實驗一Kingbase安裝、數(shù)據(jù)庫創(chuàng)建與維護實驗實驗目的1通過對KINGBASE
5、的安裝和簡單使用:( 1)了解安裝 KINGBASE 的軟硬件環(huán)境和安裝方法;( 2)熟悉 KINGBASE 相關(guān)使用;( 3)熟悉 KINGBASE 的構(gòu)成和相關(guān)工具;( 4)通過 KINGBASE 的使用來理解數(shù)據(jù)庫系統(tǒng)的基本概念;2通過創(chuàng)建數(shù)據(jù)庫、并進行相應的維護,了解并掌握 Kingbase 數(shù)據(jù)庫的創(chuàng)建和維護的不同方法和途徑,并通過這一具體的數(shù)據(jù)庫理解實際數(shù)據(jù)庫所包含的各要素。實驗內(nèi)容1 Kingbase 安裝( 1) 在 windows2000/XP 上安裝并運行 Kingbase。( 2) 練習啟動和停止數(shù)據(jù)庫服務。( 3) 通過 Kingbase ES 交互式工具連接數(shù)據(jù)庫。(
6、 4) 熟悉 Kingbase ES 交互式工具的各項功能。( 5) 熟悉數(shù)據(jù)庫服務器的啟動和停止運行。( 6)指定具體的安裝位置。2數(shù)據(jù)庫創(chuàng)建與維護( 1) 創(chuàng)建學生選課數(shù)據(jù)庫。( 2) 對數(shù)據(jù)庫屬性和參數(shù)進行查詢、相應的修改和維護,內(nèi)容包括:- 最大連接數(shù)- 服務器端口- 共享緩存數(shù)- 為 DBA 保留的連接數(shù)- 死鎖檢測時間- 日志緩沖數(shù)- 設置系統(tǒng)同步寫( 3) 練習數(shù)據(jù)庫的刪除等維護;( 4) 用 Kingbase 管理工具和交互式的 ISQL 語句分別完成以上操作。4/15實驗要求及說明1SQL Server 的安裝實驗要求學生在微機上安裝SQL Server 數(shù)據(jù)庫系統(tǒng),為后續(xù)各
7、個實驗搭建實驗環(huán)境。2數(shù)據(jù)庫創(chuàng)建與維護實驗則要求面向具體應用領域,利用SQL Server 相關(guān)機制,創(chuàng)建并維護數(shù)據(jù)庫系統(tǒng),為后續(xù)各個實驗提供前期準備3要求學生根據(jù)以上要求確定實驗步驟,獨立完成以上實驗內(nèi)容。并在安裝和數(shù)據(jù)庫運行后熟悉 SQL SERVER 的各種運行管理。4實驗完成后完成實驗報告實驗步驟(待定)Kingbase 的安裝過程實驗報告要求實驗報告需要完成以下內(nèi)容:實驗目的描述本次實驗的目的。實驗平臺及環(huán)境介紹自己實驗所基于的軟硬件環(huán)境及所用到的工具。實驗內(nèi)容介紹本次實驗的具體內(nèi)容。實驗步驟根據(jù)實驗內(nèi)容和實驗過程情況介紹實驗步驟。實驗結(jié)果及分析對實驗結(jié)果進行總結(jié)和分析。說明建立的數(shù)
8、據(jù)庫的相關(guān)內(nèi)容,和維護后的相關(guān)屬性的改變。實驗小結(jié)總結(jié)本次實驗遇到的問題和心得。5/15實驗二數(shù)據(jù)庫表 /視圖的創(chuàng)建與維護實驗實驗目的1 通過進行數(shù)據(jù)庫表的建立操作,熟悉并掌握Kingbase 數(shù)據(jù)庫表的建立方法,理解關(guān)系數(shù)據(jù)庫表的結(jié)構(gòu),鞏固SQL 標準中關(guān)于數(shù)據(jù)庫表的建立語句。2 通過進行數(shù)據(jù)庫表數(shù)據(jù)的增加、刪除和插入等維護操作,熟悉并掌握Kingbase 數(shù)據(jù)庫數(shù)據(jù)的操作方法,鞏固SQL 中關(guān)于數(shù)據(jù)維護的語句3 通過對 Kingbase 中建立、維護視圖的實驗,熟悉Kingbase 中對視圖的操作方法和途徑,理解和掌握視圖的概念實驗內(nèi)容數(shù)據(jù)庫表實驗:( 1) 創(chuàng)建數(shù)據(jù)庫表創(chuàng)建學生選課數(shù)據(jù)庫
9、中所包含的數(shù)據(jù)庫表,數(shù)據(jù)庫表結(jié)構(gòu)如下:學生(學號,姓名,性別,年齡,系別,班級)課程(課程編號,課程名稱,學分)選修(學號,課程編號,學生成績)要求為各數(shù)據(jù)庫表屬性選擇合適的數(shù)據(jù)類型。列名、數(shù)據(jù)類型(長度列、精度、小數(shù)位數(shù)項)、是否允許空值等。( 2) 查看和修改表結(jié)構(gòu)。選擇一個數(shù)據(jù)庫表,練習對其表結(jié)構(gòu)進行相應的修改。( 3) 練習用交互式的 SQL 語句分別完成以上操作。( 4) 對學生數(shù)據(jù)庫中的三張表分別插入數(shù)據(jù);( 5) 對表中的數(shù)據(jù)進行修改;( 6) 對表中的數(shù)據(jù)進行刪除操作視圖實驗:視圖的建立、修改、刪除( 1)建立如下視圖:學生選修課程信息視圖,包括以下內(nèi)容:學生學號、姓名、所在系
10、、選修的課程編號、課程名稱、成績( 2)修改以上視圖,增加學生所在班級信息。( 3)對以上視圖刪除。實驗要求( 1) 用交互式語句完成以上操作;( 2) 能夠?qū)φ麄€的過程進行批命令操作;6/15( 3) 要求學生獨立完成以上內(nèi)容。( 4) 根據(jù)以上內(nèi)容確定實驗步驟。( 5) 實驗完成后完成要求的實驗報告內(nèi)容。實驗步驟 (待定 )實驗報告要求實驗報告需要完成以下內(nèi)容:實驗目的描述本次實驗的目的。實驗平臺及環(huán)境介紹自己實驗所基于的軟硬件環(huán)境及所用到的工具。實驗內(nèi)容介紹本次實驗的具體內(nèi)容。實驗步驟根據(jù)實驗內(nèi)容和實驗過程情況介紹實驗步驟。實驗結(jié)果及分析對實驗結(jié)果進行總結(jié)和分析。給出完成以上實驗內(nèi)容的S
11、QL 語句,并對相應的SQL 語句進行分析。說明建立的數(shù)據(jù)庫表的相關(guān)內(nèi)容,和進行的相關(guān)維護工作。實驗小結(jié)總結(jié)本次實驗遇到的問題和心得。7/15實驗三數(shù)據(jù)查詢實驗實驗目的通過對實驗二中建立的學生數(shù)據(jù)庫關(guān)系表和視圖的各種查詢的操作,加深對SQL 查詢語言的了解,掌握相關(guān)查詢語句的語法和使用方法。實驗內(nèi)容數(shù)據(jù)庫關(guān)系表查詢:( 1) 簡單的查詢操作,包括單表的查詢、選擇條件、結(jié)果排序等的練習;( 2) 多表的連接查詢,包括等值連接、自然連接等;( 3) 復雜的查詢操作,包括使用分組函數(shù)等庫函數(shù)的查詢操作;( 4) 練習帶有 IN 、比較符的嵌套查詢。具體內(nèi)容包括:(1)在簡單查詢實驗中,在sql 語句
12、完成以下查詢操作:查詢計算機系4 班的學生的學號和姓名;查詢“數(shù)據(jù)庫系統(tǒng)原理”課程的學分;查詢選修了課程編號為“C01”的學生的學號和成績,并將成績按降序輸出;查詢學號為“20040401”的學生選修的課程編號和成績;查詢選修了課程編號為“C01”且成績高于85 分的學生的學號和成績。(2)在多表連接的查詢實驗中, 在 SQL SERVER 提供的交互式語言環(huán)境下用 Transact SQL 語句完成以下查詢操作:查詢選修了課程編號為“ C01”且成績高于 85 分的學生的學號、姓名和成績;查詢所有學生的學號、姓名、選修的課程名稱和成績;查詢計算機系張紅同學選修的課程名稱、學分和成績。(3)在
13、復雜查詢實驗中,用SQL 語句完成以下查詢操作:查詢至少選修了三門課程的學生的學號和姓名;查詢計算機系學生的平均身高;查詢所有學生的學號和他選修課程的最高成績,要求他的選修課程中沒有成績?yōu)榭盏?。?)在嵌套查詢實驗中,在 kingbase 提供的交互式語言環(huán)境下用 iSQL 語句完成以下查詢操作,要求寫嵌套查詢語句:查詢選修了數(shù)據(jù)結(jié)構(gòu)的學生的學號和姓名;查詢沒有選修數(shù)據(jù)結(jié)構(gòu)的學生的學號和姓名;查詢至少選修了學號為“20040401”的學生所選修的所有課程的學生的學號和姓名。視圖查詢:對實驗二建立的視圖進行相關(guān)的查詢操作,如:查詢選修了課程編號為“C01”的學生的學號和成績;查詢所有學生的學號、
14、姓名、選修的課程名稱和成績;查詢選修了數(shù)據(jù)結(jié)構(gòu)的學生的學號和姓名。8/15實驗要求(1) 用 SQL 語句完成以上操作(2) 要求學生獨立完成以上內(nèi)容。(3) 實驗完成后完成要求的實驗報告內(nèi)容。實驗步驟 (待定 )實驗四數(shù)據(jù)庫接口實驗實驗目的1通過實驗了解通用數(shù)據(jù)庫應用編程接口ODBC 的基本原理和實現(xiàn)機制,熟悉主要的 ODBC接口的語法和使用方法;2利用 C 語言 (或其它支持ODBC 接口的高級程序設計語言)編程實現(xiàn)簡單的數(shù)據(jù)庫應用程序,掌握基于ODBC 的數(shù)據(jù)庫訪問的基本原理和方法3學習 java 語言,并采用jdbc 接口方式對數(shù)據(jù)庫進行訪問實驗內(nèi)容與步驟1. 以教科書第四章關(guān)于 SQ
15、L 語言相關(guān)內(nèi)容為基礎, 課后查閱、 自學 ODBC 接口有關(guān)內(nèi)容,包括 ODBC 的體系結(jié)構(gòu)、工作原理、數(shù)據(jù)訪問過程、主要API 接口的語法和使用方法等。2以實驗二建立的學生數(shù)據(jù)庫為基礎, 編寫 C 語言 (或其它支持 ODBC 接口的高級程序設計語言 ) 數(shù)據(jù)庫應用程序,按照如下步驟訪問數(shù)據(jù)庫(a) Step1. ODBC 初始化,為 ODBC 分配環(huán)境句柄(b) Step2. 建立應用程序與 ODBC 數(shù)據(jù)源的連接9/15(c) Step3. 利用 SQLExecDirect 語句,實現(xiàn)數(shù)據(jù)庫應用程序?qū)?shù)據(jù)庫的建立、查詢、修改、刪除等操作(d) Step4. 檢索查詢結(jié)果集(e) Ste
16、p5. 結(jié)束數(shù)據(jù)庫應用程序?qū)嶒炓?要求所編寫的數(shù)據(jù)庫訪問應用程序中使用到以下主要的ODBC API函數(shù):(1) SQLALLocEnv:初始化 ODBC環(huán)境,返回環(huán)境句柄(2) SQLALLocConnect:為連接句柄分配內(nèi)存并返回連接句柄(3) SQLConnect:連接一個 SQL數(shù)據(jù)資源(4) SQLDriverConnect連接一個 SQL數(shù)據(jù)資源,允許驅(qū)動器向用戶詢問信息(5) SQLALLocStmt為語句句柄分配內(nèi)存 ,(6) SQLExecDirect把 SQL語句送到數(shù)據(jù)庫服務器,請求執(zhí)行由 SQL語句定義的數(shù)據(jù)庫訪問(7) SQLFetchAdvances將游標移動到到
17、查詢結(jié)果集的下一行( 或第一行 )(8) SQLGetData按照游標指向的位置,從查詢結(jié)果集的特定的一列取回數(shù)據(jù)(9) SQLFreeStmt釋放與語句句柄相關(guān)的資源(10) SQLDisconnect切斷連接(11) SQLFreeConnect釋放與連接句柄相關(guān)的資源(12) SQLFreeEnv2.10/15實驗五數(shù)據(jù)庫完整性與安全性實驗實驗目的1. 通過對完整性規(guī)則的定義實現(xiàn),熟悉了解 kingbase 中完整性保證的規(guī)則和實現(xiàn)方法,加深對數(shù)據(jù)完整性的理解。2. 通過對安全性相關(guān)內(nèi)容的定義,熟悉了解 kingbase 中安全性的內(nèi)容和實現(xiàn)方法,加深對數(shù)據(jù)庫安全性的理解實驗內(nèi)容完整性實
18、驗:( 1) 分別定義學生數(shù)據(jù)庫中各基表的主鍵、外鍵,實現(xiàn)實體完整性約束和參照完整性約束;( 2) 分別向?qū)W生表、課程表插入具有相同學號和相同課程編號的學生數(shù)據(jù)和課程數(shù)據(jù),驗證其實體完整性約束;( 3) 向?qū)W生選課表中插入一條數(shù)據(jù), 課程編號是課程表中沒有的, 驗證參照完整性約束;( 4) 刪除學生表中的所有數(shù)據(jù),驗證參照完整性約束;( 5) 定義存儲過程,完成查詢某個學生的選課情況,并執(zhí)行。(6)定義觸發(fā)器,當向?qū)W生表插入新的一條記錄時,將所有學生出生日期加1;并對其進行測試。(7)用 sql 完成以上操作。安全性實驗內(nèi)容( 1) 定義一新的登陸帳號、數(shù)據(jù)庫用戶,并授予其訪問學生數(shù)據(jù)庫的讀權(quán)
19、限;( 2) 分別用 sa 用戶和新定義的用戶訪問學生數(shù)據(jù)庫,并對其中的學生表數(shù)據(jù)進行修改;( 3) 創(chuàng)建數(shù)據(jù)庫角色,并授予訪問學生數(shù)據(jù)庫的讀、寫權(quán)限;( 4) 將角色賦予( 1)中定義的用戶,建立用戶和角色聯(lián)系;( 5) 再次用此用戶訪問學生數(shù)據(jù)庫,并對其中的學生表數(shù)據(jù)進行修改。11/15(6)用 SQL 語句分別完成以上內(nèi)容。實驗要求:實驗六數(shù)據(jù)查詢分析實驗實驗目的通過對不同情況下查詢語句的執(zhí)行分析,鞏固和加深對查詢和查詢優(yōu)化相關(guān)理論知識的理解,提高優(yōu)化數(shù)據(jù)庫系統(tǒng)的實踐能力,熟悉了解 kingbase中查詢分析器的使用,并進一步提高編寫復雜查詢的 SQL 程序的能力。實驗內(nèi)容1.索引對查詢
20、的影響( 1) 對結(jié)果集只有一個元組的查詢分三種情況進行執(zhí)行(必如查詢一個具體學生的信息):不建立索引,(學號上)建立非聚集索引,(學號上)建立聚集索引。用查詢分析器的執(zhí)行步驟和結(jié)果對執(zhí)行進行分析比較。(2)對結(jié)果集中有多個元組的查詢(例如查看某門成績的成績表)分類似(1)的三種情況進行執(zhí)行比較。( 3) 對查詢條件為一個連續(xù)的范圍的查詢(例如查看學號在某個范圍內(nèi)的學生的選課情況)分類似( 1)的三種情況進行執(zhí)行比較,注意系統(tǒng)處理的選擇。(4)索引代價。 在有索引和無索引的情況下插入數(shù)據(jù)(例如在選課情況表SC上插入數(shù)據(jù)) ,比較插入的執(zhí)行效率。2 對相同查詢功能不同查詢語句的執(zhí)行比較分析(1
21、) group byselect avg(grade) from scgroup by cno having cno =10012/15select avg(grade)from scwhere cno = 100有和沒有 group by ,比較其查詢效率,并分析。( 2 )select sno , sname ,agefrom student s1where age =(select max(age)from student s2where s1.dept = s2.dept)另一個:select dept, max(age) as maxAge into tmpfrom studentg
22、roup by dept;select sno, sname , agefrom student , tmpwhere student.age = tmp.maxAge and tmp.dept=student.dept drop table tmp;重寫后的查詢一定比原始查詢更優(yōu)嗎?通過執(zhí)行分析結(jié)果。(3)對下面兩個查詢進行比較select sname , agefrom studentwhere dept != 10 and age > all(select agefrom studentwhere dept = 10)另:select sname ,agefrom studentwhere dept != 10 and age >( select max(age)from studentwhere dept = 10)3 查詢優(yōu)化除了建立適當索引,對 SQL 語句重寫外,還有其他手段來進行查詢調(diào)優(yōu),例如調(diào)整緩沖區(qū)大小,事先建立視圖等。設計實現(xiàn)下列查詢,使之運行效率最高。13/15寫出你的查詢形式,以及調(diào)優(yōu)過程;并說明最優(yōu)情
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理系統(tǒng)開發(fā)合作協(xié)議
- 農(nóng)業(yè)科技推廣應用案例分析
- 維修服務委托合同
- 金融產(chǎn)品開發(fā)合作協(xié)議
- 旅游行業(yè)游客安全與責任免除合同
- 學生自制動漫電影小感悟
- 昆蟲記的讀后感
- 食品營養(yǎng)與健康功能性食品知識點題集
- 寵物行業(yè)智能門店與健康管理方案
- 市場營銷策略效果評估表格模板(行業(yè)A)
- 四川政采評審專家入庫考試基礎題復習測試卷附答案
- 2024解析:第十二章滑輪-基礎練(解析版)
- 《社會應急力量建設基礎規(guī)范 第2部分:建筑物倒塌搜救》知識培訓
- 國有企業(yè)管理人員處分條例培訓2024
- 浙江省寧波市2025屆高三上學期一??荚嚁?shù)學試卷 含解析
- 代理記賬業(yè)務內(nèi)部規(guī)范(三篇)
- 腰椎間盤突出癥課件(共100張課件)
- 委托調(diào)解民事糾紛協(xié)議書合同
- 中醫(yī)四季養(yǎng)生之道課件
- 消防安全教育主題班會課件
- 7.1.2 直觀圖的畫法-【中職專用】高一數(shù)學教材配套課件(高教版2021·基礎模塊下冊)
評論
0/150
提交評論