數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義_第1頁
數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義_第2頁
數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義_第3頁
數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義_第4頁
數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義黑龍江大學(xué)軟件學(xué)院數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計講義一、開設(shè)本課程設(shè)計的目的本課程是計算機專業(yè)中一門重要的專業(yè)理論課。為配合數(shù)據(jù)庫原理課程的教學(xué),通過模擬DBMS的實現(xiàn),更深刻地領(lǐng)會DBMS的工作原理和實現(xiàn)方法,從而具有初步開發(fā)系統(tǒng)軟件的實際能力,特開設(shè)此課程設(shè)計。二、課程設(shè)計的題目用高級程序設(shè)計語言實現(xiàn)DBMS原型設(shè)計及實現(xiàn)。三、課程設(shè)計的主要內(nèi)容 通過模擬DBMS的實現(xiàn),使學(xué)生系統(tǒng)地掌握關(guān)系代數(shù)語言的運算功能;了解DBMS的DDL、DML、DCL等功能的實質(zhì)含義;掌握結(jié)構(gòu)化設(shè)計方法;了解大型軟件的設(shè)計技術(shù)。四、課程設(shè)計的具體內(nèi)容和要求1、創(chuàng)建數(shù)據(jù)庫(DDL)功能模擬在熟悉

2、和掌握某一關(guān)系數(shù)據(jù)庫語言的基礎(chǔ)上,用高級程序設(shè)計語言創(chuàng)建數(shù)據(jù)庫。具體包括:(1)建立“建庫”功能的總體菜單,包括建立庫結(jié)構(gòu)、輸入數(shù)據(jù)、顯示數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容、退出等功能。 (2) 實現(xiàn)建立數(shù)據(jù)結(jié)構(gòu)的功能。要求:能輸入任意表名(即關(guān)系名) 字段個數(shù)、名稱任意給定(包括字段名、字段類型、長度任意)。 (3)實現(xiàn)輸入數(shù)據(jù)庫記錄的功能。 (4)實現(xiàn)顯示數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容(最好以表格形式顯示) (5)實現(xiàn)對主關(guān)鍵字的索引功能。 (6)實現(xiàn)建立視圖的功能。 (7)建立數(shù)據(jù)字典保存三級模式中有關(guān)視圖、基本表、存儲文件的定義。2、關(guān)系代數(shù)運算(DML)功能模擬 將關(guān)系代數(shù)語言的選取、投影、連接運算公式進行等價變換

3、,以便輸入計算機,被計算機接受和識別。(1)用高級程序設(shè)計語言做工具,實現(xiàn)關(guān)系代數(shù)語言中集合的并、交、差運算功能。并以表格形式顯示的運算結(jié)果。(2)采用索引的方式,用高級語言實現(xiàn)數(shù)據(jù)庫系統(tǒng)中選取運算的功能。包括帶有“及” 、“或”條件的查詢,并以表格形式顯示的運算結(jié)果。(3)用高級語言實現(xiàn)數(shù)據(jù)庫系統(tǒng)中投影運算的功能。并以表格形式顯示的運算結(jié)果。(4)采用索引的方式,用高級程序語言實現(xiàn)關(guān)系代數(shù)語言自然連接、等值連接等運算功能。并以表格形式顯示的運算結(jié)果。3、關(guān)系演算(DML)功能模擬 (1)系統(tǒng)掌握DBMS中關(guān)系演算語言的功能,以QUEL語言為樣本,用C語言實現(xiàn)對用規(guī)定符號表達(dá)的簡單查詢命令行進

