關系數(shù)據(jù)庫設計與應用(工作手冊式) 課件 第4章 關系數(shù)據(jù)庫設計理論_第1頁
關系數(shù)據(jù)庫設計與應用(工作手冊式) 課件 第4章 關系數(shù)據(jù)庫設計理論_第2頁
關系數(shù)據(jù)庫設計與應用(工作手冊式) 課件 第4章 關系數(shù)據(jù)庫設計理論_第3頁
關系數(shù)據(jù)庫設計與應用(工作手冊式) 課件 第4章 關系數(shù)據(jù)庫設計理論_第4頁
關系數(shù)據(jù)庫設計與應用(工作手冊式) 課件 第4章 關系數(shù)據(jù)庫設計理論_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第4章

關系數(shù)據(jù)庫設計理論工業(yè)和信息化部“十四五”規(guī)劃教材

浙江省高職院?!笆奈濉笔着攸c教材《關系數(shù)據(jù)庫設計與應用》(工作手冊式)

配套課件學習目標LEARNINGTARGET了解數(shù)據(jù)庫冗余和存儲異常問題;理解函數(shù)依賴的相關概念;掌握三大范式的概念;掌握數(shù)據(jù)庫設計的基本步驟。知識目標能力目標會進行關系范式的判斷與分解;會進行關系數(shù)據(jù)庫概念結構及邏輯結構設計。思政目標樹立隱私保護、數(shù)據(jù)安全意識;樹立良好的職業(yè)道德素養(yǎng),擁有正確的是非觀,遵紀守法;樹立正確的擇業(yè)與就業(yè)觀;樹立團隊合作共贏意識,培養(yǎng)團隊協(xié)作能力。主要內容MAINCONTENTS4.1冗余與存儲異常4.2函數(shù)依賴

*4.3關系范式

*4.4關系模式的規(guī)范化4.5數(shù)據(jù)庫設計綜合實例冗余和存儲異常的問題4.1冗余和存儲異常問題

例:要求設計一個教學管理數(shù)據(jù)庫,希望從該數(shù)據(jù)庫中得到學生學號、學生姓名、年齡、系別、系主任姓名、學生學習的課程和該課程的成績等信息。若將這些信息設計為一個關系。冗余和存儲異常問題教學(學號,姓名,年齡,系名,系主任,課程名,成績)存在問題學號姓名年齡系名系主任課程名成績98001李華21計算機王民C語言9098001李華21計算機王民高等數(shù)學8098002張平22計算機王民C語言6598002張平22計算機王民高等數(shù)學7098003陳兵21數(shù)學趙敏高等數(shù)學9598003陳兵21數(shù)學趙敏離散數(shù)學7599001陸莉23物理王珊普通物理85如果數(shù)學系的學生全畢業(yè)了,則需要刪除該系的學生記錄,但如果該系的學生全刪除了,則該系的系名、系主任信息也從數(shù)據(jù)庫中刪除了。冗余和存儲異常問題以上關系存在下面幾個問題一個學生只有一個姓名,但上面的表中若一個學生選幾門課,則該學生的姓名就要重復幾次。同樣一個系也只有一個系主任,上表中系主任的姓名重復就更多了。假如計算機系的系主任換了,那么上表中的四條記錄的系主任都需要修改,假如改得不一樣,或少改一處,就會造成數(shù)據(jù)不一致。假如新成立了一個系:化工系,并且也有了系主任,但還沒有招學生,所以不能在上表中插入化工系的記錄,也就不能在數(shù)據(jù)庫中保存化工系的系名和系主任的信息。同樣如果新增一門課,但還沒有學生選修,所以也不能插入該課程。1234數(shù)據(jù)冗余較大修改異常插入異常刪除異常冗余和存儲異常問題以上關系存在下面幾個問題數(shù)據(jù)冗余較大修改異常插入異常刪除異常冗余和存儲異常問題結論一個好的關系模式,除了能滿足用戶對信息存儲和查詢的基本要求外,還應具備下列條件:以上關系模式不是一個好的關系模式。盡可能少的數(shù)據(jù)冗余;沒有插入異常;沒有刪除異常;沒有更新異常。冗余和存儲異常問題學生(學號,姓名,年齡,系名)系(系名,系主任)選課(學號,課程名,成績)對于有問題的關系模式,可以通過模式分解的方法使之規(guī)范化;上述關系模式如果分解為如下三個關系則可以克服以上出現(xiàn)的問題。如何分解關系模式,分解的依據(jù)是什么?函數(shù)依賴4.2函數(shù)依賴實體集與實體集之間的聯(lián)系,有4種聯(lián)系(1:1,1:m,m:1,m:n)。其實,現(xiàn)實世界實體集的屬性之間也是互相聯(lián)系的。屬性之間的聯(lián)系分為三類:1:1聯(lián)系、1:n聯(lián)系、m:n聯(lián)系。屬性間的聯(lián)系思考:學生(學號,姓名,性別,年齡,班級)學號與姓名之間是1:1的聯(lián)系(假設不重名的情況下)班級與學號之間是1:m的聯(lián)系年齡與班級之間是m:n的聯(lián)系函數(shù)依賴數(shù)據(jù)依賴就是指同一關系中屬性值的相互依賴和相互制約,即一個關系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關系。如學生的學號將決定學生姓名,課程名將決定有哪些參考書等。數(shù)據(jù)依賴數(shù)據(jù)依賴分函數(shù)依賴、多值依賴和連接依賴等,其中函數(shù)依賴是最基本的一種數(shù)據(jù)依賴。函數(shù)依賴對函數(shù)Y=f(X)而言,我們討論的是Y與X在數(shù)量上的對應關系,每個X均對應唯一的一個Y,稱為:X函數(shù)決定Y,或Y函數(shù)依賴于X,記作:X

