公務員期刊網 論文中心 正文

數(shù)據庫關系模式整合方法

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了數(shù)據庫關系模式整合方法范文,希望能給你帶來靈感和參考,敬請閱讀。

數(shù)據庫關系模式整合方法

本文作者:張麗君 單位:河南科技學院

一、引言

在整個數(shù)據庫系統(tǒng)的設計過程中,總共分為六個基本階段,即需求分析、概念結構設計、邏輯結構設計、物理結構設計、數(shù)據庫的實施、數(shù)據庫試運行階段就。其中在邏輯結構設計階段的主要任務是如何將概念結構轉換的關系模式進行優(yōu)化。因為單純的從概念結構轉換的關系模式不一定具有“好”的性質。一個具有“好”的性質的關系模式中,沒有不必要的冗余數(shù)據,也沒有異常現(xiàn)象存在。所謂的冗余數(shù)據是指沒有必要重復、大量出現(xiàn)的數(shù)據,在數(shù)據庫中我們也不可能完全避免冗余現(xiàn)象,但是我們可以盡量減少冗余數(shù)據。異?,F(xiàn)象主要是指在對數(shù)據庫進行增、刪、改操作的時候可能會出現(xiàn)的一些錯誤現(xiàn)象。

二、實例分析

下面通過一個實例說明一個“不好”的數(shù)據庫中存在的問題。現(xiàn)有一個學生信息管理系統(tǒng),其中的一個“學生選課管理表”包含以下屬性:學號(sno),系別(sdept),系主任名(mname),課程號(cno),成績(grade)。假設這個表中總共有4名學生,分別選修了不同的課程,如下表1所示:那么在這個關系模式中存在什么問題呢?經過分析,主要存在以下問題:

1.數(shù)據冗余嚴重:每個院系的學生選一門課程,其系名就重復存儲一次;每個院系有多少個學生選課,系主任名就重復存儲多少次。

2.更新異常(UpdateAnomalies):由于存在數(shù)據冗余必然會導致更新數(shù)據時,操作更加復雜,使得維護數(shù)據完整性代價大。稍一疏忽,就會導致數(shù)據庫中數(shù)據的不一致。

3.插入異常(InsertionAnomalies):想要插入到表中的數(shù)據系統(tǒng)不允許插入,如新轉來一個學生,該生還沒有選課,因此這個元組信息就不允許插入,因為違反了實體完整性規(guī)則。

4.刪除異常(DeletionAnomalies):不想刪除的數(shù)據卻不得不從數(shù)據庫中刪除,如數(shù)學系的學生王五退學了,在刪除王五信息的同時,也把該院系的系主任信息刪除掉了,可是系主任信息只取決于院系,跟具體的學生沒有關系。

三、優(yōu)化方法

為了解決上述表中出現(xiàn)的各種問題,把一個“不好”的關系模式變成一個x性質“好”的關系模式。可以通過模式分解的方法來實現(xiàn)。把低級別的關系模式通過簡單的分解,逐步去除其中的冗余和異常現(xiàn)象,轉換為若干個高一級范式的關系模式集合,這個過程就叫關系模式的規(guī)范化。關系數(shù)據庫模式優(yōu)化就是以規(guī)范化理論為基礎,通過分析關系模式中屬性和屬性之間的函數(shù)依賴關系,按照一定的標準把一個大的關系模式進行分解,生成一些小的子關系模式,目的是通過破壞不合理的函數(shù)依賴,解決關系模式中存在的各種異常問題

(一)函數(shù)依賴基本概念

設R(U)是一個屬性集U上的關系模式,W和Z是U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在W上的屬性值相等,而在Z上的屬性值不等,則稱“W函數(shù)確定Z”或“Z函數(shù)依賴于W”,記作W→Z。也就是說,對t,s∈r,若t[W]=s[W],則t[Z]=s[Z]那么稱“W函數(shù)決定Z”,或“Z函數(shù)依賴于W”。需要說明的是,函數(shù)依賴是一個語義范疇的概念,而且函數(shù)依賴也不是指關系模式R的某個或某些關系實例滿足的約束條件,而是指R的所有關系實例均要滿足的約束條件。

(二)范式基本概念

范式是符合某一種級別的關系模式的集合。關系數(shù)據庫中的關系必須滿足一定的要求,滿足不同程度要求的為不同范式。各種范式之間存在聯(lián)系:1NF2NF3NFBCNF4NF5NF某一關系模式R為第n范式,可簡記為R∈nNF。1.1NF:第一范式要求關系中的所有分量都必須是不可再分的原子項。1NF是每個關系數(shù)據庫中的關系模式都應滿足的最低要求,也就是說如果一個關系模式不滿足第一范式,那么它就不能稱之為是關系數(shù)據庫。如圖1所示的關系模式就不滿足1NF,也就是不允許在一張表中又出現(xiàn)小表。2.2NF:若R∈1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R∈2NF。3.3NF:關系模式R<U,F(xiàn)>中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子集),使得X→Y,Y→Z成立,Y→X,則稱R<U,F(xiàn)>∈3NF。4.BCNF:設關系模式R<U,F(xiàn)>∈1NF,如果對于R的每個函數(shù)依賴X→Y,若Y不屬于X,則X必含有候選碼,那么R∈BCNF。5.4NF:若關系模式R中的每個非平凡多值依賴X→Y(YX),X都含有碼,則R∈4NF。6.5NF:若R∈4NF,且不存在連接依賴,則R∈5NF。

(三)優(yōu)化的方法

規(guī)范的關系模式可保證關系中消除數(shù)據冗余、消除插入困難、消除修改困難。關系模式優(yōu)化的基本思想就是逐步消除數(shù)據依賴中不合適的部分,使模式中的各關系模式達到某種程度的”分離”。其基本步驟如圖2所示。

(四)優(yōu)化實例

有關系模式學生(學號,課號,姓名,性別,系號,課名,成績,系主任,樓號),其中各個屬性之間的函數(shù)依賴如圖3所示。1.消除部分依賴,得到滿足2NF的關系模式:Student(學號,姓名,性別,系號,系主任,樓號)Sc(學號,課號,成績)Course(課號,課名)2.消除傳遞依賴,得到滿足3NF的關系模式:Student(學號,姓名,性別,系號)Deparment(系號,系主任,樓號)Sc(學號,課號,成績)Course(課號,課名)

四、結論

規(guī)范化首先要保證關系中所有屬性都是原子項,也就是在保證其滿足1NF的基礎上,如果關系的碼是由單屬性組成,則這個關系模式必然滿足2NF,否則消除部分函數(shù)依賴可得2NF關系;如果一個關系模式中所有屬性都是主屬性,則這個關系模式必然滿足3NF。如果有非主屬性存在,則還需要判斷是否對候選碼有傳遞函數(shù)依賴,如果有就消除之可得3NF關系;依此類推。直到消除了操作異?,F(xiàn)象。