4、行識別,以表格形式顯示查詢結(jié)果。(2)熟悉QUEL語言的查詢功能,用高級語言模擬實現(xiàn)對含有“及”、“或”、“非”符號的命令行進行識別,并以表格形式顯示查詢結(jié)果。4、關(guān)系數(shù)據(jù)庫系統(tǒng)的查詢優(yōu)化 掌握關(guān)系數(shù)據(jù)庫的查詢優(yōu)化技術(shù),用高級語言實現(xiàn)啟發(fā)式關(guān)系代數(shù)優(yōu)化算法以及啟發(fā)式關(guān)系演算優(yōu)化算法。5、數(shù)據(jù)庫保護(DCL)功能模擬要求根據(jù)數(shù)據(jù)字典(DD)實現(xiàn)對數(shù)據(jù)庫的安全性檢查和完整性約束的機制;利用事務(wù)的封鎖機制實現(xiàn)對事務(wù)處理的并發(fā)控制;利用建立日志文件及周期性備份的機制實現(xiàn)對數(shù)據(jù)庫的恢復(fù)。6、綜合設(shè)計 (1) 將前幾個實驗利用結(jié)構(gòu)化設(shè)計方法綜合為一個完整的程序系統(tǒng)。(2) 設(shè)計該系統(tǒng)的總體菜單。 (3)

5、通過總體菜單選擇某一功能進入子菜單。 (4) 通過某一功能子菜單,進入相應(yīng)各個子系統(tǒng),完成具體的功能。(5)通過輔助工具,進一步豐富和完善上述程序窗口界面的設(shè)計。(6) 采用軟件工程的結(jié)構(gòu)化設(shè)計方法,將上述各種程序綜合為一個完整的軟件系統(tǒng),以達(dá)到系統(tǒng)掌握開發(fā)系統(tǒng)軟件的方法和技術(shù)的目的。五、教學(xué)文件及教學(xué)形式教學(xué)文件:數(shù)據(jù)庫系統(tǒng)原理李建中 編著電子工業(yè)出版社教學(xué)形式:教學(xué)及實驗同步進行,并按實驗要求上機實驗,編程調(diào)試。實驗一 關(guān)系數(shù)據(jù)庫SQL語言的使用實驗條件:提供以SQL語言為核心的數(shù)據(jù)庫管理系統(tǒng)(如ORACLE,DB2,SYBASE,SQL Server,Visual Foxpro 等)上機

6、環(huán)境。(一)實驗?zāi)康模和ㄟ^上機實踐,了解DBMS和SQL的概貌。熟練掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)操縱、完整性控制等功能。(二)實驗內(nèi)容及步驟:實驗1 基本表的創(chuàng)建、數(shù)據(jù)插入(1)建立教學(xué)數(shù)據(jù)庫的三個基本表:S(S#,SNAME,AGE,SEX) 學(xué)生(學(xué)號,姓名年齡,性別)SC(S#,C#,GRADE) 學(xué)習(xí)(學(xué)號,課程號,成績)C(C#,CNAME,TEACHER)課程(課程號,課程名,任課教師)(2)用INSERT命令輸入數(shù)據(jù)?;颈鞸的數(shù)據(jù):S1 WANG 20 MS2 LIU 19 MS3 CHEN 22 MS4 WU 19 MS5 LOU 21 FS8 DONG 18 F基本表C的數(shù)據(jù)

7、:C1 DB LIC2 MATHS MAC3 CHEMISTRY ZHOUC4 PHYSICS SHIC5 OS WEN基本表SC的數(shù)據(jù):S1C180S1C2 70S1C385S1C490S1C570S2C185S3C190S3C285S3C395S4C175S4C470S5C170S5C260S5C3 80S5C565S8C190S8C395實驗2 數(shù)據(jù)查詢(1)檢索學(xué)習(xí)課程號為C2的學(xué)生學(xué)號及姓名。(2)檢索學(xué)習(xí)課程名為MATHS的學(xué)生學(xué)號及姓名。(3)檢索不學(xué)C2課的學(xué)生姓名及年齡。(4)檢索學(xué)習(xí)全部課程的學(xué)生姓名。實驗3 數(shù)據(jù)修改、刪除(1)把C2課程的非空成績提高10%。(2)在SC

8、表中刪除課程名為PHYSICS的成績的元組。(3)在S和SC表中刪除學(xué)號為S8的所有數(shù)據(jù)。實驗4 視圖的操作(1)建立男學(xué)生的視圖,屬性包括學(xué)號、姓名、選修課程名和成績。(2)在男學(xué)生視圖中查詢平均成績大于80分的學(xué)生學(xué)號和姓名。實驗5 庫函數(shù)、授權(quán)控制(1)計算每個學(xué)生有成績的課程門數(shù)、平均成績。(2)使用GRANT語句,把對基本表S、SC、C的使用權(quán)限授給其他用戶。實驗二 創(chuàng)建數(shù)據(jù)庫(DDL)功能模擬(一)實驗?zāi)康模海?)了解關(guān)系數(shù)據(jù)庫定義語言的功能。(2)熟悉關(guān)系數(shù)據(jù)庫建庫命令的功能。(3)掌握用高級程序設(shè)計語言創(chuàng)建數(shù)據(jù)庫的方法。(4)掌握以表格形式顯示運算結(jié)果的方法。(二)實驗內(nèi)容及步

