章關(guān)系數(shù)據(jù)庫基本理論_第1頁
章關(guān)系數(shù)據(jù)庫基本理論_第2頁
章關(guān)系數(shù)據(jù)庫基本理論_第3頁
章關(guān)系數(shù)據(jù)庫基本理論_第4頁
章關(guān)系數(shù)據(jù)庫基本理論_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章關(guān)系數(shù)據(jù)庫基本理論(1)關(guān)系一個關(guān)系就是一張二維表,每個關(guān)系都是一個關(guān)系名,在計算機里,一個關(guān)系可以存儲為一個文件。學(xué)號姓名110101王一110102趙二::性別男女:出生日期1992/06/031992/04/28:…

學(xué)生基本信息(2)屬性、值域二維表的列稱為屬性,每一列有一個屬性名,屬性值是屬性的具體值。屬性對應(yīng)存儲文件中的一個字段;屬性的取值范圍就是值域或簡稱域。(3)元組、分量二維表中的行稱為元組,每一行是一個元組。元組對應(yīng)存儲文件中的一個記錄;每個屬性值稱為一個分量。2.1關(guān)系模型的基本概念2.1.1基本術(shù)語學(xué)號姓名110101王一110102趙二::性別男女:出生日期1992/06/031992/04/28:…

學(xué)生基本信息(4)關(guān)系模式關(guān)系名和包含的屬性名的集合表示。例如:學(xué)生基本信息(學(xué)號,姓名,性別,出生日期…)。(5)關(guān)鍵字(碼、鍵)能夠用來唯一標(biāo)識元組的屬性(或?qū)傩越M合)。候選鍵:若存在多個屬性(或?qū)傩越M合)都能用來唯一標(biāo)識該關(guān)系中的元組,這些屬性(或?qū)傩越M合)都稱為該關(guān)系的候選鍵或候選碼,可以有多個。主鍵、主碼:指定作為關(guān)鍵字的候選鍵2.1關(guān)系模型的基本概念學(xué)號姓名110101王一110102趙二::性別男女:出生日期1992/06/031992/04/28:…