Y如:省=f(城市),在這里,只要給出一個具體的城市,都會有一個唯一的省與之相對應,即城市→省。思考:以上函數(shù)省=f(城市)中,自變量是?因變量是?函數(shù)依賴函數(shù)依賴的定義:設一個關系為R(U),X和Y為屬性集U上的子集,若對于X上的每個值都有Y上的一個唯一值與之對應,則稱X和Y具有函數(shù)依賴關系,并稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X。記為X

Y,其中X叫決定因素,Y叫依賴因素。函數(shù)依賴函數(shù)依賴例如:設一個職工關系為(職工號,姓名,性別,年齡,職務)

職工號用來標識每個職工,選作為該關系的主碼。職工號一確定,該職工的姓名就確定了,或者說一個職工的姓名由其職工號唯一確定,所以稱職工號函數(shù)決定姓名,或稱姓名函數(shù)依賴于職工號,記作“職工號→姓名”,職工號為該函數(shù)依賴的決定因素。同理,當一名職工的職工號被確定之后,它所對應的性別、年齡、職務等屬性值就被唯一確定下來了,所以職工號函數(shù)決定性別、年齡、職務等描述職工特征的每個屬性,可以分別記作為“職工號→性別”、“職工號→年齡”、“職工號→職務”。某個屬性集決定另一個屬性集時,稱另一屬性集函數(shù)依賴于該屬性集。函數(shù)依賴函數(shù)依賴提問:請說出下列關系模式中的一些函數(shù)依賴。學生(學號,姓名,年齡,性別)選課(學號,課程號,成績)學號

性別學號

姓名學號

年齡(學號,課程號)

成績函數(shù)依賴動一動函數(shù)依賴根據(jù)函數(shù)依賴的定義,可以找出如下規(guī)律:在一個關系模式中,如果屬性X、Y間是1:1的聯(lián)系,則存在著函數(shù)依賴

X→Y、Y→X,這時可稱X、Y相互函數(shù)依賴。如果屬性X、Y間是1:N的聯(lián)系,則存在函數(shù)依賴Y→X,但X→Y。如果屬性X、Y間是M:N的聯(lián)系,則X與Y之間不存在任何函數(shù)依賴。函數(shù)依賴例:學生(學號,姓名,性別,年齡,班級)學號與姓名之間是1:1的聯(lián)系(假設不重名的情況下)班級與學號之間是1:m的聯(lián)系年齡與班級之間是m:n的聯(lián)系函數(shù)依賴鞏固思考職工(職工號,姓名,性別,年齡,職務)職工號與姓名之間是1:1的聯(lián)系(假設不重名的情況下)職務與職工號之間是1:m的聯(lián)系性別與年齡之間是m:n的聯(lián)系函數(shù)依賴職工號