9、驟:1、用C語言(或其它語言)建立“建庫”功能的總體菜單(下拉菜單或文本方式),包括建立基本表的結(jié)構(gòu)、輸入數(shù)據(jù)、顯示數(shù)據(jù)庫中基本表的結(jié)構(gòu)和內(nèi)容、退出等功能。2 、用C語言實現(xiàn)建立數(shù)據(jù)庫表的結(jié)構(gòu)的功能。要求:(1)能輸入任意關(guān)系名。 (2)字段個數(shù)、名稱任意給定(包括字段名、字段類型、長度任意)。(3)要求以文件形式保存基本表。(存儲結(jié)構(gòu)也可自行設(shè)計)3、用C語言實現(xiàn)輸入數(shù)據(jù)庫記錄的功能(插入位置任意)。4、用C語言實現(xiàn)刪除數(shù)據(jù)庫記錄的功能(刪除位置任意)。5、 用C語言實現(xiàn)顯示數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容(最好以表格形式顯示)6、用C語言實現(xiàn)對主關(guān)鍵字的索引功能。7、用C語言實現(xiàn)對其它關(guān)鍵字的索引功能。8

10、、用C語言實現(xiàn)建立視圖的功能。9、用C語言建立數(shù)據(jù)字典保存三級模式中有關(guān)視圖、基本表、存儲文件的定義。10、設(shè)計每項功能完成后均返回主菜單的功能。實驗三 關(guān)系代數(shù)語言的集合運算功能模擬(一)實驗?zāi)康模海?)了解集合運算的功能。(2)掌握關(guān)系代數(shù)語言的并、交、差運算。(3)掌握C語言實現(xiàn)并、交、差運算的設(shè)計方法。(4)掌握以表格形式顯示并、交、差運算結(jié)果的方法。(二)實驗內(nèi)容及步驟:1、設(shè)計該實驗的功能菜單。2、用C語言實現(xiàn)建立兩個相容的關(guān)系。3、用C語言實現(xiàn)關(guān)系代數(shù)語言的“并”運算功能,并以表格形式顯示運算的結(jié)果。4、用C語言實現(xiàn)關(guān)系代數(shù)語言的“交”運算功能,并以表格形式顯示運算的結(jié)果。5、用

11、C語言實現(xiàn)關(guān)系代數(shù)語言的“差”運算功能,并以表格形式顯示運算的結(jié)果。6、設(shè)計每項功能完成后均返回主菜單的功能。實驗四 關(guān)系代數(shù)語言的專門運算功能模擬(一)實驗?zāi)康模海?)熟悉高級語言編譯程序的思想。(2)掌握符號串處理的方法和技術(shù)。(3)掌握關(guān)系代數(shù)語言的選取、投影、連接運算的功能。(4)掌握關(guān)系代數(shù)語言的選取、投影、連接運算的實現(xiàn)技術(shù)。(5)掌握關(guān)系數(shù)據(jù)庫的查詢優(yōu)化技術(shù)。(二)實驗內(nèi)容及步驟:1、將關(guān)系代數(shù)語言的選取、投影運算公式進行等價變換,以便輸入計算機,被計算機接受和識別。2、建立任意一關(guān)系數(shù)據(jù)庫。3、采用索引的方式,用C語言實現(xiàn)對該庫中關(guān)系的某一字段的“”(=、<、>)條

