<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關系數據庫設計理論

      關系數據庫設計理論

       構造一個關系數據庫模式的方法可有多種

      1、舉例(學生選課數據庫)

      *數據庫模式的構造方法一

      用一個關系模式來描述學生選課信息()

      SCG S no , S name, S sex, S age, S dept C no , C name, C pno, C credit,Grade

      *數據庫模式的構造方法二

      *概念模型為(E-R圖):

                                 m           n

      *將概念模型轉換為以下關系模式:

      *學生表S tudent( S no , S name, S sex, S age, S dept) ;

      *課程表C ourse( C no , C name, C pno, C credit) 

      *學生選課 SC( Sno,Cname ,Grade)              

      SCG S no , S name, S sex, S age, S dept C no , C name, C pno, C credit,Grade

      S no

      S name

      S sex

      S age

      S dept

      C no

      C name

      C credit

      Grade

      001

      張三

      18

      101

      Pascal

      4

      90

      001

      張三

      18

      102

      操作系統

      4

      80

      001

      張三

      18

      103

      編譯

      3

      98

      001

      張三

      18

      105

      數據庫

      4

      87

      001

      張三

      18

      110

      數據結構

      4

      70

      002

      李四

      17

      信電

      103

      編譯

      4

      82

      002

      李四

      17

      信電

      105

      數據庫

      4

      87

      003

      王五

      19

      化工

      107

      網絡

      3

      86

      *學生表S tudent( S no , S name, S sex, S age, S dept) ;

      *課程表C ourse( C no , C name, C pno, C credit) 

      C no

      C name

      C credit

      101

      Pascal

      4

      102

      操作系統

      4

      103

      編譯

      3

      105

      數據庫

      4

      107

      網絡

      3

      110

      數據結構

      4

      *學生選課 SC( Sno,Cname ,Grade)

      S no

      C no

      Grade

      001

      101

      90

      001

      102

      80

      001

      103

      98

      001

      105

      87

      001

      110

      70

      002

      103

      82

      002

      105

      87

      003

      107

      86

      S no

      S name

      S sex

      S age

      S dept

      001

      張三

      18

      002

      李四

      17

      信電

      003

      王五

      19

      化工

      2、數據庫模式(關系模式)的不同構造方法與數據冗余度、插入異常、刪除異常、更新異常的關系

      1)  冗余度比較

      *方法1冗余度很大:學生信息冗余大(一個學生如選修n門課,其信息要重復存放n遍。如001號張三,重復存放5遍);課程信息冗余大(一門課程被 n 個學生選修,課程信息存放 次)

      *方法2冗余度小:只有學號課程號有冗余。冗余度大大小于前一個,它僅有少量冗余數據,這些冗余數據保持在合理水平。

      2)  更新異常(修改復雜)

      *方法1:由于數據冗余,更新數據庫中的數據時,系統需要付出很大的代價來維護數據庫的完整性;

      *方法2:修改復雜度大大減少。

      3)  插入異常

      *方法1:沒選課程的學生信息,沒被選修的課程信息,沒法插入到表中;(插入異常)

      *方法2:不同信息存放在不同的關系中,不產生插入異常現象。

      4)  刪除異常

      *方法1:如某門課只有一個學生選修,學生畢業或因病退學后,刪除相關信息后,課程等信息也被全部刪除;(刪除異常)

      *方法2:不同信息存放在不同的關系中,不產生刪除異常現象。

      3、小結

      1)  在關系數據庫設計中,關系模式的設計方案可以有多個;

      2)  不同的設計方案有好壞之分;

      3)  要設計一個好的關系模式方案,要以規范化理論作為指導,規范化理論研究屬性間的數據依賴關系,主要有函數依賴與多值依賴。關系規范化按屬性間不同的依賴程度分為第一范式、第二范式、第三范式、BC范式、第四范式。

      4.1 函數依賴

      函數依賴是關系模式內屬性間最常見的一種依賴關系

      1、  關系中屬性間函數依賴舉例

      學生關系屬性的集合U={ Sno,Sdept,Mname,Cname,Grade }

      現實世界的已知事實:

      1)  一個學生只屬于一個系(含義:學號確定后,學生所在的系也就被唯一確定了。類似于數學中的函數y=f(x),x=Sno,y= Sdept 。我們說 Sno 函數決定 Sdept, 或者說 ,Sdept 函數依賴于 Sno,  記做 sno sdept 反過來一個系有若干學生(解釋系不能決定學生)

      2)  一個系只有一名系主任(含義:系確定后系主任名被唯一確定了,類似于數學中的函數,我們說 Sdept 函數決定 Mname, 或者說 ,Mname 函數依賴于 Sdept 。記做 S dept Mname

      3)  一個學生可以選修多門課,每門課程有若干學生選修(含義:學號與課程號間夠不成決定被決定關系)

      4)  每個學生所學的每門課程都有一個成績,含義: (sno,cname)  → Grade

      屬性組 U 上的一組函數依賴 F={ sno sdept,  S dept Mname,(sno,cname)  → Grade  }    

      2、  函數依賴定義(4 . 1

      R(U) 是一個關系模式, U R 的屬性集合, X Y U 的子集。對于 R(U) 的任意一個可能的關系 r ,如果 r 中不存在兩個元組,他們在 X 上的屬性值相同,而在 Y 上屬性值不同,則稱“ X 函數決定 Y 或“ Y 函數依賴于 X , 記作 X Y

      見下表,如Sno →Sname,則 不存在 藍色 兩元組(即學號確定后,姓名不確定):

      S no

      S name

      S sex

      S age

      S dept

      001

      張三

      18

      001

      趙六

      002

      李四

      17

      信電

      003

      王五

      19

      化工

      思考題:1)碼是否一定函數決定非碼屬性?非碼屬性間是否存在函數依賴

        2)SNo Sdept 成立  (Sno,Cno)  → Sdept 是否也成立?

        3)找出以下幾個表的中的函數依賴

      SCG S no , S name, S sex, S age, S dept C no , C name, C pno, C credit,Grade

      *學生表S tudent( S no , S name, S sex, S age, S dept) ;

      *課程表C ourse( C no , C name, C pno, C credit) 

      *學生選課 SC( Sno,Cname ,Grade)              

      函數依賴的幾點說明:

      1)  函數依賴是所有關系實例(關系模式值的每一狀態)均要滿足的約束條件。

      2)  函數依賴是語義范疇。只能根據語義確定函數依賴。如:在沒有同名的情況下“姓名 年齡”成立

      3)  數據庫設計者可以對現實世界作強制的規定。

      4)  X Y ,則 X 稱為這個函數依賴的決定屬性集

      5)  X Y,Y X 則記為  X           Y

      6)  Y 不函數依賴于 X ,則記為 X      Y

      3、  平凡函數依賴與非平凡函數依賴定義( 4.2

      在關系模式 R(U) 中,對于 U 的子集 X Y ,如果 X Y ,但 Y 不是 X 的子集,則稱 X Y 是非平凡函數依賴。若 Y X 的子集,則稱 X Y 為平凡函數依賴。

      對于任一關系模式,平凡函數依賴都是必然成立的,它不反映新的語義。(為什么?)

      4、  完全函數依賴與部分函數依賴

      在關系模式 R(U) 中,如果 X Y,  并且對于 X 的任何一個真子集 X' 都有 X' Y ,則稱 Y 完全函數依賴于 X ,記作 X Y( f) 。若 X Y ,但 Y 不完全函數依賴于 X ,則稱 Y 部分函數依賴于 X ,記 X Y (少 P )。

      5、  傳遞函數依賴

      在關系模式 R(U) 中,如果 X Y Y Z ,且 Y 不是 X 的子集, X 不函數依賴于 Y ,則稱 Z 傳遞函數依賴于 X

      Std(Sno,Sdept,Mname)  Sno Sdept, Sdept Mname Mname 傳遞函數依賴于  Sno

      6、 

      K 為關系模式 R( U F )中屬性或屬性組。若 U 完全依賴于 K ,則 K 稱為 R 的一個侯選碼。若關系模式中有多個侯選碼,則選定一個作為主碼。

      4.2范式

      *1 NF :關系模式 R 的所有屬性都是不可分割的基本數據項,則 R 1NF

           ( 非主屬性函數依賴于碼 )

      *不滿足1NF的舉例:

      學生 ( 學號,姓名,年齡, 入學畢業年月 )

      *1 NF 是關系模式的起碼要求

      *第一范式舉例:

      SLC(Sno,Sdept,Sloc,Cno,Grade)  

      屬性函數依賴情況:

      (虛線表示部分函數依賴,實線表示完全函數依賴)

      插入異常:未選課的學生不能插入,因為碼值部分為空( 原因是對碼的部分函數依賴造成 )。(解決問題的辦法:把部分函數以來部分分解出來)

      刪除異常:某一學生的選課信息全部刪除后,學生的其他信息也被刪除,否則碼值部分為空(不允許)( 原因是對碼的部分函數依賴造成 )。(解決問題的辦法:把部分函數以來部分分解出來)

      數據冗余度大:一個學生選修了多門課程,同一學生的基本信息( Ssept,Sloc )需要保存多次。( 原因是對碼的部分函數依賴造成 )。(解決問題的辦法:把部分函數以來部分分解出來)

      修改復雜:修改某學生基本信息時,如果其選修多門課程,同一信息需要重復修改多次。( 原因是對碼的部分函數依賴造成 )(解決問題的辦法:把部分函數以來部分分解出來)

      2 NF :滿足第一范式,非主屬性完全函數依賴于碼

      前面的關系模式不滿足第二范式,分解為下面兩個模式后,部分函數依賴被消除:

      SC(sno,cno,grade)

      SL(Sno,Sdept,Sloc)

      分解成第二范式后 SC(sno,cno,grade) SL(Sno,Sdept,Sloc) 。以上4個問題在一定程度上得到了解決。

      1)  SL 關系中可以插入尚未選修的學生

      2)  刪除學生選課關系,只涉及 SC 關系,不涉及 SL 中的學生基本信息。

      3)  由于學生選課信息于學生基本信息分開存放,不論該學生選修了幾門課, Sdept Sloc 值都只存儲一次。

      4)  某學生轉系,只需要修改相關關系中的一個元組。

      第二范式 SL 中存在傳遞函數依賴,使得 SL 仍然存在上述4個問題。

      1)  插入異常:系剛成立,無在校學生,無法存入系信息。(解決問題的辦法:把與主碼無關的函數部分分解出來獨立構成關系模式,即消除     對主碼的傳遞函數依賴)

      2)  刪除異常:某系的全部學生畢業了,系的信息也丟失了。(解決問題的辦法:把與主碼無關的函數部分分解出來獨立構成關系模式,即消除對主碼的傳遞函數依賴)

      3)  數據冗余度大:每一個系的學生都住在同一個地方,關于系的住處信息卻要重復出現。

      4)  修改復雜:當某系學生調整住處時,需要修改所有學生的 Sloc 屬性值。

      造成上述4個問題的主要原因:非主屬性傳遞函數依賴于主碼。

      解決辦法:將傳遞函數依賴關系分解出來。

      3NF :滿足第2范式,且主屬性既不部分函數依賴于碼,也不傳遞函數依賴于碼

      SL(Sno,Sdept,Sloc)   分解為

                         SD(sno,sdept)

                        DL(Sdept,Sloc)

      規范化過程:

      規范化過程即為關系模式的不斷分解過程。

      規范化的實質:概念的單一化。

      規范化的目的:

      不斷解決關系插入異常、刪除異常、數據冗余度大、修改復雜問題。

      3NF 是工程上的標準,在工程應用上,達到第三范式一般情況下就可以了

      4.3  關系模式的規范化

      1、  第一范式到第三范式的分解過程:分解關系模式消除非主屬性對碼的部分函數依賴,分解關系模式消除非主屬性對碼的傳遞函數依賴。

      2、  關系模式的分解方法并不唯一,只有能夠保證分解后的關系模式與原關系模式等價的方法才有意義。

      1)  分解具有無損連接性:分解后不能丟失信息,即分解前的關系與分解后關系的自然連接結果相等。

      2)  分解后應能保持函數依賴。分解前的函數依賴F被分解后關系模式函數依賴F i 所邏輯蘊含

      3)  分解既保持函數依賴,又保持無損連接。

      3、  第3范式是工業標準

      若要求分解既具有無損連接,又保持函數依賴,那么模式分解一定能達到3 NF ,但不一定能達到 BCNF

      習題: P 143

      第3題

      學生(學號,姓名,出生年月,系名,班號,宿舍區)

      班級(班號,專業名,系名,人數,入校年份)

      系(系名,系號,系辦公室地址,人數)

      學會(學會名,成立年份,地點,人數)

      學生參加學會(學號,學會名,入會年份)

      只考慮與1、2、3 NF 有關的函數依賴(非主屬性部分或完全函數依賴于碼,非主屬性傳遞函數依賴于碼)

      學生(學號,姓名,出生年月,系名,班號,宿舍區)

        分解為:學生( 學號 ,姓名,出生年月,班號,系) 系宿舍( 系名 。宿舍區)

      班級(班號,專業名,系名,人數,入校年份)

      分解為:班級(班號,專業名,人數,入校年份) 專業系(專業名,系名)

      系(系號,系名,系辦公室地址,人數)

      學會(學會名,成立年份,地點,人數)

      學生參加學會(學號,學會,入會年份)

      posted @ 2008-09-02 22:39  .NET快速開發框架  閱讀(1992)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲av永久无码精品成人| 亚洲精品成人区在线观看| 99re视频在线| 成人3d动漫一区二区三区| 麻豆成人久久精品二区三| 伊大人香蕉久久网欧美| 97色伦97色伦国产| 亚洲区一区二区三区亚洲| 少妇人妻偷人精品视频| 亚洲男人的天堂av手机在线观看| 中文字幕人妻不卡精品| 台北市| 亚洲欧美日韩在线码| 日韩免费视频一一二区| 清远市| 中文字幕 日韩 人妻 无码| 亚洲国产精品乱码一区二区| 四虎影院176| 四虎永久精品免费视频| 府谷县| 亚洲线精品一区二区三八戒| 中文字幕精品av一区二区五区| 色偷偷亚洲女人天堂观看| 一区二区三区精品不卡| 五十路丰满中年熟女中出| 最新午夜男女福利片视频| 国产亚洲欧美日韩在线一区| 亚洲精品成人一二三专区| 久久精品不卡一区二区| 托里县| av天堂久久天堂av| 蜜臀av黑人亚洲精品| 亚洲性一交一乱一伦视频| 欧美熟妇乱子伦XX视频| 少妇高潮喷水正在播放 | 国产精品区免费视频| 激情五月日韩中文字幕| 国产精品视频午夜福利| 午夜福利偷拍国语对白| 久久精品国产再热青青青| 北宁市|