梅紅
摘要:在數(shù)據(jù)庫設計的過程中規(guī)范化理論是最為重要的部分,直接影響關系模式的設計與數(shù)據(jù)庫設計的成功與否?;诖?,為了保證研究效率,要重視結(jié)合數(shù)據(jù)庫設計實際,有效的分析規(guī)范化理論,保障數(shù)據(jù)庫設計符合系統(tǒng)應用需求,深入研究規(guī)范化理論在數(shù)據(jù)設計中的應用,以及規(guī)范化理論的重要作用是非常必要的。
關鍵詞:規(guī)范化理論;數(shù)據(jù)庫設計;重要作用
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1007-9416(2019)10-0217-02
0 引言
進行數(shù)據(jù)庫設計需要從多個方面入手,包括需求分析、邏輯設計、概念設計等等。在進行概念設計的過程中,設計者要從多個角度入手,對實體以及相關屬性進行抽取,這樣才能夠?qū)徲嫵霾煌腅-R圖,再將E-R圖進行數(shù)據(jù)表轉(zhuǎn)換。在這個過程中,規(guī)范化理論的作用就凸顯出來,規(guī)范化理論是未然范式建立的,是研究不合理的關系模式轉(zhuǎn)化為合理的關系模式的理論,同時也與數(shù)據(jù)庫設計緊密相關。下面通過實踐,有效的對其進行深入探索。
1 關系數(shù)據(jù)庫規(guī)范化
為了保障每個環(huán)節(jié)設計的順利進行,需要對不同關系進行研究與定義,關系數(shù)據(jù)庫規(guī)范化理論對“設計不合理的關系模式”向“合理的關系模式”轉(zhuǎn)化進行研究,其具體的思路,以合理分解關系為基礎,有效的消除相關數(shù)據(jù)依賴,從而解決數(shù)據(jù)冗余,從實際分析,其中的每一個關系都是在一定的制約條件下存在的,這種存在方式被稱之為范式。較低范式關系可以通過轉(zhuǎn)換,成為多個較高級的范式關系的集合,這種轉(zhuǎn)換是通過無損分解實現(xiàn)的,這個轉(zhuǎn)換的過程就是關系規(guī)范化。
2 關系模式規(guī)范化的重要性
關系模式是研究的重點,也是數(shù)據(jù)庫設計過程重要研究內(nèi)容。在應用的過程中,如果遇到關系規(guī)范化的問題,應該結(jié)合實際案例,開展實踐設計,以提高數(shù)據(jù)庫設計效率。如:有一個企業(yè)員工管理數(shù)據(jù)庫,其中包括使用者(老板、員工等)的工作號、姓名、性別、工作科室、工作范圍、考核成績等,根據(jù)這些信息,要設計有效的系統(tǒng)關系模式,并結(jié)合關系模式,確定使用者的相關信息(工作號、姓名、性別、工作科室、工作范圍、考核成績)。在構建關系模式過程中,要進行有效分析,針對如下問題進行解決:
2.1 數(shù)據(jù)冗余度大
數(shù)據(jù)冗余是指數(shù)據(jù)之間的重復,也可以說是同一數(shù)據(jù)存儲在不同數(shù)據(jù)文件中的現(xiàn)象。數(shù)據(jù)應該盡可能少地冗余,這意味著重復數(shù)據(jù)應該減少到最少。比如說,一個科室的工作人員的“工作范圍”不應該被存儲在不同的表中, 因為這里的“工作范圍”是科室人員的一個屬性。如果存在過多的冗余數(shù)據(jù),這就意味著要占用了更多的物理空間,同時也對數(shù)據(jù)的維護和一致性檢查帶來了問題,當這個員工的“工作范圍”變化時,冗余數(shù)據(jù)會導致對多個表的更新動作,如果有一個表不幸被忽略了,那么就可能導致數(shù)據(jù)的不一致性。
2.2 插入異常
數(shù)據(jù)插入異常是指應該插入數(shù)據(jù)的未被插入,這里的“未”并非指系統(tǒng)或代碼異常,而是說數(shù)據(jù)庫設計上有問題,某條記錄在符合了所在領域的要求后仍無法存入,說明表中存在了非當前領域的屬性。例如,“科室工作人員”表不應該存在“科室主任”這個屬性,因為這會導致一個問題:如果這個科室新進入的工作人員沒有科室主任的關聯(lián)信息,就無法通過信息插入模式寫入數(shù)據(jù)庫。
2.3 刪除異常
指的是當你需要刪除的時候,數(shù)據(jù)不能被刪除而導致的刪除錯誤;或者是刪除數(shù)據(jù)后導致數(shù)據(jù)庫的某些關聯(lián)錯誤。例如,如果一個科室的全部工作者都轉(zhuǎn)去其他科室,同時,這個科室沒有新的工作人員轉(zhuǎn)入,那么可以采取刪除模式。但是刪除后,科室類型還在,數(shù)據(jù)庫中卻找不到相關科室信息。從實際分析,科室工作人員關系就不能與合理的數(shù)據(jù)庫模式繼續(xù)關聯(lián)。為了構建合理的模式,必然要避免類似問題產(chǎn)生,以進一步提高工作效率。
3 規(guī)范化理論在數(shù)據(jù)庫設計中的應用分析
規(guī)范化理論的進一步應用,有利于完善數(shù)據(jù)庫設計,能夠保證數(shù)據(jù)庫設計效率和數(shù)據(jù)庫的獨立性和完善性,基于此,對于設計者來說,要注重結(jié)合需求實際,加強對于數(shù)據(jù)庫規(guī)范化設計的認識。
3.1 第一范式(1NF)
如果一個關系模式中R的所有屬性都是原子的,那么,從實際分析,該模式中的元素不可再分,這個關系模式被稱為1NF關系模式。在這個關系模式中,不存在可分數(shù)據(jù)行,這樣滿足第一范式的要求,實體之間為一對一關系,否則實體在同一列中有多個值,1NF規(guī)范性不足,限制太少,信息過于復雜。
3.2 第二范式(2NF)
如果關系模式R(U,F(xiàn))屬于1NF,并且R中的每個非主屬性都完全依賴于關系碼,因此,R(U,F(xiàn))屬于2NF。
將1NF進行有效的轉(zhuǎn)化,使其轉(zhuǎn)化成2NF,其轉(zhuǎn)化階段就是利用投影分解法進行的。結(jié)合分解分析,兩者之間的關系從屬于2NF,若進一步分析,會得到以下問題,需要加強設計認識。
(1)數(shù)據(jù)冗余度過大,科室主任信息會出現(xiàn)重復儲存的現(xiàn)象。(2)修改麻煩,如果一個科室換了主任,那么進行修改,就需要針對相應的工作者所對應的科室主任名字,如果忽視了其中一個修改,就會造成數(shù)據(jù)的不同。(3)插入異常,如果從新開設了一個新的科室,那么在沒有招入新工作人員的情況下,不能插入相對應的信息。(4)刪除異常,如果想要刪除其中一名工作者的記錄,比如李明,那么整個元組就都會消失,連同一個科室的信息都會被刪除,這樣就會出現(xiàn)大量信息丟失的情況。
3.3 第三范式(3NF)
若R(U,F(xiàn))都從屬于2NF,則需要依靠關系進行分析,要嚴格按關系進行設計。否則R(U,F(xiàn))屬于3NF。通過進一步分析,總結(jié)出的分解方式是:傳遞函數(shù)需要進行單獨提取,可以分成基本信息與科室信息兩部分,以兩個關系模式進行體現(xiàn),具體如下:
工作者基本信息(工作號、性別、科室);
科室信息(科室類型、科室主任);
這個時候,兩個模式都屬于3NF,也就是可以避免出現(xiàn)如上問題。再次對第一次分解后的工作者績效成績關系模式進行統(tǒng)計與研究,這樣一來,滿足了3NF,但實際過程,還存在一定不足:數(shù)據(jù)冗余量依舊很大,修改依舊比較麻煩,另外,其中還是存在插入異常以及刪除異常的問題。
4 關系數(shù)據(jù)庫規(guī)范化的原則研究
關系數(shù)據(jù)庫規(guī)范化有兩個重要原則:(1)無損連接。(2)保持函數(shù)依賴。無損連接過程以信息的安全為主,在此過程不能丟失信息,通過分解后,仍然可以回復到原來的關系,其作用是保證分解數(shù)據(jù)的價值。保持函數(shù)依賴原則是對關系進行分解后的要求,不能破壞數(shù)據(jù)信息,要保證必要的函數(shù)依賴,這樣的分解模式是等價的。通過規(guī)范化管理,實現(xiàn)了無損連接,利于數(shù)據(jù)庫運行,能夠保證其運行效率與準確性。
5 結(jié)語
數(shù)據(jù)庫構建過程中規(guī)范化設計具有明顯的優(yōu)勢,但是,從本文所提出實際情況分析,若為了不斷提高設計效率,要重視以規(guī)范化的模式研究,積極制定更加高效的數(shù)據(jù)庫設計方案,并有效的進行實踐運用,從而才能保證數(shù)據(jù)庫運行質(zhì)量,總之,本文的研究,旨在為相關設計者提供支持,希望能夠更好的促進數(shù)據(jù)庫建設完善。
參考文獻
[1] 黃雅瓊.數(shù)據(jù)庫邏輯設計中的規(guī)范化[J].信息記錄材料,2018,19(03):247-248.
[2] 楊靖祎.規(guī)范和設計技巧在數(shù)據(jù)庫設計中的研究[J].中國衛(wèi)生產(chǎn)業(yè),2017,14(29):70-71.