<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    關系數據庫設計理論-->3NF

    函數依賴

    1.函數依賴定義

    A-> B,即? A函數決定B ? ,A稱為決定因素。

    2.關系的鍵碼、超鍵碼

    屬性函數決定關系R的所有其它屬性,并且該屬性的任何真子集都不能函數決定R的所有其它屬性,則屬性是鍵碼。 鍵碼必須是最小的。

    包含鍵碼的屬性集稱為 超鍵碼 。每個鍵碼都是超鍵碼。

    例題: 已知關系R包含屬性{A,B,C,D},R的鍵碼為{A,B},則下面的選項哪1個是R

    的超鍵碼(? )。

    ? A.{A}??? B.{C,D}?? C.{A,B,C,D}? D.{B,C,D}

    答案:C

    ?

    3.幾個概念

    平凡依賴:如果B是A的子集,則稱該依賴為平凡的。

    非平凡依賴:如果B中至少有一個屬性不在A中,則稱該依賴為非平凡的。

    完全非平凡依賴:如果B中沒有一個屬性在A中,則稱該依賴為完全非平凡的。

    平凡依賴規則:函數依賴A1A2 An B1B2 Bm等價于A1A2 An C1C2 Ck,其中?? C是B的子集,但不在A中出現。稱這個規則為 平凡依賴規則

    ?

    4.傳遞規則

    ??? 如果A1A2 An B1B2 Bm和B1B2 Bm C1C2 Ck,在關系R中成立,則A1A2 An C1C2 Ck在R中也成立。這個規則就稱為傳遞規則。

    ?

    例題: 現給定一個關系R的實例如下表,則可能是函數依賴的是( B ).

    ??? Fl

    ??? F2

    ??? R

    ??? F。

    ??? F5

    ??? 李華

    ??? 20020330

    ??? H

    ??? 1

    ??? lO

    ??? 金謙

    ??? 20020330

    ??? 0

    ??? 1

    ??? 5

    ??? 李華

    ??? 20020218

    ??? O? ·

    ??? 3

    ??? 15

    ??? 呂宋

    ??? 200201]5

    ??? H

    ? ?? 2

    ??? 5

    ??? 顧小華

    ??? 20020218

    ??? O

    ??? 1

    ??? 20

    A.F1 F2??????????? B.F1F2→F5

    C.F3 F4→F5??????? D.F2F3→F4

    ?

    學習要點二

    1. 函數依賴集:假設{A1,A2, An}是屬性集,記為A,S是函數依賴集。

    屬性集A在依賴集S下的封閉集是這樣的屬性集X,它使得滿足依賴集S中的所有依賴的每個關系也都滿足A X。

    A1A2 An X是蘊含于S中的函數依賴。

    2.封閉集:

    對于給定的函數依賴集S,屬性集A函數決定的屬性的集合就是屬性集A在依賴集S下的封閉集。

    學會計算某屬性集的封閉集,可以根據給定的函數依賴集推導蘊含于該依賴集的其他函數依賴。

    ?

    例題: 假設關系模式為R(A,B,C,D),函數依賴為A→B,B→C和B→D。

    ??? (1)求蘊含于給定函數依賴的所有非平凡函數依賴;

    ??? (2)求R的所有鍵碼;

    ??? (3)求R的所有超碼(不包括鍵碼)。

    ??? 參考答案:

    ??? (1)先求各種屬性組合的封閉集,再從中找出新的函數依賴。

    ??? A+=ABCD??????? ?B+=BCD? ?C+=C ??D+=D

    ??? A→C,A→D??? (2)

    ??? AB+==ABCD? AC+==ABCD ???AD+=ABCD ?BC+=BCD? ?BD+=BCD

    CD+=CD

    ??? AB→C,AB→D AC→B,AC→D? AD→B,AD→C? BC→D? BD→C

    ??? ABC+=ABCD ?ABD+=ABCD ??BCD+=BCD

    ??? ABC→D? ABD→C???

    ??? ABCD+=ABCD

    ??? 蘊含于給定函數依賴的非平凡函數依賴共12個。

    ??? (2)A為鍵碼。

    ??? (3)AB,AC,AD,ABC,ABD,ABCD為超鍵碼。

    ???

    學習要點三

    ?

    1. 幾個概念

    l???????? 主屬性:鍵碼所在的屬性稱為主屬性。

    l???????? 主屬性:鍵碼所在的屬性稱為主屬性。

    l???????? 非主屬性:鍵碼屬性以外的屬性稱為非主屬性。

    l???????? 非主屬性:鍵碼屬性以外的屬性稱為非主屬性。

    l???????? 完全依賴:對于函數依賴W A,如果存在V是W的真子集而函數依賴

    ? ??V A成立,則稱A部分依賴于W;若不存在這種V,則稱A完全依賴于W。

    l???????? 傳遞依賴

    ??? 對于函數依賴X Y,如果X不函數依賴于Y,而函數依賴Y Z成立,則稱Z對X傳遞依賴。

    ?

    學習要點四

    1.第一范式(1NF)

    如果一個關系模式R的所有屬性都是不可分的基本數據項,則這個關系屬于第一范式。

    2.第二范式(2NF)

    若關系模式R屬于第一范式,且每個非主屬性都完全函數依賴于鍵碼,則R屬于第二范式。

    例題:學生關系模式Student(Sno,Sname,Sdept,Mname,Cname,Grade)。

    ?該關系模式存在如下部分依賴:

    ?? Sno,Cname Sname,Sdept,Mname

    ??? 不滿足 每個非主屬性都完全函數依賴于鍵碼 的條件。學生關系模式不屬于第二范式。

    3.第三范式(3NF)

    若關系模式R屬于第一范式,且每個非主屬性都不傳遞依賴于鍵碼,則R屬于第三范式。

    4.BC范式(BCNF)

    若關系模式R屬于第一范式,且每個屬性都不傳遞依賴于鍵碼,則R屬于BC范式。

    BC范式的條件表述:

    l???????? 每個非平凡依賴的左邊必須包含鍵碼;每個決定因素必須包含鍵碼。

    l???????? BC范式既檢查非主屬性,又檢查主屬性。

    例題: 寫出3個關系模式分別滿足:

    ? (1)是1NF,不是2NF;

    ? (2)是2NF,不是3NF;

    ? (3)是3NF,也是BCNF。

    ? 各用兩句話分別說明所寫的關系模式是前者,不是(或也是)后者。

    ? 答:(1)學生選課(學號,姓名,課程號,成績)

    ? 屬性不可分,是1NF;存在非主屬性對鍵碼的部分依賴(學號,課程號→姓名),不

    ? 是2NF。

    ??? (2)學生(學號,姓名,系別,系主任)

    ??? 鍵碼為單屬性,不存在部分依賴,是2NF;存在非主屬性對鍵碼的傳遞依賴(學號→

    姓名,系別;系別≯學號;系別→系主任;學號傳遞→系主任),不是3NF。

    ??? (3)學生(學號,姓名,年齡)

    ??? 非主屬性(姓名,年齡)對鍵碼不存在部分依賴和傳遞依賴,是3NF;

    ??? 主屬性(學號)對鍵碼也不存在部分依賴和傳遞依賴,是BCNF。

    ?

    學習要點五

    1.模式分解的三種方法

    1)部分依賴歸子集;完全依賴隨鍵碼。

    ??? 關系模式 升級 第二范式:消除非主屬性對鍵碼的部分依賴。

    解決的辦法:對原有模式進行分解。

    分解的關鍵:找出對鍵碼部分依賴的非主屬性所依賴的鍵碼的真子集,把這個真子集與所有相應的非主屬性組合成一個新的模式;對鍵碼完全依賴的所有非主屬性則與鍵碼組合成另一個新模式。

    ?2)基本依賴為基礎,中間屬性作橋梁

    關系模式 升級 第三范式:消除非主屬性對鍵碼的傳遞依賴。

    解決的辦法:以構成傳遞鏈的兩個基本依賴為基礎形成兩個新的模式,切斷傳遞鏈,保持兩個基本依賴,有中間屬性作為橋梁,跨接兩個新的模式,實現無損的自然連接。

    3)找違例自成一體,舍其右全集歸一

    ??? 關系模式 升級 BC范式:消除非主屬性對鍵碼的部分依賴和傳遞依賴,消除? 主屬性對鍵碼的部分依賴和傳遞依賴。

    解決的辦法:對關系R(A,B,C),若存在BCNF的違例A B ,則R分解為

    R1(A,B)? R2(A,C), R1,R2則為BCNF.

    ?

    例題: 關系模式為R(A,B,C,D),函數依賴為AB→C,C→D和D→A。

    ??? (1)找出所有違背BCNF的函數依賴。提示:應該考慮不在給定的依賴集但蘊含于

    其中的依賴;

    ??? (2)關系模式R分解成屬于BCNF的關系模式的集合。

    ??? 參考答案:

    (1)參看主教材P.122例6.1,共有14個非平凡函數依賴(包括已知的和導出的)

    C→A,C→D,D→A

    AB→C,AB→D,AC→D,BC→A,BC→D,BD→A,BD→C,CD→A

    ABC→D,ABD→C,BCD→A

    ??? 共有3個鍵碼:AB,BC,BD

    ??? 其決定因素不包含鍵碼的函數依賴即為BC范式的違例,如下所示:

    ??? C→A,C→D,D→A,AC→D,CD→A

    ??? (2)以違例C→D為基礎進行分解:

    ??? Rl(C,D),R2(A,B,C)

    ??? R1屬于BC范式。

    ??? R2有函數依賴C→A,AB→C,BC→A

    ??? AB+=ABC.BC+=ABC

    ??? AB,BC均為鍵碼。

    ??? 函數依賴C→A為BC范式違例。于是R2又可分解為:

    ??? R3(A,C),R4(B,C)

    ??? 至此,R分解為R1,R3,R4,均屬于BC范式。

    posted on 2006-05-23 10:44 liaojiyong 閱讀(2957) 評論(0)  編輯  收藏 所屬分類: DBMixture

    主站蜘蛛池模板: 精品亚洲AV无码一区二区三区| 操美女视频免费网站| jjzz亚洲亚洲女人| 亚洲成av人片在线天堂无| 成人性生交视频免费观看| 亚洲一区二区三区高清视频| 91高清免费国产自产| 7777久久亚洲中文字幕蜜桃| 91大神在线免费观看| 99久久精品国产亚洲| 天天影视色香欲综合免费| 亚洲精彩视频在线观看| 亚洲精品免费网站| 亚洲精品无码少妇30P| 四虎永久在线精品免费影视| 丰满少妇作爱视频免费观看| 久久久久亚洲精品男人的天堂| 三上悠亚电影全集免费| 亚洲人成电影福利在线播放| 国产免费丝袜调教视频| 亚洲综合激情五月丁香六月| 四虎影视永久免费观看网址| sss在线观看免费高清| 亚洲国产综合91精品麻豆| 成年黄网站色大免费全看| 亚洲精品无码久久久久YW| 亚洲精品成a人在线观看| 久草免费手机视频| 亚洲一区二区三区乱码在线欧洲| 永久免费毛片手机版在线看| 人成电影网在线观看免费| 亚洲国产日韩一区高清在线 | 国产成人高清精品免费鸭子 | 九九精品国产亚洲AV日韩| av在线亚洲欧洲日产一区二区| 久久午夜无码免费| 亚洲精品无码久久久久YW| 亚洲成色www久久网站夜月| 成年人性生活免费视频| 国产免费一区二区三区在线观看| 亚洲国产视频一区|