姓名,姓名

職工號想一想職工號

職務不存在函數(shù)依賴函數(shù)依賴結論:如果屬性組A?屬性組B,則A→B注:函數(shù)依賴是指關系R中的所有元組均應滿足的約束條件,而不是R中某個或某些元組滿足的約束條件。當關系中的元組增加或者更新后,都不能破壞函數(shù)依賴。函數(shù)依賴如:(職工號,性別)

職工號

函數(shù)依賴1、平凡函數(shù)依賴與非平凡函數(shù)依賴函數(shù)依賴的幾種特例設一個關系為R(U),X和Y為屬性集U上的子集。若X→Y,且X不包含Y,則X→Y

稱為非平凡函數(shù)依賴。若Y?X,則必有X→Y,則稱X→Y為平凡函數(shù)依賴。由于Y?X時,一定有X→Y,平凡函數(shù)依賴必然成立,沒有意義,所以一般所說的函數(shù)依賴總是指非平凡函數(shù)依賴。如:(職工號,性別)

職工號

如:(職工號)

姓名

函數(shù)依賴2、完全函數(shù)依賴與部分函數(shù)依賴在關系模式R(U)中,如果X→Y,但Y不函數(shù)依賴于X的任一真子集,則稱Y對X完全函數(shù)依賴,記作X

Y。

否則,稱為部分函數(shù)依賴,記作X

Y。fp(學號,課程號)課程名如:選課(學號,課程號,課程名,成績)p(學號,課程號)成績

f推論:如果X→Y,且X是單個屬性,則XYf因為課程號→課程名因為學號和課程號中的任何一個屬性都不能單獨決定成績

函數(shù)依賴的幾種特例函數(shù)依賴2、完全函數(shù)依賴與部分函數(shù)依賴在關系模式R(U)中,如果X→Y,但Y不函數(shù)依賴于X的任一真子集,則稱Y對X完全函數(shù)依賴,記作X

Y。

否則,稱為部分函數(shù)依賴,記作X

Y。fp(教工號,課程號)姓名思考:任課(教工號,姓名,職稱,課程號,課程名,課時數(shù),課時費)p(職稱,課程號)課時費

f因為教工號→姓名因為職稱和課程號中的任何一個屬性都不能單獨決定課時費

(教工號,課程號)課程名p(教工號,課程號)職稱p函數(shù)依賴的幾種特例想一想函數(shù)依賴3、傳遞函數(shù)依賴在同一個關系模式R中,若Y函數(shù)依賴于X(X→Y)并且Z函數(shù)依賴Y(Y→Z),而YX,則有Z函數(shù)依賴X(X→Z),并稱這種函數(shù)依賴為傳遞函數(shù)依賴。記作X傳遞→Z。如:學生(學號,姓名,系名,系主任)∵學號→系名,系名→系主任,而系名學號∴系主任傳遞函數(shù)依賴于學號,即學號傳遞→系主任實際上,部分函數(shù)依賴必然是傳遞函數(shù)依賴函數(shù)依賴的幾種特例函數(shù)依賴思考題:已知關系模式R(學號,課程名,專業(yè)號,專業(yè)名,成績),請說出下面是什么關系?(學號,課程名,專業(yè)號)成績學號專業(yè)號專業(yè)名(學號,專業(yè)名)成績(學號,課程名)成績(課程名,專業(yè)名,成績)(課程名,成績)