學(xué)生基本信息(7)外鍵或外碼一個關(guān)系的某個屬性(或?qū)傩越M合)不是該關(guān)系的主鍵,卻是另一個關(guān)系的主鍵,則稱這樣的屬性為借書記錄表學(xué)號書名借書時間110101110101110102國王的演講數(shù)據(jù)庫技術(shù)公安情報技術(shù)2011/01/042011/01/042011/05/10(6)主屬性和非主屬性包含在任何候選關(guān)鍵字中的各個屬性稱為主屬性;不包含在任一候選碼中的屬性稱為非主屬性。該關(guān)系的外鍵或外碼(ForeignKey)。外碼是表與表聯(lián)系的紐帶。2.1關(guān)系模型的基本概念關(guān)系模型作為數(shù)據(jù)模型的一種,它有三大要素:數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作和關(guān)系的完整性。1數(shù)據(jù)結(jié)構(gòu):關(guān)系2關(guān)系操作:集合操作3完整性約束:三類實體完整性:關(guān)系中元組的主鍵不能為空參照完整性:外鍵約束。設(shè)F是關(guān)系R中對應(yīng)關(guān)系S的外鍵,則對于R中每個元組在F上的取值必須滿足:①取空值。②取等于S中某個主鍵值。2.1關(guān)系模型的基本概念2.1.2關(guān)系模型的三要素參照完整性舉例,有學(xué)生和系別實體:學(xué)生(學(xué)號,姓名,性別,年齡,系別號)系別(系別號,系名)學(xué)生關(guān)系的“系別號”與系別關(guān)系的“系別號”相對應(yīng),因此,“系別號”屬性是學(xué)生關(guān)系的外碼,是系別關(guān)系的主碼。學(xué)生關(guān)系中的每個元組的“系別號”屬性只能取下面兩類值:空值或系別關(guān)系中已經(jīng)存在的值。用戶自定義的完整性:域完整性2.1關(guān)系模型的基本概念關(guān)系代數(shù)是以關(guān)系為運算對象的一組高級運算的集合;關(guān)系代數(shù)是一種抽象的查詢語言,是關(guān)系數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式。關(guān)系代數(shù)的運算對象是關(guān)系,運算結(jié)果也是關(guān)系。關(guān)系代數(shù)中的操作可以分為兩類:傳統(tǒng)的集合操作:并、差、交、笛卡兒積。專門的關(guān)系操作:投影(對關(guān)系進行垂直分割)、選擇(水平分割)、連接(關(guān)系的結(jié)合)、除法(笛卡兒積的逆運算)等。2.2關(guān)系代數(shù)并(Union)前提相同的關(guān)系模式(兩關(guān)系具有相同的列數(shù),對應(yīng)屬性域相同且兩個關(guān)系的屬性排列次序一樣)定義R和S的并,是由屬于R或?qū)儆赟的元組構(gòu)成的集合記為R∪S形式定義R∪S={t|t∈R∨t∈S},t是元組變量2.2.1傳統(tǒng)的集合運算2.2關(guān)系代數(shù)交(intersection)前提相同的關(guān)系模式(兩關(guān)系具有相同的列數(shù),對應(yīng)屬性域相同且兩個關(guān)系的屬性排列次序一樣)定義R和S的交,是由屬于R又屬于S的元組構(gòu)成的集合記為R∩S形式定義R∩S={t︱t∈R∧t∈S}2.2關(guān)系代數(shù)差(Difference)前提相同的關(guān)系模式(并兼容:兩關(guān)系具有相同的列數(shù),對應(yīng)屬性域相同且兩個關(guān)系的屬性排列次序一樣)定義R和S的差,是由屬于R但不屬于S的元組構(gòu)成的集合記為R-S形式定義R-S={t|t∈R∧t∈S},t是元組變量2.2關(guān)系代數(shù)笛卡爾積(CartesianProduct)形式定義假設(shè):R的列數(shù)為r,行數(shù)為m;S的列數(shù)s,行數(shù)為nR×S={t|t=<tr,ts>∧tr∈R∧ts∈S}R×S的列數(shù)為r+s,行數(shù)為m×n參與運算的R和S關(guān)系,不要求有同名屬性若有同名屬性,在屬性名前加“關(guān)系名.”來標(biāo)注實際操作時,可從R的第一個元組開始,依次與S的每一個元組組合,然后對R的下一個元組進行同樣的操作,直至R的最后一個元組也進行完同樣的操作為止,即可得到R×S的全部元組。2.2關(guān)系代數(shù)傳統(tǒng)關(guān)系運算示例:2.2關(guān)系代數(shù)選擇(Selection)在關(guān)系中選擇滿足條件的元組(行運算)形式定義σF(R)={t|t∈R∧F(t)=true}R為關(guān)系名,F(xiàn)為選擇條件。2.2.2專門的關(guān)系運算(選擇、投影、連接)2.2關(guān)系代數(shù)選擇運算示例1:2.2關(guān)系代數(shù)學(xué)生情況表(student)學(xué)

號no姓

名name性

別sex年

齡age所

在系dep08001張超男18CS08002李嵐女17IS08003王芳女19MA08004劉娟女18IS08005趙強男18CS查詢數(shù)學(xué)系(MA)學(xué)生的信息σdep=‘MA’(student)或σ5=‘MA’(student)選擇運算示例2:2.2關(guān)系代數(shù)學(xué)生情況表(student)學(xué)

號no姓

名name性

別sex年

齡age所

在系dep08001張超男18CS08002李嵐女17IS08003王芳女19MA08004劉娟女18IS08005趙強男18CS查詢年齡大于17的女同學(xué)的信息:選擇運算示例3:σage>17∧sex=’女’

(student)或σ4>17∧3=’女’(student)2.2關(guān)系代數(shù)投影(Projection)從關(guān)系中選出若干屬性列形式定義πA(R)={t[A]|t∈R}A為R中的屬性列投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組,因為取消了某些屬性列后,就可能出現(xiàn)重復(fù)行。2.2關(guān)系代數(shù)學(xué)生情況表(student)學(xué)

號no姓

名name性

別sex年

齡age所

