公務(wù)員期刊網(wǎng) 論文中心 正文

數(shù)據(jù)庫(kù)課程設(shè)計(jì)理論及實(shí)踐

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了數(shù)據(jù)庫(kù)課程設(shè)計(jì)理論及實(shí)踐范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

數(shù)據(jù)庫(kù)課程設(shè)計(jì)理論及實(shí)踐

數(shù)據(jù)庫(kù)課程是計(jì)算機(jī)科學(xué)及信息技術(shù)相關(guān)專業(yè)方向的核心課程,主要研究數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、原理、方法及其應(yīng)用,包括數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)模型、數(shù)據(jù)庫(kù)查詢語言、關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)、事務(wù)處理等核心內(nèi)容.通過數(shù)據(jù)庫(kù)系統(tǒng)課程的學(xué)習(xí),使學(xué)生能夠正確理解數(shù)據(jù)庫(kù)的基本原理,熟練掌握數(shù)據(jù)庫(kù)設(shè)計(jì)方法和應(yīng)用技術(shù),掌握科學(xué)研究的方法和軟件開發(fā)的基礎(chǔ)規(guī)律,增強(qiáng)學(xué)生實(shí)際動(dòng)手能力和創(chuàng)新能力.

1數(shù)據(jù)庫(kù)理論是數(shù)據(jù)庫(kù)課程設(shè)計(jì)的前提

目前,數(shù)據(jù)庫(kù)產(chǎn)品市場(chǎng)95%以上都是關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品.關(guān)系數(shù)據(jù)庫(kù)理論是數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ),掌握關(guān)系數(shù)據(jù)庫(kù)課程理論是數(shù)據(jù)庫(kù)課程設(shè)計(jì)的前提.?dāng)?shù)據(jù)庫(kù)課程是研究數(shù)據(jù)處理技術(shù)的一門綜合性學(xué)科,它是與離散數(shù)學(xué)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、軟件工程、計(jì)算機(jī)原理等學(xué)科及其他應(yīng)用領(lǐng)域的知識(shí)和方法相結(jié)合的學(xué)科.?dāng)?shù)據(jù)庫(kù)理論研究的核心內(nèi)容是數(shù)據(jù)建模、數(shù)據(jù)規(guī)范化理論、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)的安全性、完整性、數(shù)據(jù)恢復(fù)技術(shù)、模式分解理論和方法.只有掌握了數(shù)據(jù)庫(kù)理論才能做好數(shù)據(jù)庫(kù)設(shè)計(jì)[1]22-49.全國(guó)大部分院校都將數(shù)據(jù)庫(kù)理論和應(yīng)用作為兩門課程開設(shè),一門是數(shù)據(jù)庫(kù)系統(tǒng)概論(主講數(shù)據(jù)原理),另一門是數(shù)據(jù)庫(kù)應(yīng)用(主講程序設(shè)計(jì)).對(duì)于絕大多數(shù)學(xué)習(xí)者來講,學(xué)習(xí)數(shù)據(jù)庫(kù)的最終目的是掌握數(shù)據(jù)庫(kù)應(yīng)用方法和技術(shù),在現(xiàn)有DBMS的基礎(chǔ)上二次開發(fā)數(shù)據(jù)庫(kù)產(chǎn)品,而不是開發(fā)新的DBMS,所以大多數(shù)高校往往在數(shù)據(jù)理論之前先開設(shè)數(shù)據(jù)應(yīng)用課程,如VisualFoxpro6.0、Delphi、Oracle、SQLServer、Access等程序設(shè)計(jì)課程是關(guān)系數(shù)據(jù)庫(kù)的產(chǎn)品,它們屬于原理的具體應(yīng)用部分.學(xué)習(xí)數(shù)據(jù)庫(kù)應(yīng)用課程后,便于掌握和應(yīng)用數(shù)據(jù)庫(kù)理論;反之,也只有學(xué)習(xí)了數(shù)據(jù)庫(kù)理論才能更好地掌握和應(yīng)用數(shù)據(jù)庫(kù)技術(shù).

2數(shù)據(jù)庫(kù)設(shè)計(jì)理論是數(shù)據(jù)庫(kù)理論的應(yīng)用和延伸

2.1數(shù)據(jù)庫(kù)理論在數(shù)據(jù)庫(kù)設(shè)計(jì)中的指導(dǎo)應(yīng)用