(函數(shù)依賴,部分函數(shù)依賴)(函數(shù)依賴,傳遞函數(shù)依賴)(不是函數(shù)依賴)(函數(shù)依賴,完全函數(shù)依賴)(平凡函數(shù)依賴,部分函數(shù)依賴)動一動函數(shù)依賴的幾種特例關系范式4.3關系范式范式(NormalForm):規(guī)范化的關系模式,關系模式滿足不同程度的規(guī)范化要求的標準。根據(jù)滿足規(guī)范化的程度不同,范式由低到高分為1NF,2NF,3NF,BCNF,4NF,5NF。一般來說,數(shù)據(jù)庫設計到符合第三范式就可以了。第一范式第二范式第三范式關系范式第一范式如果關系模式R中的每一個屬性都是不可分解的,則稱R屬于第一范式,記R∈1NF。姓名工資基本工資獎金補發(fā)張三1000300500李四1200300600王五1100400600姓名基本工資獎金補發(fā)張三1000300500李四1200300600王五1100400600結論1:第一范式是作為一個關系模式的最起碼要求,是一定要滿足的。關系范式第一范式教學(學號,姓名,年齡,系名,系主任,課程號,成績)學號姓名年齡系名系主任課程號成績98001李華21計算機王民19098001李華21計算機王民28098002張平22計算機王民26598003張名22計算機王民27098003陳兵21數(shù)學趙敏29598004王五21數(shù)學趙敏37599001陸莉23物理王珊485結論2:第一范式僅是關系模式的最低要求,僅僅滿足第一范式是不夠的。雖然滿足第一范式,但仍然存在較大數(shù)據(jù)冗余、插入、刪除和修改異常等問題。思考:該關系模式是否滿足第一范式?關系范式第二范式如關系模式R∈1NF,且R中的每一個非主屬性完全函數(shù)依賴于主碼,則稱R屬于第二范式,記R∈2NF。例1:請判斷學生關系是否屬于第二范式?

學生(學號,姓名,出生年月,籍貫)答:①因為此關系中所有屬性均不可分解,所以∈1NF;

②因為此關系中所有非主屬性均完全函數(shù)依賴于主碼,所以∈2NF。經驗1:若主碼是單屬性,則此關系模式肯定符合2NF。思考:該關系是否滿足第二范式?關系范式第二范式例2:選課(學號,課程號,姓名,成績)分析過程:①因為此關系中所有屬性均不可分解,所以∈1NF;②主碼:(學號,課程號)

非主屬性:姓名,成績

∵(學號,課程號)→姓名③此關系中存在非主屬性部分函數(shù)依賴于主碼,所以不屬于2NF。P第一步:分析判斷第二步:模式分解思考:該關系是否滿足第二范式?消除部分函數(shù)依賴,將其分解為:學生(學號,姓名)選課(學號,課程號,成績)分解后的關系模式∈2NF。關系范式第二范式例2:請判斷選課關系是否符合第二范式?若不符合,請分解。

選課(學號,課程號,姓名,成績)

答:

①因為此關系中所有屬性均不可分解,所以∈1NF;

②因為此關系中存在非主屬性部分函數(shù)依賴于主碼,所以不屬于2NF。

③將其分解為:學生(學號,姓名)選課(學號,課程號,成績)

