關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第1頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第2頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第3頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第4頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論§1函數(shù)依賴的基本概念一、問題的提出---數(shù)據(jù)依賴及其影響例設(shè):建立某數(shù)據(jù)庫需要如下屬性:供應(yīng)商號(hào)(sno)、供應(yīng)商所在城市(city)、

郵編(zip)、零件號(hào)(pno),供應(yīng)某種零件的數(shù)量(qty)。方案之一:用一個(gè)關(guān)系模式創(chuàng)建該數(shù)據(jù)庫:

FIRST(sno,city,zip,pno,qty)KEY=(sno,pno)1存在問題:

實(shí)例:FIRST(sno,city,zip,pno,qty)s1c1z1p1100s1c1z1p2200s2c2z2p1160s2c2z2p33201)數(shù)據(jù)冗余度太大。2)修改異常。可能導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)不一致。3)刪除異常。可能導(dǎo)致數(shù)據(jù)庫丟失信息。2

方案之二:用兩個(gè)關(guān)系模式,創(chuàng)建該數(shù)據(jù)庫:模式一:SECOND(sno,city,zip)KEY=(sno)

模式二:SP(sno,pno,qty)KEY=(sno,pno)實(shí)例:

SECOND(sno,city,zip)s1c1z1s2c2z2

SP(sno,pno,qty)s1p1100s1p2200s2p1160s2p33203二、函數(shù)依賴基本概念

注:1)“XY”必須對(duì)R(U)的任何一個(gè)關(guān)系實(shí)例都成立。

2)若XY,YX,則記作X←→Y。若Y不函數(shù)依賴X,則記作XY。1.函數(shù)依賴定義設(shè):R(U)是屬性集U上的關(guān)系模式,X,YU。如果對(duì)于R(U)的任意一個(gè)關(guān)系r,以及r的任意兩個(gè)元組t1,t2,不存在:t1[x]=t2[x],而t1[Y]t2[Y],則稱X函數(shù)決定Y,或者說Y函數(shù)依賴于X。記為:XY。4

實(shí)例:FIRST(sno,city,zip,pno,qty)s1c1z1p1100s1c1z1p2200s2c2z2p1160s2c2z2p3320

分析:

sno

pno?

sno

zip?

(sno,pno)

qty?

(sno,pno)

zip?3)函數(shù)依賴是現(xiàn)實(shí)世界數(shù)據(jù)關(guān)聯(lián)的表現(xiàn)形式。zip

city?sno

city?

sno

qty?

sno

zip?不同?!5

b.一個(gè)系只有一名負(fù)責(zé)人;例設(shè)一個(gè)關(guān)系模式需保存如下屬性:

U={S#,SD,MN,CN,G}。其中:

S#:學(xué)生,SD:系,MN:系負(fù)責(zé)人,

CN:課程,G:成績(jī)。已知:現(xiàn)實(shí)世界規(guī)定如下:

a.一個(gè)學(xué)生只屬于一個(gè)系;

c.每個(gè)學(xué)生學(xué)過一門課,最多獲得一個(gè)成績(jī)。F={S#SD,SDMN,(S#,CN)G}6

1)定義完全函數(shù)依賴:在R(U)中,如果XY,且對(duì)X的任何一個(gè)真子集X’,都有X’Y,則稱Y對(duì)X完全函數(shù)依賴,記作:XfY

2)定義部份函數(shù)依賴:在R(U)中,如果XY,但Y不完全函數(shù)依賴X,則稱Y對(duì)X部份函數(shù)依賴,記作XPY。2.完全函數(shù)依賴與部分函數(shù)依賴YAYBY(A,B)YfYYAB(A,B)Yp7

例FIRST(sno,city,zip,pno,qty)

有:snozip,zipcity,(sno,pno)fqty

但:(sno,pno)

Pzipsnopnozipcity

Qty

8

在R(U)中,如果X→Y,YX(YX),Y→Z,則稱Z傳遞函數(shù)依賴于X,記為XtZ。

∴sno

t

city

SECOND(Snocityzip)S1Beijing100044S2Beijing100044S3Shanghai200001

例關(guān)系模式SECOND(sno,city,zip)中,

3.傳遞函數(shù)依賴定義:∵sno→zip,zip→city9

4.非平凡的函數(shù)依賴:若X→Y,且YX,則稱X→Y是非平凡的函數(shù)依賴。例(sno,pno)qty……非平凡的函數(shù)依賴(sno,pno)pno……平凡的函數(shù)依賴5.如果K是關(guān)系模式R(U)的一個(gè)鍵碼,則必有:KU例對(duì)于關(guān)系模式:Student(Sno,Sname,Sage)若Sno和

Sname都是Student的鍵碼,則必有:

Sno

Sno,Sname,SageSname

Sno,Sname,Sage成立。和10

關(guān)系數(shù)據(jù)庫的任意一個(gè)關(guān)系,需要滿足一定的數(shù)據(jù)依賴約束。滿足不同程度數(shù)據(jù)依賴約束的關(guān)系,稱為不同范式的關(guān)系。

滿足最低要求,即:關(guān)系模式的各屬性域是“原子”的,則該關(guān)系模式是第一范式的,簡(jiǎn)稱1NF(1NormalForm)。

不同范式的關(guān)系,存在不同程度的數(shù)據(jù)冗余等缺點(diǎn)。盡量克服這些缺點(diǎn),需要對(duì)關(guān)系模式進(jìn)行分解,使之從低一級(jí)范式,轉(zhuǎn)化為高一級(jí)范式的集合。這種分解過程稱為規(guī)范化。