12、件的選取運算,并以表格形式顯示運算的結(jié)果。4、采用索引的方式,用C語言實現(xiàn)對該庫中關(guān)系的帶有“及”條件的查詢,并以表格形式顯示運算的結(jié)果。5、采用索引的方式,用C語言實現(xiàn)對該庫中關(guān)系的帶有“或”條件的查詢,并以表格形式顯示運算的結(jié)果。6、用C語言實現(xiàn)對該庫的任意字段的投影運算,并以表格形式顯示運算的結(jié)果。7、用C語言實現(xiàn)對該庫的選取、投影綜合運算,并以表格形式顯示運算的結(jié)果。8、采用索引的方式,用C語言實現(xiàn)對兩個關(guān)系的自然連接和等值連接運算,并以表格形式顯示運算的結(jié)果。實驗五簡單的關(guān)系演算(DML)功能模擬(一)實驗?zāi)康模海?)掌握關(guān)系演算語言的查詢功能。(2)熟悉符號串識別和處理技術(shù)。(3)

13、掌握關(guān)系演算語言的查詢功能的實現(xiàn)方法和技術(shù)。(二)實驗內(nèi)容及步驟:(1)系統(tǒng)掌握DBMS中關(guān)系演算語言的功能,以QUEL語言為樣本,用C語言實現(xiàn)對用規(guī)定符號表達(dá)的簡單查詢命令行進行掃描和識別,并以表格形式顯示查詢結(jié)果。(2)熟悉QUEL語言的查詢功能,用高級語言實現(xiàn)對含有“及”、“或”、“非”符號的命令行進行掃描和識別,并以表格形式顯示查詢結(jié)果。實驗六 關(guān)系數(shù)據(jù)庫的查詢優(yōu)化(一)實驗?zāi)康模海?)掌握關(guān)系系統(tǒng)的定義及分類。(2)了解全關(guān)系系統(tǒng)的概念。(3)了解優(yōu)化的一般策略。(4)掌握關(guān)系代數(shù)等價變換規(guī)則。(5)掌握關(guān)系數(shù)據(jù)庫系統(tǒng)的查詢優(yōu)化技術(shù)。(6)掌握關(guān)系代數(shù)表達(dá)式的優(yōu)化算法。(二)實驗內(nèi)容

14、及步驟:1、采用啟發(fā)式關(guān)系代數(shù)優(yōu)化算法:(1)把查詢轉(zhuǎn)換成某種內(nèi)部表示。(2)把語法樹轉(zhuǎn)換成標(biāo)準(zhǔn)形式。(3)選擇低層的存取路徑。(4)用高級語言實現(xiàn)關(guān)系代數(shù)表達(dá)式優(yōu)化算法。(對原始的語法樹進行優(yōu)化處理,生成查詢計劃,選擇代價最小的。)2、用高級語言實現(xiàn)啟發(fā)式關(guān)系演算優(yōu)化算法。實驗七數(shù)據(jù)庫保護(DCL)功能模擬(一)實驗?zāi)康模海?)掌握數(shù)據(jù)庫系統(tǒng)的安全性保護機制。(2)掌握數(shù)據(jù)庫系統(tǒng)的完整性約束機制。(3)了解數(shù)據(jù)庫系統(tǒng)的并發(fā)控制技術(shù)。(4)掌握數(shù)據(jù)庫系統(tǒng)的恢復(fù)技術(shù)。(二)實驗內(nèi)容及步驟:(1)要求根據(jù)數(shù)據(jù)字典(DD)實現(xiàn)對數(shù)據(jù)庫的安全性檢查。包括設(shè)置口令、密碼和權(quán)限等。(2)根據(jù)數(shù)據(jù)字典(DD

15、)實現(xiàn)對數(shù)據(jù)庫系統(tǒng)的完整性約束機制。(3)利用事務(wù)的封鎖機制實現(xiàn)對事務(wù)處理的并發(fā)控制;(4)利用建立日志文件及周期性備份的機制實現(xiàn)對數(shù)據(jù)庫系統(tǒng)的恢復(fù)。實驗八綜合設(shè)計(一)實驗?zāi)康模海?)系統(tǒng)地掌握關(guān)系代數(shù)語言的運算功能。(2)了解DBMS的DDL、DML、DCL等功能的實質(zhì)含義。(3)掌握結(jié)構(gòu)化設(shè)計方法。(4)了解大型軟件的設(shè)計技術(shù)。(二)實驗內(nèi)容及步驟:(1)采用軟件工程的結(jié)構(gòu)化設(shè)計方法,將前幾個實驗利用結(jié)構(gòu)化設(shè)計方法綜合為一個完整的DBMS原型系統(tǒng),以達(dá)到系統(tǒng)掌握開發(fā)軟件系統(tǒng)的方法和技術(shù)的目的。系統(tǒng)總體結(jié)構(gòu)圖如下: DBMS原型模擬DDL功能模擬建庫DCL功能模擬集合運算專門運算DML功能

