|
MySQL數(shù)據(jù)庫是開放性跨平臺的一種開源型關(guān)系數(shù)據(jù)庫,是將事物及其相關(guān)數(shù)據(jù)以二維表的形式進行相關(guān)數(shù)據(jù)信息描述,同時MySQL提供完整約束條件操作,從而保證數(shù)據(jù)安性。論文以高校科研管理平臺的相關(guān)數(shù)據(jù)信息為數(shù)據(jù)基礎(chǔ),開發(fā)和研究相關(guān)數(shù)據(jù)表之間和數(shù)據(jù)與數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系。 1 引言 數(shù)據(jù)庫作為信息管理工具,已然成為當今數(shù)據(jù)信息管理的重要管理平臺。作為關(guān)系型數(shù)據(jù)庫MySQL,由于其具有的開源性和跨平臺性已經(jīng)越來越多的被廣大用戶所使用。MySQL數(shù)據(jù)庫可以實現(xiàn)多源化數(shù)據(jù)連接操作,包括網(wǎng)絡連接、ODBC連接等,同時MySQL還提供優(yōu)化查詢系統(tǒng),通過改系統(tǒng)查詢操作可以提高查詢效率和查詢速度,從而提高用戶對數(shù)據(jù)信息的處理過程。本文以高??蒲泄芾淼南嚓P(guān)數(shù)據(jù)信息作為數(shù)據(jù),通過建立科研立項信息表、管理機構(gòu)信息表以及項目申請人信息表等多張表格,在MySQL數(shù)據(jù)庫的信息管理平臺上,進行相關(guān)表格中數(shù)據(jù)信息以及表與表之間的數(shù)據(jù)結(jié)構(gòu)分析。 2 3NF范式 2.1 3NF概述 數(shù)據(jù)冗余是在數(shù)據(jù)處理方面需要解決的重要內(nèi)容,數(shù)據(jù)冗余處理如何會直接影響最終數(shù)據(jù)處理結(jié)果。因此在設(shè)計數(shù)據(jù)庫時候,特別是在關(guān)系型數(shù)據(jù)庫的設(shè)計過程中,往往要提出不同規(guī)范即范式來規(guī)范數(shù)據(jù)操作,達到用戶所需的要求。關(guān)系型數(shù)據(jù)庫主要提供六種范式,但其中常用的是第三范式――3NF,其以第二范式為基礎(chǔ),消除函數(shù)間的依賴關(guān)系。 在3NF中,數(shù)據(jù)結(jié)構(gòu)遵循第二范式中提出的數(shù)據(jù)信息定位化原則,也就是說在數(shù)據(jù)規(guī)范化的過程中,采用第三范式進行數(shù)據(jù)規(guī)范時要以第二范式作為數(shù)據(jù)規(guī)范操作基礎(chǔ),然后將第二范式得到的數(shù)據(jù)關(guān)系模式采用數(shù)據(jù)投影方式將數(shù)據(jù)關(guān)系進行分解,從而得到3NF范式關(guān)系模式集合,完成第三范式的數(shù)據(jù)規(guī)范化操作過程,達到較好的數(shù)據(jù)冗余處理結(jié)果。 2.2 3NF定義 在數(shù)據(jù)庫的研究過程中,針對計算機及其相關(guān)技術(shù)發(fā)展的不同階段,所給出有關(guān)第三范式的定義也是各不相同。在研究3NF前先給出有關(guān)第三范式傳遞函數(shù)的定義。 定義:如果X?Y,Y?Z,且Y?Z是非平凡函數(shù)依賴,但不成立Y?X和Z?Y,則稱Z傳遞函數(shù)依賴于X,記作X?Y?Z。 通過定義可以看出,在X、Y和Z三者之間存在相互依賴關(guān)系,也就是說假如存在一個關(guān)系集合R(u)所構(gòu)成的關(guān)系模式,其中關(guān)系X和關(guān)系Y之間存在著關(guān)系X決定關(guān)系Y,然后關(guān)系Y又決定關(guān)系Z,因此Y依賴與X,而Z依賴與Y。 2.3 投影分解過程及其算法 第二范式雖然規(guī)范化了數(shù)據(jù)表格的操作,但在數(shù)據(jù)冗余消除、刪除異常和插入異常等問題不能得到較好的解決,而第三范式卻能較好解決上述問題的出現(xiàn),因此對于第三范式在進行解決的過程中除了要依賴與第二范式外,還要采用投影分解方式來實現(xiàn)對數(shù)據(jù)表的分解過程,以達到第三范式對數(shù)據(jù)表的要求,具體投影分解步驟及其算法如下: (1)設(shè)關(guān)系集合R及其最小函數(shù)依賴關(guān)系集合Rmin; (2)求出R的最小函數(shù)依賴集Rmin; (3)如果R中的關(guān)系集合等于函數(shù)依賴集合Rmin,則說明關(guān)系集合R?3NF范式,結(jié)束第三范式分解過程;如果在Rmin的屬性集合中不存在,但在R屬性集合中存在的屬性關(guān)系,則將相應屬性從R中刪除,從而構(gòu)成一個新關(guān)系模式集合,將過程轉(zhuǎn)向(2);如果存在某個函數(shù)依賴關(guān)系,即Rmin中依賴與R的所有屬性關(guān)系,關(guān)系集合R將不能分解;但如果Rmin中存在有X依賴與Y的關(guān)系,則分解之后的關(guān)系包中應該應包含{X?Y}的關(guān)系集合,若有X?Y1,X?Y2,X?Y3......X?Yn都屬于Rmin中的關(guān)系集合,則分解之后的關(guān)系集合包應該包含{X?Y1,Y2,Y3......Yn}。 通過上面對第三范式的投影分解算法及其步驟描述過程來看,當?shù)?5)步中如果存在X不是非主屬性,則Y對任意鍵值多存在函數(shù)傳遞依賴關(guān)系X?Y?Z,因此關(guān)系集合R是3NF。否則不存在函數(shù)傳遞依賴關(guān)系,則不存在第三范式,需要進行上述步驟。 3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 3.1 數(shù)據(jù)表設(shè)計 數(shù)據(jù)表格的建立是完成數(shù)據(jù)信息存儲和信息處理的重要過程,根據(jù)高??蒲行畔⒐芾砥脚_建設(shè)以及完成對數(shù)據(jù)信息處理需要,建立相關(guān)數(shù)據(jù)表,用戶信息表、申請教師信息表、申請學院信息表等。通過對高??蒲行畔⒐芾硇枨蠓治鏊玫降慕Y(jié)果可以規(guī)劃出有關(guān)數(shù)據(jù)表,本文以院系及專業(yè)為例進行第三范式的投影分解過程來進行第三范式的研究。在院系及專業(yè)方面所涉及到的數(shù)據(jù)主要是學院編號、學院名稱、專業(yè)編號及專業(yè)名稱等,因此得到的數(shù)據(jù)如表1所示。 根據(jù)表1的描述可以看出,在該表中學院ID是作為該表中的主鍵,也就是說在該表中學院ID是完成該表數(shù)據(jù)索引的唯一鍵值,學院名稱、專業(yè)ID和專業(yè)名只是作為非規(guī)范化數(shù)據(jù)信息,因此如果在完成數(shù)據(jù)信息插入、刪除、修改等工作會出現(xiàn)數(shù)據(jù)信息操作錯誤,而在數(shù)據(jù)冗余方面也沒達到較好的數(shù)據(jù)冗余處理,在使用該表來完成數(shù)據(jù)信息操作會出現(xiàn)較高的數(shù)據(jù)冗余,所以在用戶管理上存在不便,同時在DBMS中的管理中也存在缺陷。 3.2 數(shù)據(jù)結(jié)構(gòu)操作 為了減少數(shù)據(jù)冗余和有關(guān)插入、刪除等誤操作,對表1進行數(shù)據(jù)規(guī)范化處理。根據(jù)第三范式――3NF定義及其算法的描述,對表1進行投影操作,完成對數(shù)據(jù)信息分解和分化,以達到數(shù)據(jù)表格簡化,實現(xiàn)數(shù)據(jù)結(jié)構(gòu)優(yōu)化目的。在整個數(shù)據(jù)結(jié)構(gòu)優(yōu)化操作過程中主要采用3NF范式的投影過程,將表1完成結(jié)構(gòu)化和規(guī)范化,方便數(shù)據(jù)處理和數(shù)據(jù)保存等過程。根據(jù)3NF范式的要求,得到表2和表3。 表2主要作用是完成對申請教師所在學院信息的數(shù)據(jù)存儲,根據(jù)高??蒲泄芾硇畔⑵脚_設(shè)計的需要,將該表中的字段名collegeid設(shè)計為主鍵,是各個申請教師所在學院信息的區(qū)別表述。 表3主要作用是完成申請教師專業(yè)信息存儲和處理,在設(shè)計該表過程中需要將dptid設(shè)置為該表關(guān)鍵字,即專業(yè)的唯一性。同時,在該表中以collegeid作為外鍵以達到表2和表1之間的依賴關(guān)系,完成第三范式的投影操作過程。 4 結(jié)束語 通過本文以高??蒲泄芾砥脚_中所涉及到數(shù)據(jù)表1的數(shù)據(jù)處理過程,以及采用第三范式完成對表2和表3的投影分解,可以看出3NF在對數(shù)據(jù)結(jié)構(gòu)處理過程中降低數(shù)據(jù)冗余,使得數(shù)據(jù)更加完整和簡捷。同時,對第三范式的使用,使得改系統(tǒng)在使用過程不會出現(xiàn)插入異常、刪除異常等操作導致信息在讀取上的錯誤信息。
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|