§2關(guān)系模型的規(guī)范化11∴FIRST2NF1.定義:設(shè)R是一個(gè)關(guān)系模式。若R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R2NF。

一、2NF2.理解:若R2NF,則R中不存在非主屬性對(duì)碼的部份函數(shù)依賴。例FIRST(sno,city,zip,pno,qty)KEY=(Sno,pno)顯然,F(xiàn)IRST1NF∵存在(sno,pno)P

city,zip12

SECOND(sno,city,zip),KEY=(sno)

SP(sno,pno,qty),KEY=(sno,pno)

∴SECOND2NF,SP2NF。

因而,整個(gè)關(guān)系數(shù)據(jù)庫模式也是2NF的。

sno

zip

citysnopnoqty13二、3NF2.理解:若R∈3NF,則R中不存在非主屬性對(duì)碼的傳遞函數(shù)依賴。1.定義:如果關(guān)系模式R(U,F(xiàn))是2NF的,且不存在鍵碼X、屬性組Y以及非主屬性Z,使得X→Y,Y→Z成立,則R∈3NF(ZY)(YX)(參考:C.j.Date:數(shù)據(jù)庫系統(tǒng)導(dǎo)論:p270

機(jī)械工業(yè)出版社2000年10月第一版)14

例1SECOND(sno,city,zip),KEY=(sno)

sno

zip

city

顯然,SECOND2NF,但:SECOND3NF

而:SECOND1(sno,zip),以及

SECOND2(zip,city)

已經(jīng)達(dá)到3NF15

例2設(shè):關(guān)系模式STJ(S,T,J)其中:

S:學(xué)號(hào);T:教師;J:課程。

問題:如何形式地確定一個(gè)關(guān)系模式的鍵碼?

規(guī)定:

a.一個(gè)教師教一門課,一門課可以有不止一個(gè)教師講授;

b.一個(gè)學(xué)生選一門課,就確定一位教師。

(1)

F:{T→J,(S,J)→T}

(2)STJ的鍵碼:(S,J)和(S,T)

∴STJ中沒有非主屬性。顯然,STJ∈3NF。161.定義:設(shè):關(guān)系模式R∈1NF。如果對(duì)于R的每一個(gè)函數(shù)依賴X→Y(YX),X都含有鍵碼,那么R∈BCNF。

(2)在函數(shù)依賴范疇內(nèi),BCNF達(dá)到最高規(guī)范化程度。三、BCNF

2.理解:(1)BCNF具有以下性質(zhì):

a.所有非主屬性完全依賴于每個(gè)鍵碼。

b.所有主屬性完全依賴于不包含它的鍵碼。

c.沒有任何(主/非主)屬性完全函數(shù)依賴于任一非主屬性(組)。17

例關(guān)系模式STJ(S,T,J)是3NF的,但不是BCNF的。

F={T→J,(S,J)→T}

可見:關(guān)系STJ中,存在主屬性J部分依賴于不包含它的碼(S,T)

STJ的鍵碼:(S,J)和(S,T)∴STJ

BCNF18

例關(guān)系模式SJP(S,J,P)

其中:S:學(xué)號(hào);J:課程;P:考試名次。

規(guī)定:①每個(gè)學(xué)生、每門課程都有一個(gè)確定的名次。

②每門課程、每個(gè)名次中只有一位學(xué)生。

(S,J)→P(J,P)→S鍵碼:(S,J)和(J,P)?!郤JP∈BCNF19四、多值依賴和4NF(書p69:3.7)

課程C教師T參考書B

物理李勇普通物理學(xué)王軍光學(xué)原理物理習(xí)題集數(shù)學(xué)周閔數(shù)學(xué)分析張平微分方程高等代數(shù)

1.一個(gè)例子例某學(xué)校一門課由多名教師講授,他們都是使用同一套參考書。具體數(shù)據(jù)非規(guī)范地表示如下:20把上述數(shù)據(jù)庫存入一張規(guī)范化的二維表:課程C教師T參考書B物理李勇普通物理學(xué)物理李勇光學(xué)物理物理李勇物理習(xí)題集物理王軍普通物理學(xué)物理王軍光學(xué)物理物理王軍物理習(xí)題集數(shù)學(xué)周閔數(shù)學(xué)分析數(shù)學(xué)周閔微分方程數(shù)學(xué)周閔高等代數(shù)數(shù)學(xué)張平數(shù)學(xué)分析數(shù)學(xué)張平微分方程數(shù)學(xué)張平高等代數(shù)21課程C教師T參考書B物理李勇

普通物理學(xué)物理李勇光學(xué)物理物理李勇

物理習(xí)題集物理王軍

普通物理學(xué)物理王軍光學(xué)物理物理王軍

物理習(xí)題集數(shù)學(xué)周閔數(shù)學(xué)分析數(shù)學(xué)周閔微分方程數(shù)學(xué)周閔高等代數(shù)數(shù)學(xué)張平數(shù)學(xué)分析數(shù)學(xué)張平微分方程數(shù)學(xué)張平高等代數(shù)tswv注:w、v可以與t、s相同。22李勇王軍

普通物理光學(xué)物理物理習(xí)題集物理分析:1)上述關(guān)系TEACH(C,T,B)中,TEACH∈BCNF,KEY=(C,T,B)稱為全碼(ALL-KEY)。2)對(duì)于C的一個(gè)值(如C=‘物理’),有一組T值與之相對(duì)應(yīng),且這組值只與C有關(guān),而與B的取值無關(guān)。注意:C、B亦然。232.多值依賴(1)定義:設(shè):R是屬性集U上的一個(gè)關(guān)系模式,X、Y和Z都是U的子集,并且Z=U–X–Y。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論