在系dep08001張超男18CS08002李嵐女17IS08003王芳女19MA08004劉娟女18IS08005趙強男18CS查詢學(xué)生的學(xué)號和姓名:投影運算示例:πno,name(student)或π1,2(student)2.2關(guān)系代數(shù)連接(join)從兩個關(guān)系的笛卡爾積中選取滿足條件的元組形式定義R?S=σ(R×S)

={trts|tr

R∧ts

S∧tr[A]θts[B]}2.2關(guān)系代數(shù)自然連接(naturaljoin)兩個關(guān)系公共屬性上的等值連接形式定義R?S={trts|tr

R∧ts

S∧tr[B]=ts[B]}(R×S)計算過程1)計算R×S2)選擇:在R×S中,挑選滿足公共屬性相等的元組3)投影:在R×S中,去掉重復(fù)屬性S.A1,…,S.Ak2.2關(guān)系代數(shù)示例1連接:求R?S,或R?S2.2關(guān)系代數(shù)示例2自然連接R?S2.2關(guān)系代數(shù)示例2等值連接求R?S,或R?S2.2關(guān)系代數(shù)設(shè)教學(xué)數(shù)據(jù)庫中有三個關(guān)系:學(xué)生關(guān)系:S(SNO,SN,AGE,SEX)學(xué)習(xí)關(guān)系:SC(SNO,CNO,SCORE)課程關(guān)系:C(CNO,CN,TEACHER)(1)檢索學(xué)習(xí)課程號為C3的學(xué)生學(xué)號和成績∏SNO,SCORE(σCNO=’C3’(SC))(2)檢索學(xué)習(xí)課程號為C4的學(xué)生學(xué)號和姓名∏SNO,SN(σCNO=’C4’(S?SC))2.2關(guān)系代數(shù)關(guān)系代數(shù)操作表達式舉例學(xué)生關(guān)系:S(SNO,SN,AGE,SEX)學(xué)習(xí)關(guān)系:SC(SNO,CNO,SCORE)課程關(guān)系:C(CNO,CN,TEACHER)(3)檢索學(xué)習(xí)課程名為MATHS的學(xué)生學(xué)號和姓名∏SNO,SN(σCN=’MATHS’(S?SC?C))(4)檢索學(xué)習(xí)課程號為C1或C3的學(xué)生學(xué)號∏SNO(σCNO=’C1’VCNO=’C3’(SC))(5)檢索不學(xué)習(xí)課程號為C2的學(xué)生的姓名和年齡∏SN,AGE(S)-∏SN,AGE(σCNO=’C2’(S?SC))2.2關(guān)系代數(shù)根據(jù)給定的關(guān)系模型進行查詢練習(xí)(1)設(shè)有學(xué)生-課程關(guān)系數(shù)據(jù)庫,它由三個關(guān)系組成,它們的模式是:學(xué)生S(學(xué)號S#,姓名SN,所在系SD,年齡SA);課程C(課程號C#,課程名CN,先修課號PC#);選課SC(學(xué)號S#,課程號C#,成績G)。請用關(guān)系代數(shù)分別寫出下列查詢:(1)檢索學(xué)生的所有情況。(2)檢索學(xué)生年齡大于等于20歲的學(xué)生姓名。(3)檢索先修課號為C2的課程號。(4)檢索課程號C1的成績?yōu)?0的所有學(xué)生姓名。(5)檢索學(xué)號為S1的學(xué)生選修的所有課程名及先修課號。(6)檢索年齡為23歲的學(xué)生所選修的課程名。(1)∏S#,SN,SD,SA(S)(2)∏SN(σSA≥20(S))(3)∏C#(σPC#=’C2’(C))(4)∏SN(σC#=’C1’∧G=80(S?SC))(5)∏CN,PC#(σS#=’S1’

(C?SC))(6)∏CN(σSA=23(C?SC?S))解答:1)檢索LIU老師所授課程的課程號和課程名2)檢索年齡大于23歲的男同學(xué)的學(xué)號和姓名3)檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名4)檢索至少選修LIU老師所授課程中一門課的女生姓名5)檢索WANG同學(xué)不學(xué)的課程的課程號6)檢索至少選修兩門課的學(xué)生學(xué)號解答:1)ΠC#,CNAME(σTEACHER=‘LIU’(C))或Π1,2(σ3=‘LIU’(C))2)ΠS#,SNAME(σAGE>23∧SEX=‘男’

