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