16、模擬關(guān)系代數(shù)運算并選擇交關(guān)系演算安全性連接投影完整性并發(fā)控制恢復(fù)差(2)設(shè)計該系統(tǒng)的總體菜單。(3)通過總體菜單選擇某一功能進入子菜單。(4)通過某一功能子菜單,進入相應(yīng)各個子系統(tǒng),完成具體的功能。(5)通過輔助工具,進一步豐富和完善上述程序窗口、菜單的界面設(shè)計。實驗考核標(biāo)準(zhǔn) 1、本課程設(shè)計共包含八個實驗,要求每個學(xué)生完成全部實驗。完成全部實驗的學(xué)生經(jīng)測試答辯通過,方可得到學(xué)分。不合格者需要重修。 2、實驗成績評定:每個實驗需在規(guī)定時間內(nèi)完成,成績達(dá)到及格以上方可進行下一個實驗。每個實驗題目有各自的分值,總計100分。實驗課不通過者,不能參加期末考試。3、實驗教學(xué)項目、時間安排及分值分配序號實

17、驗項目內(nèi)容提要時間安排分?jǐn)?shù)有關(guān)說明實驗一關(guān)系數(shù)據(jù)庫SQL語言的使用了解DBMS和SQL的概貌。熟練掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)操縱、完整性控制等功能。第二周 |第三周10分要求:實驗1和實驗2必做,實驗3至實驗5任選,完成任選題目的學(xué)生可加分實驗二創(chuàng)建數(shù)據(jù)庫功能模擬用C語言實現(xiàn),模擬“建庫”功能,建立任意結(jié)構(gòu),任意元組數(shù)目的關(guān)系,以表格形式顯示所建關(guān)系的名稱,結(jié)構(gòu)及內(nèi)容,并實現(xiàn)對主關(guān)鍵字的索引和建立視圖的功能。第四周 |第五周20分要求:實驗內(nèi)容的第2、3、4、5、6步必做,第1、7、8、9、10步任選,完成任選題目的學(xué)生可加分。實驗三關(guān)系代數(shù)語言的集合運算功能模擬用C語言模擬,任意兩個相容關(guān)系

18、的并、交、差運算,并將運算結(jié)果以表格形式顯示第六周10分要求:實驗內(nèi)容的第3、4、5步必做,第1、2、6步任選,完成任選題目的學(xué)生可加分。實驗四關(guān)系代數(shù)語言的專門運算功能模擬用C語言實現(xiàn),對用規(guī)定符號表達(dá)的選取、投影、連接運算的命令行進行掃描和識別,并以表格形式給出運算的結(jié)果第七周 |第八周20分要求:實驗內(nèi)容的第3、6、8步必做,第1、2、4、5、7、步任選,完成任選題目的學(xué)生可加分。實驗五簡單的關(guān)系演算功能模擬以QUEL語言為樣本,用C語言實現(xiàn)對含有比較運算符的命令行進行識別,并以表格形式顯示查詢結(jié)果第九周 |第十周10分要求:實驗內(nèi)容的第1步必做,第2步任選,完成任選題目的學(xué)生可加分。實驗六關(guān)系數(shù)據(jù)庫的查詢優(yōu)化掌握關(guān)系數(shù)據(jù)庫的查詢優(yōu)化技術(shù),用高級語言實現(xiàn)啟發(fā)式關(guān)系代數(shù)優(yōu)化算法以及啟發(fā)式關(guān)系演算優(yōu)化算法。第十一周 |第十二周10分要求

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論