分解后的兩個關系模式中所有非主屬性均完全函數(shù)依賴于主碼,故∈2NF。完整寫法:關系范式第二范式課堂練習1:請判斷“教學”模式是否符合第二范式,如不符合,請分解。教學(學號,姓名,年齡,系名,系主任,課程號,成績)學號姓名年齡系名系主任課程號成績98001李華21計算機王民19098001李華21計算機王民28098002張平22計算機王民26598003張名22計算機王民2708分鐘練一練小組形式,拍照上傳超星平臺關系范式課堂練習1:請判斷“教學”模式是否符合第二范式。教學(學號,姓名,年齡,系名,系主任,課程號,成績)練習分析答:①因為“教學”中所有屬性均不可分解,所以∈1NF;第二范式分析關系范式教學(學號,姓名,年齡,系名,系主任,課程號,成績)因“教學”關系中存在非主屬性部分函數(shù)依賴于主碼的情況,故不屬于2NF;主碼:(學號,課程號)非主屬性:姓名,年齡,系名,系主任,成績練習分析學生(學號,姓名,年齡,系名,系主任),主碼為(學號)選課(學號,課程號,成績),主碼為(學號,課程號)(學號,課程號)→姓名(學號,課程號)→年齡(學號,課程號)→系名(學號,課程號)→系主任PPPP關系范式課堂練習1:請判斷“教學”模式是否符合第二范式。教學(學號,姓名,年齡,系名,系主任,課程號,成績)練習答案答:①因為“教學”中所有屬性均不可分解,所以∈1NF;②因為該關系中存在非主屬性部分函數(shù)依賴于主碼,所以不屬于2NF。③將其分解為以下兩個關系模式:學生(學號,姓名,年齡,系名,系主任)選課(學號,課程號,成績)分解后的“學生”和“選課”關系中,所有非主屬性均完全函數(shù)依賴于主碼,故均∈2NF。認真嚴瑾的工作態(tài)度關系范式第二范式如關系模式R∈1NF,且R中的每一個非主屬性完全函數(shù)依賴于主碼,則稱R屬于第二范式,記R∈2NF。經驗1:若主碼是單屬性,則此關系模式肯定符合2NF。經驗3:第2范式分解時,完全函數(shù)依賴于主碼的非主屬性分解在同一個關系模式中,原主碼即是主碼。經驗2:第2范式分解時,由同一個主屬性推導出的非主屬性分解在同一個關系模式中,源頭作為主碼。學生(學號,姓名,年齡,系名,系主任)選課(學號,課程號,成績)總結學號姓名年齡系名系主任課程號成績98001李華21計算機王民19098001李華21計算機王民28098002張平22計算機王民26598003張名22計算機王民270學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民關系范式學號課程號成績98001190980012809800226598003270選課(學號,課程號,成績)學生(學號,姓名,年齡,系名,系主任)關系范式不滿足第二范式的關系模式必然存在各種存儲異常。思考:滿足了2NF是不是就不存在存儲異常呢?第二范式如:學生(學號,姓名,年齡,系名,系主任)學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民關系范式不滿足第二范式的關系模式必然存在各種存儲異常。思考:滿足了2NF是不是就不存在存儲異常呢?第二范式如:學生(學號,姓名,年齡,系名,系主任)它滿足2NF,但還存在如下問題:存在數(shù)據(jù)冗余:大量的系信息冗余;它存在插入異常:系剛成立,沒有學生時不能添加系;它存在刪除異常:某系學生全部畢業(yè),系的信息丟失;它存在修改異常:系主任變動,需要改動多處。因此,滿足了2NF還不夠。關系范式如果關系模式R∈2NF,且R中每一個非主屬性對主碼都不存在傳遞函數(shù)依賴,或者說R中每一個非主屬性之間不存在函數(shù)依賴關系,則稱R屬于第三范式,記R∈3NF。第三范式經驗4:若非主屬性只有一個,則此關系肯定符合3NF。選課(學號,課程號,成績)關系范式例3:學生(學號,姓名,年齡,系名,系主任)第三范式因為“學生”關系中存在非主屬性傳遞函數(shù)依賴于主碼,或非主屬性之間存在函數(shù)依賴關系,故不屬于3NF。①學號系主任②系名→系主任學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民思考:該關系是否滿足第三范式?

傳遞關系范式例3:學生(學號,姓名,年齡,系名,系主任)第三范式學生(學號,姓名,年齡,系名)系(系名,系主任)學號姓名系名98001李華計算機98002張平計算機98003張名計算機系名系主任計算機王民主碼分解后的“學生”和“系”均∈3NF學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民判斷:分解后的倆關系是否滿足第三范式?消除非主屬性之間函數(shù)依賴關系范式第三范式經驗5:第3范式分解時,將存在函數(shù)依賴關系的非主屬性獨立成單獨的關系模式(源頭為主碼),并將主碼復制在原關系模式中。如果關系模式R∈2NF,且R中每一個非主屬性對主碼都不存在傳遞函數(shù)依賴,或者說R中每一個非主屬性之間不存在函數(shù)依賴關系,則稱R屬于第三范式,記R∈3NF。系(系名,系主任)學生(學號,姓名,年齡,系名)關系范式第三范式學生(學號,姓名,年齡,系名)系(系名,系主任)選課(學號,課程號,成績)思考:上述教學(學號,姓名,年齡,系名,系主任,課程號,成績)關系模式該如何分解才合理,又可以分為幾個關系模式呢?最終分解的結果是:分解后均屬于第三范式關系范式例2:判斷關系模式:選課(學號,課程號,姓名,成績)∈3NF?分析步驟:它是否滿足2NF?不是。既然不滿足2NF,當然不滿足3NF。不滿足3NF的關系模式存在各種存儲異常。那么滿足3NF的關系模式是不是就不存在存儲異常呢?一般情況下是可以了,但有些特殊情況下依然還存在存儲異常。第三范式課后思考關系范式1NF↓消除非主屬性對主碼的部分函數(shù)依賴2NF↓消除非主屬性對主碼的傳遞函數(shù)依賴3NF↓消除主屬性對主碼的部分依賴和傳遞依賴BCNF↓消除非平凡且非函數(shù)依賴的多值依賴4NF↓消除不是由主碼蘊含的連接依賴5NF范式小結①