按照規(guī)范設(shè)計(jì)的方法,將數(shù)據(jù)庫(kù)設(shè)計(jì)分為6個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)的實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù).在數(shù)據(jù)庫(kù)設(shè)計(jì)的每一個(gè)階段,都不同程度地用到了數(shù)據(jù)庫(kù)理論與方法,同時(shí)對(duì)數(shù)據(jù)庫(kù)理論進(jìn)行了豐富的擴(kuò)充.在概念結(jié)構(gòu)設(shè)計(jì)中,核心內(nèi)容是數(shù)據(jù)建模,即根據(jù)實(shí)體類型設(shè)計(jì)E-R(實(shí)體-聯(lián)系)圖.在E-R圖中要搞清楚哪些是實(shí)體,哪些是屬性.從理論的角度來說,實(shí)體是客觀存在的,并可以相互區(qū)別的事物,屬性是對(duì)實(shí)體特征的描述,但是它們之間既有必然區(qū)別,也有一定聯(lián)系.實(shí)體和屬性不是絕對(duì)的,如果需要對(duì)屬性進(jìn)一步描述,則屬性就作為實(shí)體,反之,如果不需要對(duì)實(shí)體進(jìn)一步描述,則實(shí)體也可以作為另一實(shí)體的屬性.例如,在設(shè)計(jì)職工檔案管理數(shù)據(jù)庫(kù)時(shí),實(shí)體類型“職工”的屬性:檔案號(hào),姓名,性別,出生日期,參加工作時(shí)間,學(xué)歷,職稱,職務(wù),工資.如果只考慮現(xiàn)在的工資,則工資就是職工實(shí)體的屬性,但是如果考慮職工的工資歷史,則工資就是一個(gè)實(shí)體.在邏輯結(jié)構(gòu)設(shè)計(jì)時(shí),用到規(guī)范化理論、求極小集和碼的方法、模式分解理論和方法.

2.2數(shù)據(jù)庫(kù)設(shè)計(jì)理論是對(duì)數(shù)據(jù)庫(kù)理論的延伸

數(shù)據(jù)庫(kù)設(shè)計(jì)理論對(duì)數(shù)據(jù)庫(kù)理論在很多方面進(jìn)行了延伸和擴(kuò)展,使得數(shù)據(jù)庫(kù)理論更加簡(jiǎn)捷、方便和直觀.在邏輯結(jié)構(gòu)設(shè)計(jì)中,將概念模型的產(chǎn)品基本E-R圖轉(zhuǎn)換為邏輯結(jié)構(gòu)的關(guān)系模型,是模式分解理論的直接應(yīng)用,是在數(shù)據(jù)庫(kù)理論基礎(chǔ)上的抽象和延伸,實(shí)體內(nèi)和實(shí)體間的轉(zhuǎn)換,實(shí)體間的每一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系,實(shí)體內(nèi)的屬性是關(guān)系的屬性,實(shí)體內(nèi)屬性的碼就是關(guān)系的碼.按照關(guān)系理論的函數(shù)依賴,每一個(gè)實(shí)體中,碼決定每一個(gè)屬性,而模式分解中,碼相同的合并,左右兩端的屬性合并作為一個(gè)分解,從操作方面減少了復(fù)雜性,所以設(shè)計(jì)理論與數(shù)據(jù)理論完全吻合;數(shù)據(jù)庫(kù)實(shí)體之間的聯(lián)系分為一對(duì)一、一對(duì)多、多對(duì)多和多實(shí)體之間的聯(lián)系4種情況,這些轉(zhuǎn)換在邏輯結(jié)構(gòu)設(shè)計(jì)中都給出了轉(zhuǎn)換規(guī)則,也完全滿足模式分解理論,在模型優(yōu)化時(shí),用到極小集方法與設(shè)計(jì)理論的結(jié)合.

3注重?cái)?shù)據(jù)庫(kù)設(shè)計(jì)理論與實(shí)踐的結(jié)合

3.1處理好數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)驗(yàn)和數(shù)據(jù)庫(kù)設(shè)計(jì)理論的關(guān)系