(S))3)ΠCNAME,TEACHER(σS#=‘S3’(C?SC))4)ΠSNAME(σTEACHER=‘LIU’∧SEX=‘女’(S?SC?C))5)ΠC#(C)-ΠC#(σSNAME=‘WANG’(S?SC))6)Π1(σ1=4∧2!=5(SC×SC))S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)練習(xí)(2)設(shè)有3個關(guān)系:用關(guān)系代數(shù)表達式表達下列查詢關(guān)系數(shù)據(jù)庫是由一組關(guān)系組成的,那么針對一個具體問題,應(yīng)該如何構(gòu)造一個適合于它的數(shù)據(jù)模式,即應(yīng)該構(gòu)造幾個關(guān)系,每個關(guān)系由哪些屬性組成等,這是關(guān)系數(shù)據(jù)庫的邏輯設(shè)計問題。長期以來,人們形成了數(shù)據(jù)庫邏輯設(shè)計的一個有力工具——關(guān)系數(shù)據(jù)庫的規(guī)范化理論,以規(guī)范化理論為指導(dǎo)實現(xiàn)關(guān)系模式的規(guī)范化設(shè)計。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化2.3.1問題的提出設(shè)有如下學(xué)生信息表:2.3關(guān)系數(shù)據(jù)庫的規(guī)范化SNONAMEAGEDEPTXNCNOSCORE

S1趙紅20信息技術(shù)張力C190S1趙紅20信息技術(shù)張力C285S2王曉明17治安王晨C557S2王曉明17治安王晨C680……對應(yīng)關(guān)系模式為:學(xué)生信息表(SNO,NAME,AGE,DEPT,XN,CNO,SCORE)該關(guān)系模式存在問題:數(shù)據(jù)冗余;更新異常;插入異常;刪除異常;原因:由存在于模式中的某些數(shù)據(jù)依賴引起的。解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴。將關(guān)系模式學(xué)生信息表(SNO,NAME,AGE,DEPT,XN,CNO,SCORE)分解為:學(xué)生表(SNO,NAME,AGE,DEPT)選課表(SNO,CNO,SCORE)系表(DEPT,XN)一般,每個關(guān)系只有一個實體2.3關(guān)系數(shù)據(jù)庫的規(guī)范化實體內(nèi)部的各種屬性間存在著聯(lián)系,這種聯(lián)系稱為數(shù)據(jù)依賴。函數(shù)依賴就是數(shù)據(jù)依賴的一種最常見形式,簡單地講就是指一個或一組屬性的值可以決定其它屬性的值。

2.3.2函數(shù)依賴2.3關(guān)系數(shù)據(jù)庫的規(guī)范化1基本函數(shù)依賴設(shè)有關(guān)系模式R(U),U是R的屬性集合,X和Y是U的子集,如果對于R的所有關(guān)系r都存在:對于X的每一個具體值,Y都只有一個具體值與之對應(yīng),這時我們稱Y函數(shù)依賴X,或X函數(shù)決定Y,記為X→Y。若Y不函數(shù)依賴X,記為X→Y。若X→Y,且Y→X,則X與Y一一對應(yīng),記為XY。若Y

X,顯然X→Y成立,稱為平凡函數(shù)依賴,否則稱為非平凡函數(shù)依賴。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化函數(shù)依賴簡單表述:如果屬性X的值決定屬性Y的值,那么屬性Y函數(shù)依賴于屬性X。換一種說法是,如果知道X的值,就可以獲得Y的值。例:有選課關(guān)系:選課(學(xué)號,課程號,成績),寫出該關(guān)系中的函數(shù)依賴。分析選課關(guān)系,確定(學(xué)號,課程號)為主鍵,則存在的函數(shù)依賴有(學(xué)號,課程號)→學(xué)號,(學(xué)號,課程號)→課程號,(學(xué)號,課程號)→成績。其中(學(xué)號,課程號)→學(xué)號,(學(xué)號,課程號)→課程號為平凡函數(shù)依賴,(學(xué)號,課程號)→成績?yōu)榉瞧椒埠瘮?shù)依賴。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化函數(shù)依賴與屬性間的聯(lián)系類型的關(guān)系在一個關(guān)系模式中,如果屬性X與Y有1:1聯(lián)系時,則存在函數(shù)依賴X→Y,Y→X,即X?Y。