明白做人、做事的道理。②樹立正確的擇業(yè)與就業(yè)觀。在實際開發(fā)過程中,不一定最頂層是最好的,合適才是最好的。人手人才人物偉人關系模式規(guī)范化4.4關系模式規(guī)范化關系模式的規(guī)范化:把一個低一級的關系模式分解為高一級關系模式的過程。1NF↓消除非主屬性對主碼的部分函數(shù)依賴2NF↓消除非主屬性對主碼的傳遞函數(shù)依賴3NF關系模式規(guī)范化模式分解具有無損連接指分解后的關系通過自然連接可以恢復成原來的關系模式分解能夠保持函數(shù)依賴即模式分解不能破壞原來的語義關系模式的分解準則學號姓名年齡系名系主任課程號成績98001李華21計算機王民19098001李華21計算機王民28098002張平22計算機王民26598003張名22計算機王民270學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民關系模式規(guī)范化學號課程號成績98001190980012809800226598003270第一范式到第二范式SA(學號,姓名,系名,系主任,課程號,成績)SC(學號,課程號,成績)SD(學號,姓名,系名,系主任)無損分解關系模式規(guī)范化系(系名,系主任)學生(學號,姓名,年齡,系名)第二范式到第三范式學號姓名系名98001李華計算機98002張平計算機98003張名計算機系名系主任計算機王民學號姓名年齡系名系主任98001李華21計算機王民98002張平22計算機王民98003張名22計算機王民無損分解①

模式分解具有無損連接②

模式分解能夠保持函數(shù)依賴關系模式的分解準則關系模式規(guī)范化例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。要求:(1)分析該關系模式存在什么問題;(2)寫出R的主碼與基本函數(shù)依賴;(3)確定R屬于第幾范式,并說明理由;(4)若R不屬于2NF,則將R分解為2NF,并說明理由;(5)若R不屬于3NF,則將R分解為3NF,并說明理由。綜合實例解析關系模式規(guī)范化分析:(1)該關系存在什么問題;綜合實例解析數(shù)據(jù)冗余數(shù)據(jù)更新異常數(shù)據(jù)插入異常數(shù)據(jù)刪除異常例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。樹立隱私保護與數(shù)據(jù)安全意識。關系模式規(guī)范化分析:(2)寫出R的主碼與基本函數(shù)依賴;綜合實例解析R的主碼:(學號,課程號)非主屬性:成績,教師姓名,教師地址例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。R基本函數(shù)依賴:(學號,課程號)→成績課程號→教師姓名教師姓名→教師地址課程號

教師地址

傳遞關系模式規(guī)范化分析:(3)確定R屬于第幾范式,并說明理由;綜合實例解析①因為R中所有屬性均不可再分,所以∈1NF;例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。②∵課程號→教師姓名課程號

教師地址∴(學號,課程號)教師姓名

該關系中存在非主屬性部分函數(shù)依賴于主碼,所以不屬于2NF。

