梁詠梅,潘梁靜
(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476000)
數(shù)據(jù)庫課程設(shè)計理論與實踐研究
梁詠梅,潘梁靜
(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476000)
隨著計算機應(yīng)用的深入,數(shù)據(jù)庫應(yīng)用在社會生活中越來越重要,應(yīng)用范圍也越來越廣. 文章通過對數(shù)據(jù)庫理論和數(shù)據(jù)庫課程設(shè)計理論之間的關(guān)系的探討,介紹了數(shù)據(jù)庫課程設(shè)計的方法,具體內(nèi)容和設(shè)計對提高學(xué)生綜合實踐能力的影響. 如何使數(shù)據(jù)庫理論和課程設(shè)計更好地結(jié)合是值得深入探討的問題.
數(shù)據(jù)庫;課程設(shè)計;數(shù)據(jù)庫理論;課程實驗;創(chuàng)新能力
數(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)新能力.
目前,數(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)用課程,如Visual Foxpro6.0、Delphi、Oracle、SQL Server、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.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.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ī)范化不一定要達(dá)到BCNF;如果達(dá)到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,也許只需要達(dá)到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ǔ).在大部分教科書中,都是以SQL Server為例,講授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ù)庫課程的認(rèn)識,激發(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)練,充分認(rè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ù)庫的運行和維護各個階段突出特點嚴(yán)格進行結(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的詳細(xì)特征設(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.
數(shù)據(jù)庫課程設(shè)計是理論和實踐的有機結(jié)合,隨著計算機應(yīng)用的深入,數(shù)據(jù)庫應(yīng)用在社會生活中越來越重要,應(yīng)用范圍也越來越廣,如何使數(shù)據(jù)庫理論和設(shè)計更好的結(jié)合是值得高校教師深入探討的問題.只有不斷的探索數(shù)據(jù)庫課程設(shè)計理論,才能在實際應(yīng)用中得到創(chuàng)新.
[1] DATE C J.數(shù)據(jù)庫系統(tǒng)導(dǎo)論[M].孟小峰,王 珊,譯.北京:機械工業(yè)出版社,2000.
[2] Abraham Silberschatz.Henry F.Sudarshan.數(shù)據(jù)庫系統(tǒng)概念[M].楊冬青,唐世渭,譯.北京:高等教育出版社,2000.
[3] 王 珊.數(shù)據(jù)庫系統(tǒng)簡明教程[M].北京:清華大學(xué)出版社,2004.
[責(zé)任編輯 冰 竹]
Database Curriculum Design Theory and Practice Research
LIANG Yongmei, PAN Liangjing
(ShangqiuPolytechnic,Shangqiu476000,China)
With the developing of computer applications, database application is getting more and more important in social life, and the application range is becoming wider and wider. This article mainly explores the relationship betweenthe database theory and the database curriculum design theory, then it introduces the database curriculum design method, the specific contents design and influences on improving the students’ comprehensive practical ability.How to make a better combinationof database theory and curriculum design is a problem that is worthy of further exploration.
database; curriculum design; database theory; course experiment; the innovation ability
2015-05-20
河南省教育廳信息技術(shù)(項目編號:ITE12077)
梁詠梅(1967- ),女,河南商丘人,商丘職業(yè)技術(shù)學(xué)院副教授,主要從事計算機應(yīng)用研究。
1671-8127(2015)05-0020-03
TP311.13-4
A