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

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

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

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

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

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

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

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

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

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

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

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

3注重數(shù)據(jù)庫設(shè)計理論與實踐的結(jié)合

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

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

3.2課程實驗是數(shù)據(jù)庫課程設(shè)計的基礎(chǔ)

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

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

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

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

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

4結(jié)語

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

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