傳遞關系模式規(guī)范化綜合實例解析根據(jù)第(3)題的判斷,R不屬于2NF,故將其分解成如下兩個關系模式:R1(學號,課程號,成績)R2(課程號,教師姓名,教師地址)分解后兩關系模式的非主屬性均完全函數(shù)依賴于主碼,故R1、R2均∈2NF;分析:(4)若R不屬于2NF,則將R分解為2NF,并說明理由;例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。關系模式規(guī)范化綜合實例解析根據(jù)第(4)題分析,R1(學號,課程號,成績)∵R1只有一個非主屬性,不存在函數(shù)依賴∴R1∈3NF。根據(jù)第(4)題分析,R2(課程號,教師姓名,教師地址),非主屬性之間存在函數(shù)依賴,故R2不屬于3NF。R2分解為如下兩個關系模式:R3(課程號,教師姓名)R4(教師姓名,教師地址)∵R3,R4都只有一個非主屬性,不存在函數(shù)依賴∴R3,R4∈3NF。

分析:(5)若R不屬于3NF,則將R分解為3NF,并說明理由。例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。關系模式規(guī)范化綜合實例解析R1(學號,課程號,成績)R3(課程號,教師姓名)R4(教師姓名,教師地址)最終分解結果:例4:設關系模式R(學號,課程號,成績,教師姓名,教師地址)規(guī)定:每個學生每學一門課只有一個成績,每門課只有一個教師任教,每個教師只有一個地址,且教師沒有同名同姓。關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)請回答下列問題:(1)指出該關系模式的主碼。(2)關系模式TDC符合第幾范式?說明理由。(3)將TDC分解符合第三范式,并說明理由。課堂練習215分鐘小組形式,拍照上傳超星平臺關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析(1)指出該關系模式的主碼。主碼:(教師編號,課程號碼)(2)關系模式R符合第幾范式?說明理由。該關系模式每一個屬性值均不可分解的,故∈1NF關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析第二范式分析:主碼:(教師編號,課程號碼)非主屬性:教師姓名職稱教師地址所在系編號系名稱系地址課程名稱教學水平學分該關系模式存在非主屬性對主碼的部分函數(shù)依賴關系,故不屬于2NF。模式分解關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析TD(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址)C(課程號碼,課程名稱,學分)TC(教師編號,課程號碼,教學水平)TD、C、TC三個關系模式都不存在非主屬性對主碼的部分依賴關系,故∈2NF。關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析(3)將TDC分解符合第三范式,并說明理由。TD(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址)C(課程號碼,課程名稱,學分)TC(教師編號,課程號碼,教學水平)TD關系模式的非主屬性之間存在函數(shù)依賴關系,故其不符合3NF;C、TC兩個關系模式都不存在非主屬性之間的函數(shù)依賴關系,故∈3NF。關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析(3)將TDC分解符合第三范式,并說明理由。TD(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址)D(所在系編號,系名稱,系地址)D、T兩個關系模式都不存在非主屬性之間的函數(shù)依賴關系,故∈3NF。T(教師編號,教師姓名,職稱,教師地址,所在系編號)TD(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址)關系模式規(guī)范化1.有關系模式TDC(教師編號,教師姓名,職稱,教師地址,所在系編號,系名稱,系地址,課程號碼,課程名稱,教學水平,學分)練習分析分解的最終結果是:T(教師編號,教師姓名,職稱,教師地址,所在系編號)D(系編號,系名稱,系地址)C(課程號碼,課程名稱,學分)TC(教師編號,課程號碼,教學水平)分解后的結果符合三大范式。關系模式規(guī)范化中場小結將關系模式轉化為較高級的范式稱為關系模式的規(guī)范化。關系模式屬于范式的級別越高,出現(xiàn)異常的概率越小,所以我們應該讓關系模式盡可能屬于較高級的范式。關系模式的規(guī)范化通常是采用分解的辦法,也就是將關系模式分解為幾個關系模式,使每個關系模式都達到更高的范式級別。但這種分解要求信息不能有損失。關系數(shù)據(jù)庫設計實例4.5關系數(shù)據(jù)庫設計實例數(shù)據(jù)庫設計的目標是:對于一個給定的應用領域,建立一個性能良好的、能滿足不同用戶在數(shù)據(jù)存儲和應用系統(tǒng)開發(fā)時需求的、又能被選定的DBMS所接受的數(shù)據(jù)庫模式。數(shù)據(jù)庫設計概述反映特定領域中信息及信息之間的聯(lián)系;能進行有效的信息存儲;方便信息檢索和處理操作;有利于數(shù)據(jù)庫的維護和管理。關系數(shù)據(jù)庫設計實例關系數(shù)據(jù)庫設計的基本步驟需求分析概念分析邏輯設計物理設計需求說明概念結構邏輯結構物理結構圖數(shù)據(jù)庫設計的全過程需求分析階段概念設計階段邏輯設計階段物理設計與實施階段關系數(shù)據(jù)庫設計實例階段任務1.需求分析收集信息并對信息進行分析和整理2.概念設計形成概念結構,即概念模型(用E-R圖描述)3.邏輯設計①將E-R圖轉換為基本的關系模式②關系規(guī)范化處理4.物理設計與實施為邏輯模型選取一個最適合運行環(huán)境的物理結構關系數(shù)據(jù)庫設計的基本步驟關系數(shù)據(jù)庫設計實例關系數(shù)據(jù)庫設計簡單示例學校食堂用餐卡系統(tǒng)作一個簡單的數(shù)據(jù)庫設計。要求:對簡化的學校食堂用餐卡系統(tǒng)建模。步驟1:建立E-R模型。需求分析實體集設計聯(lián)系集設計綜合E-R圖步驟2:從E-R模型轉換到關系模型步驟3:對設計出的關系模型進行規(guī)范化檢查,要求達到三范式關系數(shù)據(jù)庫設計實例需求分析(1)系統(tǒng)目的:方便管理學生用餐卡的發(fā)放、掛失、補辦、管理人員信息,學生信息,存儲金額及相關數(shù)據(jù)信息等。(2)數(shù)據(jù)需求:A.