例如,當(dāng)學(xué)生沒有重名時,SNO?SN如果屬性X與Y有m:1的聯(lián)系時,則只存在函數(shù)依賴X→Y。例如,SNO與AGE,DEPT之間均為m:1聯(lián)系,所以有SNO→AGE,SNO→DEPT;如果屬性X與Y有m:n的聯(lián)系時,則X與Y之間不存在任何函數(shù)依賴關(guān)系。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化2完全函數(shù)依賴和部分函數(shù)依賴設(shè)關(guān)系模式R(U),X,Y?U:如果X→Y,并且對于X的任何一個真子集Z,Z→Y都不成立,則稱Y完全函數(shù)依賴于X。若X→Y,但對于X的某一個真子集Z,有Z→Y成立,則稱Y部分函數(shù)依賴于X。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化例:在關(guān)系SC(Sno,Cno,Score)中,Sno,Cno是主碼,由于:Sno→Score不成立,Cno→Score也不成立,因此:Score完全函數(shù)依賴于(Sno,Cno);3、傳遞函數(shù)依賴設(shè)關(guān)系模式R(U),X?U,Y?U,Z?U。如果X→Y,Y→Z成立,但Y→X不成立,則稱X→Z為傳遞函數(shù)依賴

2.3關(guān)系數(shù)據(jù)庫的規(guī)范化例如:R(學(xué)號,系名,系主任)存在:學(xué)號→系名,系名→系主任且:系名→學(xué)號不成立則:學(xué)號→系主任為傳遞函數(shù)依賴2.3.3關(guān)系模式的范式關(guān)系模式規(guī)范化的目的是解決關(guān)系模式中存在的數(shù)據(jù)冗余、插入和刪除異常以及更新異常等問題。其基本思想是消除數(shù)據(jù)依賴中的不合適部分,使各關(guān)系模式達到某種程度的分離。因此,規(guī)范化的實質(zhì)是概念的單一化。規(guī)范化程度可用范式來衡量。目前主要有6種范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。1NF?2NF?3NF?BCNF?4NF?5NF把某一關(guān)系模式R為第n范式簡記為R∈nNF3NF和BCNF,它們是進行規(guī)范化的主要目標(biāo)。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化1、第一范式(1NF)定義:設(shè)R是一個關(guān)系模式。如果R的每個屬性的值域(更確切地說是R的每一個關(guān)系r的屬性值域)都是不可分的簡單數(shù)據(jù)項(即是原子)的集合,則稱這個關(guān)系模式屬于第一范式,簡記作R∈1NF。

1NF是規(guī)范化最低的范式,它要求無重復(fù)記錄;字段不可分解。在任何一個關(guān)系數(shù)據(jù)庫系統(tǒng)中,關(guān)系至少應(yīng)該是第一范式。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化2、第二范式(2NF)定義:如果關(guān)系模式R是第一范式,且每個非主屬性都完全依賴于碼,則稱R為滿足第二范式的模式,記為:R∈2NF模式。在一個關(guān)系中,包含在任何候選關(guān)鍵字中的各個屬性稱為主屬性;不包含在任何候選碼中的屬性稱為非主屬性。主關(guān)鍵字只有一個屬性的關(guān)系是第二范式。

