梁詠梅,潘梁靜
(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476000)
數(shù)據(jù)庫課程設(shè)計(jì)理論與實(shí)踐研究
梁詠梅,潘梁靜
(商丘職業(yè)技術(shù)學(xué)院,河南 商丘 476000)
隨著計(jì)算機(jī)應(yīng)用的深入,數(shù)據(jù)庫應(yīng)用在社會(huì)生活中越來越重要,應(yīng)用范圍也越來越廣. 文章通過對(duì)數(shù)據(jù)庫理論和數(shù)據(jù)庫課程設(shè)計(jì)理論之間的關(guān)系的探討,介紹了數(shù)據(jù)庫課程設(shè)計(jì)的方法,具體內(nèi)容和設(shè)計(jì)對(duì)提高學(xué)生綜合實(shí)踐能力的影響. 如何使數(shù)據(jù)庫理論和課程設(shè)計(jì)更好地結(jié)合是值得深入探討的問題.
數(shù)據(jù)庫;課程設(shè)計(jì);數(shù)據(jù)庫理論;課程實(shí)驗(yàn);創(chuàng)新能力
數(shù)據(jù)庫課程是計(jì)算機(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è)計(jì)、事務(wù)處理等核心內(nèi)容.通過數(shù)據(jù)庫系統(tǒng)課程的學(xué)習(xí),使學(xué)生能夠正確理解數(shù)據(jù)庫的基本原理,熟練掌握數(shù)據(jù)庫設(shè)計(jì)方法和應(yīng)用技術(shù),掌握科學(xué)研究的方法和軟件開發(fā)的基礎(chǔ)規(guī)律,增強(qiáng)學(xué)生實(shí)際動(dòng)手能力和創(chuàng)新能力.
目前,數(shù)據(jù)庫產(chǎn)品市場95%以上都是關(guān)系數(shù)據(jù)庫產(chǎn)品.關(guān)系數(shù)據(jù)庫理論是數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ),掌握關(guān)系數(shù)據(jù)庫課程理論是數(shù)據(jù)庫課程設(shè)計(jì)的前提.數(shù)據(jù)庫課程是研究數(shù)據(jù)處理技術(shù)的一門綜合性學(xué)科,它是與離散數(shù)學(xué)、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)、軟件工程、計(jì)算機(jī)原理等學(xué)科及其他應(yīng)用領(lǐng)域的知識(shí)和方法相結(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è)計(jì)[1]22-49.
全國大部分院校都將數(shù)據(jù)庫理論和應(yīng)用作為兩門課程開設(shè),一門是數(shù)據(jù)庫系統(tǒng)概論(主講數(shù)據(jù)原理),另一門是數(shù)據(jù)庫應(yīng)用(主講程序設(shè)計(jì)).對(duì)于絕大多數(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è)計(jì)課程是關(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è)計(jì)中的指導(dǎo)應(yīng)用
按照規(guī)范設(shè)計(jì)的方法,將數(shù)據(jù)庫設(shè)計(jì)分為6個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫的實(shí)施、數(shù)據(jù)庫運(yùn)行和維護(hù).在數(shù)據(jù)庫設(shè)計(jì)的每一個(gè)階段,都不同程度地用到了數(shù)據(jù)庫理論與方法,同時(shí)對(duì)數(shù)據(jù)庫理論進(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ù)庫時(shí),實(shí)體類型“職工”的屬性:檔案號(hào),姓名,性別,出生日期,參加工作時(shí)間,學(xué)歷,職稱,職務(wù),工資.如果只考慮現(xiàn)在的工資,則工資就是職工實(shí)體的屬性,但是如果考慮職工的工資歷史,則工資就是一個(gè)實(shí)體.在邏輯結(jié)構(gòu)設(shè)計(jì)時(shí),用到規(guī)范化理論、求極小集和碼的方法、模式分解理論和方法.
2.2 數(shù)據(jù)庫設(shè)計(jì)理論是對(duì)數(shù)據(jù)庫理論的延伸
數(shù)據(jù)庫設(shè)計(jì)理論對(duì)數(shù)據(jù)庫理論在很多方面進(jìn)行了延伸和擴(kuò)展,使得數(shù)據(jù)庫理論更加簡捷、方便和直觀.在邏輯結(jié)構(gòu)設(shè)計(jì)中,將概念模型的產(chǎn)品基本E-R圖轉(zhuǎn)換為邏輯結(jié)構(gòu)的關(guān)系模型,是模式分解理論的直接應(yīng)用,是在數(shù)據(jù)庫理論基礎(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ù)庫實(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.1 處理好數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)和數(shù)據(jù)庫設(shè)計(jì)理論的關(guān)系
數(shù)據(jù)庫設(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é)生成績管理系統(tǒng)為例說明.學(xué)生成績管理系統(tǒng)包含下列3個(gè)關(guān)系:
學(xué)生(學(xué)號(hào),姓名,性別,出生年月);
課程(課號(hào),課名,學(xué)時(shí),學(xué)分);
成績(學(xué)號(hào),課號(hào),成績).
我們經(jīng)常查詢“某同學(xué)學(xué)習(xí)某課程的成績”,這就需要3個(gè)關(guān)系的連接,如果學(xué)生人數(shù)較多(數(shù)據(jù)庫較大),可能需要較長時(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ù)庫課程設(shè)計(jì)的基礎(chǔ)
數(shù)據(jù)庫課程是理論與應(yīng)用結(jié)合較為緊密的一門課程.學(xué)習(xí)數(shù)據(jù)庫課程的主要目的是為了應(yīng)用. 因此,為了深入淺出地講授數(shù)據(jù)庫理論,在每一章都設(shè)計(jì)一些課程實(shí)驗(yàn),以便通過實(shí)踐驗(yàn)證理論,同時(shí)掌握其應(yīng)用方法,為后續(xù)的課程設(shè)計(jì)打下基礎(chǔ).在大部分教科書中,都是以SQL Server為例,講授SQL語言、數(shù)據(jù)的安全性、完整性.在講授SQL語言時(shí),可以讓學(xué)生先建立數(shù)據(jù)庫,結(jié)合所學(xué)內(nèi)容對(duì)數(shù)據(jù)庫進(jìn)行查詢、插入、刪除、修改等實(shí)踐操作,在實(shí)踐的過程中真正理解并掌握SQL語言的應(yīng)用環(huán)境.在講授數(shù)據(jù)庫安全性和完整性時(shí),利用數(shù)據(jù)庫系統(tǒng)的實(shí)際應(yīng)用讓學(xué)生對(duì)系統(tǒng)做數(shù)據(jù)控制.提高學(xué)生對(duì)數(shù)據(jù)庫課程的認(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).數(shù)據(jù)庫設(shè)計(jì)理論主要是為了指導(dǎo)數(shù)據(jù)庫的應(yīng)用和實(shí)踐,通過系統(tǒng)的理論學(xué)習(xí)和部分單元(如創(chuàng)建用戶、創(chuàng)建視圖、用戶管理、權(quán)限管理等)的應(yīng)用實(shí)踐訓(xùn)練,充分認(rèn)識(shí)到DBA在數(shù)據(jù)庫系統(tǒng)中的作用.通過課程設(shè)計(jì)讓學(xué)生在掌握數(shù)據(jù)庫設(shè)計(jì)理論的同時(shí)掌握數(shù)據(jù)庫課程設(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ù)庫設(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é)期期末成績.通過課程設(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ù)庫課程設(shè)計(jì)的具體內(nèi)容
數(shù)據(jù)庫設(shè)計(jì)是在指定的應(yīng)用環(huán)境下,構(gòu)建最優(yōu)的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),滿足各種用戶的各種需求(信息、管理和操作需求) ,并能夠有效地存儲(chǔ)和管理數(shù)據(jù).數(shù)據(jù)庫設(shè)計(jì)要按照需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫的運(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à)滿足用戶的效率要求.數(shù)據(jù)庫實(shí)施和運(yùn)行維護(hù)主要考慮代碼的編寫、調(diào)試、試運(yùn)行和維護(hù),涉及數(shù)據(jù)轉(zhuǎn)儲(chǔ)、安全性、完整性、數(shù)據(jù)組等問題.整個(gè)設(shè)計(jì)都是在數(shù)據(jù)庫理論的指導(dǎo)下進(jìn)行[3]181-250.
數(shù)據(jù)庫課程設(shè)計(jì)是理論和實(shí)踐的有機(jī)結(jié)合,隨著計(jì)算機(jī)應(yīng)用的深入,數(shù)據(jù)庫應(yīng)用在社會(huì)生活中越來越重要,應(yīng)用范圍也越來越廣,如何使數(shù)據(jù)庫理論和設(shè)計(jì)更好的結(jié)合是值得高校教師深入探討的問題.只有不斷的探索數(shù)據(jù)庫課程設(shè)計(jì)理論,才能在實(shí)際應(yīng)用中得到創(chuàng)新.
[1] DATE C J.數(shù)據(jù)庫系統(tǒng)導(dǎo)論[M].孟小峰,王 珊,譯.北京:機(jī)械工業(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ù)(項(xiàng)目編號(hào):ITE12077)
梁詠梅(1967- ),女,河南商丘人,商丘職業(yè)技術(shù)學(xué)院副教授,主要從事計(jì)算機(jī)應(yīng)用研究。
1671-8127(2015)05-0020-03
TP311.13-4
A
商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào)2015年5期