摘 要:本文對“數(shù)據(jù)庫原理”課程的關(guān)系數(shù)據(jù)理論學(xué)習(xí)方法進(jìn)行研究,首先闡述了該知識點的學(xué)習(xí)目的和學(xué)習(xí)內(nèi)容,其次分別介紹了各子知識點的學(xué)習(xí)要素和學(xué)習(xí)方法。
關(guān)鍵詞:數(shù)據(jù)庫;關(guān)系數(shù)據(jù)理論;學(xué)習(xí)方法
關(guān)系數(shù)據(jù)理論是“數(shù)據(jù)庫原理”課程的教學(xué)重點和教學(xué)難點,由于其內(nèi)容涉及的概念、定義、定理、推理較多,學(xué)生在學(xué)習(xí)該部分內(nèi)容時,由于不能很好地把握學(xué)習(xí)方法,從而導(dǎo)致學(xué)習(xí)效率低、學(xué)習(xí)效果差的狀況。本文對關(guān)系數(shù)據(jù)理論部分知識點的學(xué)習(xí)方法進(jìn)行研究,以提高學(xué)生對該部分知識的掌握能力和實際運用能力。
1 學(xué)習(xí)目的與學(xué)習(xí)內(nèi)容
如何構(gòu)造一個好的數(shù)據(jù)庫模式是關(guān)系數(shù)據(jù)理論研究的實際應(yīng)用背景,學(xué)生學(xué)習(xí)了該部分知識后,不僅應(yīng)能夠?qū)?shù)據(jù)庫模式的優(yōu)劣進(jìn)行判斷,而且能夠設(shè)計建立良好的數(shù)據(jù)庫模式,以使得在關(guān)系操作過程中盡可能避免或較少地產(chǎn)生異常。
關(guān)系數(shù)據(jù)理論的主要學(xué)習(xí)內(nèi)容包括:規(guī)范化理論、數(shù)據(jù)依賴公理系統(tǒng)和模式分解。規(guī)范化理論部分,主要掌握依賴關(guān)系及范式的定義及概念;數(shù)據(jù)依賴公理系統(tǒng)部分,主要掌握基本公理、推理、覆蓋及閉包,并熟練應(yīng)用推導(dǎo);模式分解部分,要求能夠針對具體問題,運用所學(xué)理論進(jìn)行模式分解。
2 學(xué)習(xí)方法
基于上述學(xué)習(xí)內(nèi)容的劃分,下面分別研究分析每部分內(nèi)容的學(xué)習(xí)方法。
2.1 規(guī)范化理論學(xué)習(xí)
所謂規(guī)范化即是要逐步消除數(shù)據(jù)庫模式中不合適的數(shù)據(jù)依賴,它表達(dá)了數(shù)據(jù)庫模式中各關(guān)系模式達(dá)到某種程度的分離[1]。這種分離過程,即規(guī)范化過程是通過模式分解來實現(xiàn)的,把低一級的關(guān)系模式分解為若干個高一級的關(guān)系模式[2]。學(xué)習(xí)規(guī)范化理論時,學(xué)生重點學(xué)習(xí)兩種依賴關(guān)系和六個等級的范式,弄清依賴關(guān)系與范式之間的對應(yīng)關(guān)系,理解記憶這些定義的內(nèi)涵。例如,完全函數(shù)依賴和部分函數(shù)依賴是與第二范式的定義有關(guān)聯(lián)的,學(xué)習(xí)時要注意將兩者聯(lián)系起來。為輔助概念的理解,在學(xué)習(xí)過程中,還可以建立一到兩個與自身相關(guān)的易于理解的實例。如學(xué)習(xí)完全函數(shù)依賴、部分函數(shù)依賴及第二范式時,可構(gòu)造關(guān)系模式A(學(xué)號,系編號,系住所,課程號,成績),B(學(xué)號,系編號,系住所)和C(學(xué)號,課程號,成績),模式A中含有非主屬性對碼的部分函數(shù)依賴關(guān)系,因此模式A不屬于第二范式,模式B和模式C中所有非主屬性對碼都是完全函數(shù)依賴關(guān)系,因此模式B和模式C屬于第二范式。
2.2 數(shù)據(jù)依賴公理系統(tǒng)學(xué)習(xí)
數(shù)據(jù)依賴公理系統(tǒng)是模式分解算法的理論基礎(chǔ)[2],其中的Armstrong公理系統(tǒng)是一個學(xué)習(xí)重點。學(xué)生學(xué)習(xí)這部分內(nèi)容時,首先應(yīng)熟練掌握Armstrong公理系統(tǒng)的六條推理規(guī)則。其次,學(xué)生應(yīng)理解兩個概念:閉包和覆蓋。求閉包的作用在于確定關(guān)系模式的候選碼,以便對其中的函數(shù)依賴以及范式的級別進(jìn)行判斷;覆蓋表示函數(shù)依賴集的等價,這里學(xué)生應(yīng)掌握最小覆蓋的構(gòu)造方法,也就是說,給定一個函數(shù)依賴集,都能找到與其等價的一個最小的函數(shù)依賴集。求閉包和最小覆蓋有兩個成熟的算法,學(xué)生學(xué)習(xí)時,可以考慮用一門高級語言來實現(xiàn)這兩個算法,不但使枯燥的理論學(xué)習(xí)更加生動活潑,鍛煉自己的編程能力,還能夠加深對算法的理解和記憶。
2.3 模式分解學(xué)習(xí)
模式分解是提高關(guān)系模式規(guī)范化程度的主要途徑,分解后的模式應(yīng)與分解前的模式等價,有三種不同的等價定義:1)分解具有“無損連接性”;2)分解要“保持函數(shù)依賴”;3)分解既要“保持函數(shù)依賴”又要具有“無損連接性”。學(xué)習(xí)時,首先要理解無損和保持函數(shù)依賴的涵義及判定方法,其次需要掌握模式分解的方法。模式分解的方法主要分為兩大類,第一類稱為投影分解法,這種方法有一套類似的方案,適用于模式的逐級規(guī)范化,即將一個滿足第N范式的關(guān)系模式分解為若干個滿足第N+1范式的關(guān)系模式;第二類稱為模式分解算法,其適用于特定范式級別特定等價定義的分解,例如將模式分解為第三范式既有無損連接性又保持函數(shù)依賴的分解算法。這部分內(nèi)容屬于知識的綜合運用部分,學(xué)生應(yīng)該多做多練,在大量的實戰(zhàn)練習(xí)中更好將知識融會貫通。
3 結(jié)論
本文從規(guī)范化理論、數(shù)據(jù)依賴公理系統(tǒng)和模式分解三個方面的內(nèi)容闡述了關(guān)系數(shù)據(jù)理論的學(xué)習(xí)要點和學(xué)習(xí)方法,以期望對學(xué)生學(xué)習(xí)該部分內(nèi)容時有所幫助,增強(qiáng)學(xué)生對知識的掌握能力和綜合運用能力。
[參考文獻(xiàn)]
[1]呂鳴,王萍,劉建斌.關(guān)系數(shù)據(jù)理論的教學(xué)實踐探索.中國電子教育, 2012,3:69-72.
[2]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版).高等教育出版社,北京.