數(shù)據(jù)庫(kù)設(shè)計(jì)理論盡管比較完善,按照規(guī)范化理論,在函數(shù)依賴領(lǐng)域,如果關(guān)系滿足BCNF,不會(huì)存在數(shù)據(jù)冗余、插入異常、刪除異常和更新異常,實(shí)際上關(guān)系規(guī)范化不一定要達(dá)到BCNF;如果達(dá)到BCNF,不會(huì)出現(xiàn)冗余和各種異常,但會(huì)出現(xiàn)查詢效率降低.這就要根據(jù)實(shí)際情況綜合權(quán)衡.下面以規(guī)范化后的學(xué)生成績(jī)管理系統(tǒng)為例說明.學(xué)生成績(jī)管理系統(tǒng)包含下列3個(gè)關(guān)系:學(xué)生(學(xué)號(hào),姓名,性別,出生年月);課程(課號(hào),課名,學(xué)時(shí),學(xué)分);成績(jī)(學(xué)號(hào),課號(hào),成績(jī)).我們經(jīng)常查詢“某同學(xué)學(xué)習(xí)某課程的成績(jī)”,這就需要3個(gè)關(guān)系的連接,如果學(xué)生人數(shù)較多(數(shù)據(jù)庫(kù)較大),可能需要較長(zhǎng)時(shí)間,但如果是第1范式,則不需要連接,如果是第2范式,可能連接的次數(shù)較少,也會(huì)減少耗費(fèi).在實(shí)際應(yīng)用中,我們可能不需要把關(guān)系劃分到BCNF,也許只需要達(dá)到2NF,甚至1NF,也就是逆規(guī)范化,到底規(guī)范化到什么程度,要結(jié)合實(shí)際問題和具體設(shè)計(jì)經(jīng)驗(yàn)[2]3-39.

3.2課程實(shí)驗(yàn)是數(shù)據(jù)庫(kù)課程設(shè)計(jì)的基礎(chǔ)

數(shù)據(jù)庫(kù)課程是理論與應(yīng)用結(jié)合較為緊密的一門課程.學(xué)習(xí)數(shù)據(jù)庫(kù)課程的主要目的是為了應(yīng)用.因此,為了深入淺出地講授數(shù)據(jù)庫(kù)理論,在每一章都設(shè)計(jì)一些課程實(shí)驗(yàn),以便通過實(shí)踐驗(yàn)證理論,同時(shí)掌握其應(yīng)用方法,為后續(xù)的課程設(shè)計(jì)打下基礎(chǔ).在大部分教科書中,都是以SQLServer為例,講授SQL語言、數(shù)據(jù)的安全性、完整性.在講授SQL語言時(shí),可以讓學(xué)生先建立數(shù)據(jù)庫(kù),結(jié)合所學(xué)內(nèi)容對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、插入、刪除、修改等實(shí)踐操作,在實(shí)踐的過程中真正理解并掌握SQL語言的應(yīng)用環(huán)境.在講授數(shù)據(jù)庫(kù)安全性和完整性時(shí),利用數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)際應(yīng)用讓學(xué)生對(duì)系統(tǒng)做數(shù)據(jù)控制.提高學(xué)生對(duì)數(shù)據(jù)庫(kù)課程的認(rèn)識(shí),激發(fā)學(xué)生的學(xué)習(xí)興趣和欲望.

3.3課程設(shè)計(jì)是提升學(xué)生綜合應(yīng)用能力的關(guān)鍵