用餐卡信息:用餐卡編號,持卡人編號,辦卡日期,余額;B.

持卡人信息:姓名,性別,照片,編號,身份證號,部門,人員類別;C.

操作員信息:職工編號,姓名,性別,照片,身份證號碼,參加工作時間,密碼等;D.

賬戶操作詳細信息:流水號,用餐卡編號,存/取,操作員編號,操作時間,發(fā)生金額等。(3)事務需求:A.

辦新卡,修改卡信息;B.

存取卡中金額;C.

維護人員信息;D.

列出數(shù)據(jù)庫中的每餐使用金額的清單及余額信息;E.

列出所有持卡人的信息;F.

列出每個月的累計消費信息;G.列出用餐卡是否為掛失卡信息。關系數(shù)據(jù)庫設計實例②實體集設計(1)實體集“用餐卡”,屬性包括:用餐卡號、持卡人編號、辦卡日期及余額,其中,“用餐卡號”為主碼;(2)實體集“持卡人”,屬性包括:姓名、性別、照片、編號、身份證號、部門及人員類別,其中“編號”為主碼;(3)實體集“操作員”,屬性包括:操作員編號、姓名、性別、照片、身份證號、工作時間及密碼,其中“操作員編號”為主碼;持卡人姓名編號照片性別人員類別部門身份證號操作員性別操作員編號照片密碼工作時間姓名身份證號用餐卡持卡人編號余額用餐卡號辦卡日期關系數(shù)據(jù)庫設計實例③聯(lián)系集設計有兩個聯(lián)系:1)“擁有”聯(lián)系:標識持卡人擁有用餐卡(“用餐卡”與“持卡人”之間的一對多聯(lián)系);2)“操作”聯(lián)系:標識操作員處理用餐卡的賬戶信息(“操作員”與“用餐卡”之間的多對多聯(lián)系),其本身還具有屬性:存/取、操作發(fā)生的時間、發(fā)生金額和掛失信息。持卡人用餐卡擁有操作操作員1nmn關系數(shù)據(jù)庫設計實例④綜合E-R圖關系數(shù)據(jù)庫設計實例持卡人用餐卡擁有操作操作員1nmn姓名編號照片性別人員類別部門身份證號持卡人編號余額用餐卡號辦卡日期性別操作員編號照片密碼工作時間姓名身份證號時間金額存/取掛失步驟2:從E-R模型轉換到關系模型持

溫馨提示

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

評論

0/150

提交評論