前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高職教育數(shù)據(jù)庫理論授課方法探析范文,希望能給你帶來靈感和參考,敬請閱讀。
[摘要]針對高職院校數(shù)據(jù)庫理論授課方法的研究,旨在探索計算機理論部分教學(xué)的方法。對比本科教育和高職教育對數(shù)據(jù)庫人才需求的不同,結(jié)合教材和學(xué)生現(xiàn)狀分析目前數(shù)據(jù)庫理論教學(xué)的不足,利用案例和引導(dǎo)教學(xué)法逐一分析數(shù)據(jù)庫理論課的重要知識點。通過教學(xué)效果進行驗證,最后提出后續(xù)改進的方向。
[關(guān)鍵詞]數(shù)據(jù)庫理論;三級范式;參照完整性
無論在本科還是高職計算機應(yīng)用專業(yè)課程體系中,數(shù)據(jù)庫都是必不可少的一門核心課程。本文并不深入探討學(xué)習(xí)數(shù)據(jù)庫課程的重要性,而僅就高職教育中數(shù)據(jù)庫理論部分的教學(xué)方法進行深入研究。上海很多本科院校數(shù)據(jù)庫課程采用國外原版教材,課程內(nèi)容偏理論和算法,重點是講授創(chuàng)建關(guān)系數(shù)據(jù)庫管理系統(tǒng)(例如MYSQL)所需要的算法以及關(guān)系型數(shù)據(jù)庫的特點和規(guī)范。高職院校普遍采用的是基于任務(wù)驅(qū)動型的數(shù)據(jù)庫教材,以某類管理系統(tǒng)(如圖書管理系統(tǒng)或?qū)W生管理系統(tǒng))為例,一步步從創(chuàng)建庫到編輯查詢數(shù)據(jù),從而讓學(xué)生掌握數(shù)據(jù)庫知識尤其SQL語言的用法??梢钥闯?,本科和高職計算機應(yīng)用專業(yè)數(shù)據(jù)庫的教學(xué)內(nèi)容有很大的區(qū)別,造成這種區(qū)別的原因是培養(yǎng)目標的不同,本科計算機專業(yè)數(shù)據(jù)庫課程希望能夠培養(yǎng)出開發(fā)數(shù)據(jù)庫管理系統(tǒng)的研究型人才,而高職計算機專業(yè)數(shù)據(jù)庫課程希望培養(yǎng)出能夠從事數(shù)據(jù)庫技術(shù)應(yīng)用的應(yīng)用型人才。無論這兩種培養(yǎng)目標有多么不同,針對關(guān)系型數(shù)據(jù)庫的基本理論尤其是三級范式都是必講的內(nèi)容,這些理論知識有助于學(xué)生對關(guān)系數(shù)據(jù)庫的全面認識,同時有利于教師數(shù)據(jù)庫后續(xù)內(nèi)容的講授和學(xué)生自學(xué)。在高職數(shù)據(jù)庫教材中,數(shù)據(jù)庫理論這部分內(nèi)容大多數(shù)用專業(yè)術(shù)語和概念進行描述,示例較少或基本沒有,造成了學(xué)生對理論學(xué)習(xí)的畏懼,同時也不利于教師對這部分內(nèi)容的講解。為了改變這種情況,下文針對數(shù)據(jù)庫重點理論知識逐一深入分析,如下圖。
一、學(xué)生特點分析和教學(xué)思路研究
通過調(diào)研上海東海職業(yè)技術(shù)學(xué)院計算機專業(yè)學(xué)生情況,包括調(diào)研教師、輔導(dǎo)員和家長對學(xué)生的評價發(fā)現(xiàn),高職院校的學(xué)生普遍理論基礎(chǔ)薄弱,厭倦大段的理論知識,學(xué)習(xí)主動性不夠,盡管知道計算機行業(yè)很有前途,但對自己信心不足。同時調(diào)研發(fā)現(xiàn)學(xué)生喜歡通過具體的示例來學(xué)習(xí)知識點,針對這種情況,筆者在數(shù)據(jù)庫理論部分的教學(xué)主要采用案例和引導(dǎo)式教學(xué)法。具體而言就是針對部分高職學(xué)生主動性不足和缺乏自信的情況,讓學(xué)生主動參與到課程中來,通過日常生活學(xué)習(xí)的例子讓他們消除對理論學(xué)習(xí)的恐懼。通過不斷拋出問題,解決問題的過程,讓他們獲得成就感和自信心。將數(shù)據(jù)庫理論所使用的邏輯用日常生活中的邏輯進行講解,可以提高學(xué)生的理解和記憶。
二、數(shù)據(jù)庫理論授課內(nèi)容深入分析
(一)數(shù)據(jù)庫歷史
讓學(xué)生了解在數(shù)據(jù)庫的發(fā)展歷史中還存在過其他類型的數(shù)據(jù)庫,例如層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫,這些數(shù)據(jù)庫被淘汰的原因是因為不能適應(yīng)日趨復(fù)雜的數(shù)據(jù)存儲和查詢的需求。同時告訴學(xué)生關(guān)系數(shù)據(jù)庫也不是萬能的,關(guān)系數(shù)據(jù)庫的優(yōu)點是數(shù)據(jù)一致和避免數(shù)據(jù)冗余。但在大數(shù)據(jù)應(yīng)用中,關(guān)系數(shù)據(jù)庫的優(yōu)點恰恰就是它的缺點,在大數(shù)據(jù)應(yīng)用環(huán)境中系統(tǒng)希望通過一定的數(shù)據(jù)冗余來提高查詢和分析的速度。
(二)主鍵的理解
主鍵是可唯一標識一條記錄的字段或字段集。通過舉例讓學(xué)生掌握主鍵對數(shù)據(jù)表的作用。這里通過引導(dǎo)式教學(xué)法進行講解,第一步告訴學(xué)生,以表1為例,相同的記錄不會給用戶帶來任何好處,反而會直接影響統(tǒng)計的準確性,因此關(guān)系數(shù)據(jù)庫是不允許出現(xiàn)完全相同的記錄,主鍵是避免出現(xiàn)相同記錄的主要技術(shù)手段。第二步引導(dǎo)學(xué)生,針對表1哪個字段可以設(shè)置為主鍵,姓名字段還是地址字段?理論上會出現(xiàn)姓名重名和地址相同的情況,因此姓名和地址不能作主鍵。第三步告訴學(xué)生學(xué)號可以唯一標識一條記錄,可以做主鍵。
(三)Null值的含義
Null英文單詞是空的意思,但在數(shù)據(jù)庫中表示不確定,如何讓學(xué)生理解?可以舉例:張三同學(xué)被A學(xué)校錄取,他去學(xué)校報到,但由于種種原因,還沒有給他分班,因此這個學(xué)生的班級字段值就是不確定的,是Null。
(四)參照完整性
關(guān)系數(shù)據(jù)庫參照完整性(ReferentialIntegrity)是指如果關(guān)系R2的外部關(guān)系鍵X與關(guān)系R1的主鍵相符,則X的每個值或者等于R1中主鍵的某一個值,或者取空值。參照完整性是關(guān)系數(shù)據(jù)庫中保證數(shù)據(jù)一致性的關(guān)鍵手段。為了理解參照完整性,舉例:學(xué)生表是表R2,班級表是表R1,學(xué)生表的班級編號是外部關(guān)系鍵X,X的每個值或者等于班級表中的班級編號,或者為空。通過這個例子我們可以看出,為了避免數(shù)據(jù)冗余,學(xué)生表中的班級編號來源于班級表的班級編號,如果想查詢某個學(xué)生的班級信息,可以通過班級編號進行查詢。我們換種思路,將表2的班級編號字段刪除,在表3中添加一個學(xué)號字段,可以嗎?這種設(shè)計是使班級表中的學(xué)號來源于學(xué)生表,也可以達到查詢學(xué)生班級信息的目的,這種設(shè)計理論上是可行的,但是不合理的,因為班級表會出現(xiàn)數(shù)據(jù)冗余,如何讓學(xué)生理解這種設(shè)計的不合理?我們可以引導(dǎo)學(xué)生回答以下問題:讓每個學(xué)生記住自己所在的班級容易還是讓班級記住本班所有學(xué)生容易?答案是肯定的,讓每個學(xué)生記住自己所在班級更加容易,因此表2和表3的設(shè)計是合理的。后面那種企圖讓班級記住所有學(xué)生的設(shè)計是不合理的。
(五)數(shù)據(jù)庫范式
第一范式:數(shù)據(jù)行中每一個字段值都必須是不可分割的數(shù)據(jù)項,第一范式比較容易理解,這里就不展開了。第二范式:不僅滿足第一范式,而且所有非主鍵字段完全依賴于主鍵,關(guān)鍵詞是完全依賴。舉例如下:我們來判斷表4是否滿足第二范式。表4的主鍵是學(xué)生編號和班級編號,通過主鍵可以確定一名學(xué)生,通過這個學(xué)生我們可以知道他(她)的性別和姓名,而單獨通過學(xué)生編號或班級編號是無法確定一個學(xué)生的,因此我們說姓名和性別字段完全依賴于主鍵。但對班級地址字段而言,我們僅需通過班級編號就可以確定班級地址,而不需要學(xué)生編號信息,因此我們說班級地址部分依賴于主鍵。所以說表4不滿足第二范式,如何進行修改而使它滿足第二范式?解法方法是將表4的班級地址字段移到表5中,由此可以看出第二范式可以使數(shù)據(jù)表中描述的數(shù)據(jù)更加集中,例如表4是學(xué)生表,該表中的數(shù)據(jù)就應(yīng)該與學(xué)生信息直接相關(guān),不相關(guān)的班級地址數(shù)據(jù)要進行移除。第三范式:不僅滿足第二范式,而且它的任何一個非主鍵字段都不傳遞任何主關(guān)鍵字,第三范式的定義很拗口,我們可以將它重新組織一下:滿足第三范式,即不存在非主鍵字段A,依賴于非主鍵字段B,而B依賴于主鍵的情況。如何理解第三范式?我們通過一個例子來進行說明:我們來判斷表6是否滿足第三范式?其中教師編號是主鍵,姓名和性別字段完全依賴于主鍵,職稱也完全依賴于主鍵,但是職稱工資與教師編號沒有直接關(guān)系,它只與職稱有關(guān),因此出現(xiàn)了職稱工資依賴于職稱,而職稱依賴于教師編號的情況,所以表6不符合第三范式,如何對其進行修改使它滿足第三范式?將表6的職稱和職稱工資字段刪除,同時增加一列職稱類別。然后新建一張職稱工資表,將職稱和職稱工資增加到該表中,見表7。第二范式和第三范式比較相似,但在表現(xiàn)形式和解決辦法上是不同的,要重點解釋這兩個范式的區(qū)別。
三、教學(xué)效果分析
本人在企業(yè)從事計算機開發(fā)工作10余年,在上海東海職業(yè)技術(shù)學(xué)院從教兩年,主要教授《數(shù)據(jù)庫原理及應(yīng)用》和《動態(tài)語言設(shè)計與開發(fā)》,針對數(shù)據(jù)庫理論分別采用本文所寫內(nèi)容和傳統(tǒng)方式進行教學(xué),明顯感覺采用案例結(jié)合引導(dǎo)式的教學(xué)方式使課堂氛圍更加活躍,學(xué)生提問的積極性更高,而采用傳統(tǒng)式教學(xué)學(xué)生普遍興趣不高。我們學(xué)校采用的數(shù)據(jù)庫教材是基于微軟公司MicrosoftSQLServer平臺,但有學(xué)生通過社會招聘,應(yīng)聘了Oracle數(shù)據(jù)庫的開發(fā)崗位,充分說明教學(xué)內(nèi)容改革后促進了學(xué)生的就業(yè)競爭力。
四、反思和總結(jié)
除了關(guān)系數(shù)據(jù)庫外,數(shù)據(jù)庫歷史上還存在層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫,層次數(shù)據(jù)庫還能找到一些資料,但網(wǎng)狀數(shù)據(jù)庫的相關(guān)資料較少,此部分內(nèi)容無法更深入的展開,在后續(xù)的教學(xué)中還要加強這部分的內(nèi)容。
參考文獻:
[1]蔡艷.數(shù)據(jù)庫原理及應(yīng)用[M].上海:上海交通大學(xué)出版社,2015.
[2]AlanBeaulieu.SQL學(xué)習(xí)指南[M].2版.張偉超,林青松,譯.人民郵電出版社,2015.
作者:瞿斌 單位:上海東海職業(yè)技術(shù)學(xué)院