例如:在關(guān)系R(學(xué)號,姓名,出生日期,績點)中主屬性為學(xué)號,姓名、出生日期、績點為非主屬性,存在下列函數(shù)依賴關(guān)系:學(xué)號→姓名學(xué)號→性別學(xué)號→出生日期,學(xué)號→績點由于每個非主屬性都完全依賴于碼,所以該關(guān)系R∈2NF2.3關(guān)系數(shù)據(jù)庫的規(guī)范化主關(guān)鍵字是屬性的組合,這樣的關(guān)系模式可能不是第二范式。例如:關(guān)系S(學(xué)號,姓名,性別,課程,分數(shù)),其中學(xué)號和課程為主屬性,姓名、性別、分數(shù)為非主屬性,關(guān)系S中存在下列函數(shù)依賴關(guān)系:學(xué)號→姓名,學(xué)號→性別,(課程、學(xué)號)→分數(shù)非主屬性部分依賴于碼,故關(guān)系S不屬于2NF。對上述關(guān)系模式進行分解,分解為兩個關(guān)系:S1(學(xué)號,姓名,性別);S2(學(xué)號,課程,分數(shù));S1∈2NF;S2∈2NF。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化3第三范式(3NF)定義:如果關(guān)系模式R是第二范式,且沒有一個非主屬性是傳遞函數(shù)依賴于碼,則稱R為滿足第三范式的模式,記為:R∈3NF模式。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化例如:關(guān)系ST(學(xué)號,樓號,收費);其中包含的函數(shù)依賴關(guān)系有:學(xué)號→樓號樓號→收費,樓號→學(xué)號不成立則:學(xué)號→收費是傳遞函數(shù)依賴對上述關(guān)系模式進行分解,分解為兩個關(guān)系:st1(學(xué)號,樓號);st2(樓號,收費)推論1:如果關(guān)系模式R∈1NF,且它的每一個非主屬性既不部分依賴、也不傳遞依賴于碼,則R∈3NF。推論2:不存在非主屬性的關(guān)系模式一定為3NF。設(shè)有關(guān)系:教師(工號,身份證號,學(xué)年,工作量),其中工號和身份證號都是唯一的,由工號或身份證號合并學(xué)年確定工作量的值。分析該關(guān)系中的關(guān)鍵字為(工號,學(xué)年)或(身份證號,學(xué)年),所以主屬性為(工號,身份證號,學(xué)年)??芍?,既沒有非主屬性的部分函數(shù)依賴也沒有非主屬性的傳遞函數(shù)依賴,屬于3NF。但因為存在工號→身份證號,身份證號→工號,所以兩個主屬性對不包含它的關(guān)鍵字都是部分函數(shù)依賴,該關(guān)系同樣會產(chǎn)生冗余和更新異常。不屬于BCNF。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化4BC范式(BCNF)定義:關(guān)系模式R∈1NF,對任何非平凡的函數(shù)依賴X→Y,X均包含候選碼,則R∈BCNF。

BCNF是從1NF直接定義而成的,可以證明,如果R∈BCNF,則R∈3NF。由BCNF的定義可以看到,每個BCNF的關(guān)系模式都具有如下3個性質(zhì)。所有非主屬性都完全函數(shù)依賴于每個候選碼。所有主屬性都完全函數(shù)依賴于每個不包含它的候選碼。沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化2.3.4規(guī)范化過程(1)對1NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的部分函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換成為若干個2NF關(guān)系。(2)對2NF關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的傳遞函數(shù)依賴,從而產(chǎn)生一組3NF。(3)對3NF關(guān)系進行投影,消除原關(guān)系中主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴,得到一組BCNF關(guān)系。2.3關(guān)系數(shù)據(jù)庫的規(guī)范化例:設(shè)有一個記錄各個球隊隊員每場比賽進球數(shù)的關(guān)系模式:R(隊員編號PNO,比賽場次CNO,進球數(shù)BNUM,球隊名TNAME,隊長名TEAMER),如果規(guī)定每個隊員只能屬于一個球隊,每個球隊只能有一個隊長。則R應(yīng)滿足的函數(shù)依賴集為:{PNO→TNAME,TNAME→TEAMER,(PNO,CNO)→BNUM},其中(PNO,CNO)為主鍵。將該關(guān)系模式規(guī)范化為3NF2.3關(guān)系數(shù)據(jù)庫的規(guī)范化(1)規(guī)范化為2NF。由于PNO→TNAME并非完全函數(shù)依賴關(guān)鍵字,因此R

2NF。將其分解為:PCB(PNO,CNO,BNUM)PT(PNO,TNAME,TEAMER)其中,(PNO,CNO)是PCB的關(guān)鍵字,PNO是PT的關(guān)鍵字,則PCB、PT2NF。(2)規(guī)范化為3NF。由于在PT中PNO→TNAME,TNAME→TEAMER,而TNAME→PNO不成立,則PT3NF。將其分解為:PTA(PNO,TNAME)TT(TNAME,TEAME

溫馨提示

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

最新文檔

評論

0/150

提交評論