課程設(shè)計(jì)是課程內(nèi)容的展示,是對(duì)所學(xué)知識(shí)的延伸,是學(xué)生掌握學(xué)習(xí)內(nèi)容、方法和技巧的綜合體現(xiàn).?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)理論主要是為了指導(dǎo)數(shù)據(jù)庫(kù)的應(yīng)用和實(shí)踐,通過系統(tǒng)的理論學(xué)習(xí)和部分單元(如創(chuàng)建用戶、創(chuàng)建視圖、用戶管理、權(quán)限管理等)的應(yīng)用實(shí)踐訓(xùn)練,充分認(rèn)識(shí)到DBA在數(shù)據(jù)庫(kù)系統(tǒng)中的作用.通過課程設(shè)計(jì)讓學(xué)生在掌握數(shù)據(jù)庫(kù)設(shè)計(jì)理論的同時(shí)掌握數(shù)據(jù)庫(kù)課程設(shè)計(jì)的全過程,可以采取將學(xué)生分組的方式,為每組同學(xué)擬定相關(guān)題目,如學(xué)生檔案管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)、售票管理系統(tǒng)等,設(shè)計(jì)可以采取集中設(shè)計(jì)和分散設(shè)計(jì)相結(jié)合的方式,如果條件允許可以集中7~10天時(shí)間做課程設(shè)計(jì),否則,可以利用周末時(shí)間集中設(shè)計(jì),學(xué)生自己找業(yè)余時(shí)間,教師加強(qiáng)指導(dǎo),題目在期中布置,期末老師驗(yàn)收.讓每一位同學(xué)獨(dú)立完成或者協(xié)助完成數(shù)據(jù)庫(kù)設(shè)計(jì)的過程,同時(shí),使每一組同學(xué)進(jìn)行上機(jī)運(yùn)行并調(diào)試,完成所有功能進(jìn)行程序?qū)崿F(xiàn),最后組織設(shè)計(jì)答辯.教課評(píng)價(jià)方面,可將學(xué)生平時(shí)的課程設(shè)計(jì)和期末考試相結(jié)合,作為學(xué)期期末成績(jī).通過課程設(shè)計(jì)和設(shè)計(jì)答辯,學(xué)生不僅鞏固了理論知識(shí),豐富了課程實(shí)踐,掌握了如何運(yùn)用理論指導(dǎo)實(shí)踐應(yīng)用,也對(duì)今后其他課程設(shè)計(jì)以及畢業(yè)設(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ),取得較好的效果.

3.4數(shù)據(jù)庫(kù)課程設(shè)計(jì)的具體內(nèi)容

數(shù)據(jù)庫(kù)設(shè)計(jì)是在指定的應(yīng)用環(huán)境下,構(gòu)建最優(yōu)的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),滿足各種用戶的各種需求(信息、管理和操作需求),并能夠有效地存儲(chǔ)和管理數(shù)據(jù).?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)要按照需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)各個(gè)階段突出特點(diǎn)嚴(yán)格進(jìn)行結(jié)構(gòu)設(shè)計(jì)是與行為設(shè)計(jì)的有機(jī)結(jié)合.每一個(gè)階段都有具體的技術(shù)要求,教師提出要求讓學(xué)生深入圖書館、學(xué)生管理部門或者企業(yè)進(jìn)行系統(tǒng)調(diào)查,通過需求分析設(shè)計(jì)出數(shù)據(jù)流圖,編寫數(shù)據(jù)字典.概念結(jié)構(gòu)設(shè)計(jì)是從數(shù)據(jù)流圖和數(shù)據(jù)字典中提煉出E-R圖,對(duì)E-R圖優(yōu)化后獲得基本E-R圖.按照轉(zhuǎn)換規(guī)則和DBMS的轉(zhuǎn)換功能將概念結(jié)構(gòu)的產(chǎn)品基本E-R圖轉(zhuǎn)換為邏輯結(jié)構(gòu)設(shè)計(jì)的關(guān)系模型.物理結(jié)構(gòu)設(shè)計(jì)主要根據(jù)DBMS的詳細(xì)特征設(shè)計(jì)存儲(chǔ)結(jié)構(gòu)和存取技術(shù),最后經(jīng)過優(yōu)化、評(píng)價(jià)滿足用戶的效率要求.?dāng)?shù)據(jù)庫(kù)實(shí)施和運(yùn)行維護(hù)主要考慮代碼的編寫、調(diào)試、試運(yùn)行和維護(hù),涉及數(shù)據(jù)轉(zhuǎn)儲(chǔ)、安全性、完整性、數(shù)據(jù)組等問題.整個(gè)設(shè)計(jì)都是在數(shù)據(jù)庫(kù)理論的指導(dǎo)下進(jìn)行[3]181-250.

4結(jié)語

數(shù)據(jù)庫(kù)課程設(shè)計(jì)是理論和實(shí)踐的有機(jī)結(jié)合,隨著計(jì)算機(jī)應(yīng)用的深入,數(shù)據(jù)庫(kù)應(yīng)用在社會(huì)生活中越來越重要,應(yīng)用范圍也越來越廣,如何使數(shù)據(jù)庫(kù)理論和設(shè)計(jì)更好的結(jié)合是值得高校教師深入探討的問題.只有不斷的探索數(shù)據(jù)庫(kù)課程設(shè)計(jì)理論,才能在實(shí)際應(yīng)用中得到創(chuàng)新.

作者:梁詠梅 潘梁靜 單位:商丘職業(yè)技術(shù)學(xué)院