freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第10章數(shù)據(jù)依賴和關(guān)系模式的規(guī)范化(已修改)

2025-08-01 07:11 本頁面
 

【正文】 第 10章 數(shù)據(jù)依賴和關(guān)系模式的規(guī)范化 關(guān)系模式設(shè)計中的一些數(shù)據(jù)語義問題 數(shù)據(jù)的語義不但表現(xiàn)為完整性約束,對數(shù)據(jù)庫的狀態(tài)或狀態(tài)的轉(zhuǎn)換施加一定的限制,而且對關(guān)系模式的設(shè)計也提出一定的要求。 屬性間往往存在一定的依賴關(guān)系,而最基本的依賴關(guān)系是函數(shù)依賴。所謂函數(shù)依賴是指一個或一組屬性的值可以決定其他屬性的值。 一般地講,設(shè)X,Y是關(guān)系的兩個不同的屬性組,如果Y函數(shù)依賴于X,或X函數(shù)決定Y,則其依賴關(guān)系可表示為X → Y。 設(shè)有一關(guān)系R,具有下列屬性:學(xué)號( S#)、課程號( C#)、成績( G)、任課教師姓名( TN)、教師所在系名( D)。這些數(shù)據(jù)具有下列語義: (1)學(xué)號是一個學(xué)生的標(biāo)識,課程號是一門課程的標(biāo)識,這些標(biāo)識與其代表的學(xué)生和課程分別一一對應(yīng); (2)一位學(xué)生所修的每門課程都有一個成績; (3)每門課程(注意:不是每種課程!同一種課,如數(shù)學(xué)課,可以開好多門,每門課有一個課程號)只有一位任課教師,但一位教師可以教多門課; (4)教師中沒有重名,每位教師只屬于一個系。 根據(jù)上述語義,可以確認(rèn)下面函數(shù)依賴的集合: F={{S#,C#} → G,C# → TN,TN → D} 從圖10-1可以看出,屬性集{S#,C#}可以 決定其他所有屬性的值,而{S#,C#}的任何子集 則不能,故{S#,C#}是這個關(guān)系的主鍵。這樣的 關(guān)系用來查詢是很方便的。 計算機系通知教師準(zhǔn)備給學(xué)生補考,可以 “ 查詢圖 101 函數(shù)依賴計算機系所開課程的不及格學(xué)生的學(xué)號、不及 格課程號以及任課教師的姓名 ” .查詢僅涉及R一個關(guān) 系,是一元查詢,不須做連接運算,可以用下面的 SQL語 句來表達(dá): SELECT S#, C#, TN FROM R WHERE D= CS′AND G= F′。 但是這樣的關(guān)系也有問題,首先數(shù)據(jù)冗余太多,如一門課程的教師名須對選這門課的所有學(xué)生重復(fù)一次;一個系名須對選該系所開課程的所有學(xué)生重復(fù)一次。除冗余外,在進(jìn)行增、刪、改操作時,還會發(fā)生所謂更新異常現(xiàn)象 : (1)由于冗余,在修改時往往會導(dǎo)致數(shù)據(jù)的不一致。例如,改變一門課程的任課教師,或一門課改由另一個系開出,則需要修改多個元組。如果部分修改,部分不修改,則會導(dǎo)致數(shù)據(jù)的不一致。這叫修改異常。 (2)由于主屬性不能為空值,如某系有位教師不教課,則這位教師的姓名及所屬的系名就不能插入;同樣,如果一位教師所開的課暫時無人選,或是列入計劃而目前不開,則也無法插入。這叫插入異常。 (3)如果所有學(xué)生都退選一門課,則有關(guān)這門課的其他數(shù)據(jù)(任課教師名及所屬系名)也將被刪除。如果一位教師因病暫時停開他所開的課,則有關(guān)這位教師的其他信息(所屬系、可開課程)都將被刪去。這叫刪除異常。 在上例的關(guān)系中,包含了三方面的信息:學(xué)生各門課程 的成績,各門課程開課的教師以及各個教師所屬的系。 上例中 ,所有這三方面的數(shù)據(jù)都集中在一個關(guān)系中,此 關(guān)系的主鍵為屬性集{ S#, C#}。 ( C#, TN)和( TN, D)本來可以作為獨立的關(guān)系而存 在,而今卻不得不依附于其他關(guān)系。這就是說,必須對應(yīng) 一個主鍵{ S#, C#}的值,才能插入或存在一個( C#, TN)或( TN, D)的值。這是關(guān)系結(jié)構(gòu)帶來的限制,不是現(xiàn) 實世界的真實反映。 解決這個問題的途徑是把關(guān)系分解,也就是進(jìn)行所謂關(guān)系規(guī)范化。例如,把上例的關(guān)系分解為下列三個關(guān)系: SCG( S#, C#, G) CTN( C#, TN) TND( TN, D) 這樣的分解使關(guān)系的語義單純化,使之符合 “ 一地一事 ” 的原則。但是分解以后,對某些查詢必須進(jìn)行開銷很大的連接操作,影響數(shù)據(jù)庫的性能。 關(guān)系的規(guī)范化主要是對關(guān)系進(jìn)行必要的分解,但如何分解,分解后是否有損于原來的信息,回答這些問題需要理論的指導(dǎo),下面將討論這些問題。 ? R表示一個關(guān)系的模式, U={A1,A2,…,An} 是 R的所有屬性的集合, F是 R中函數(shù)依賴的集合, r是 R所取的值,即 R實有元組的集合。 ? 定義 101 設(shè)有一關(guān)系模式 R(A1,A2,…,An),X 和 Y為其屬性的子集。設(shè) t1,t2是關(guān)系 R中的任意兩個元組,如果t1[X]=t2[X],則 t1[Y]=t2[Y]。這時我們稱 Y函數(shù)依賴于X,或 X函數(shù)決定 Y, X稱為決定子( determinant)。 一個函數(shù)依賴要能成立,不但要求關(guān)系的當(dāng)前值都能滿足函數(shù)依賴條件,而且還要求關(guān)系的任一可能值都能滿足函數(shù)依賴條件。確認(rèn)一個函數(shù)依賴,需要弄清數(shù)據(jù)的語義,而語義是現(xiàn)實世界的反映,不是主觀的臆斷。 如果Y為X的子集,顯然X → Y成立,這稱為平凡函數(shù)依賴( trivial functional dependency)。平凡函數(shù)依賴必然成立,它不反映新的語義。我們平常所指的函數(shù)依賴一般都指非平凡函數(shù)依賴( nontrivial functional dependency)。 如果Y不函數(shù)依賴于X,則記做X Y。 如果X → Y且Y → X,則X與Y一一對應(yīng),可記做 定義 102 設(shè) X,Y是某關(guān)系的不同屬性集 ,如 X→Y ,且不存在 X′ 為 X的子集,使 X′→Y ,則稱 Y完全函數(shù)依賴(full functional dependency)于 X,記做 X Y;否則稱 Y部分函數(shù)依賴 p( partial functional dependency)于 X,記做 X Y。 f??p 在 ,{ S# ,C#}是主鍵,故{ S# ,C# }→TN ,但 C# → TN,故{ S#, p f C# }→TN ,而{ S#, C#} → G。 定義 103 設(shè) X,Y,Z是某關(guān)系的不同的屬性集,如果X→Y,Y X,Y→Z, 則稱Z傳遞函數(shù)依賴( transitive functional dependency)于 X。 ? 定義 104 設(shè) F是 R的函數(shù)依賴集合, X→Y 是 R的一個函數(shù)依賴。如果一個關(guān)系模式滿足 F,則必然滿足 X→Y ,就稱 F邏輯蘊涵 X→Y ,或表示為 F|=X→Y 。 ? 定義 105 函數(shù)依賴集合F所邏輯蘊涵的函數(shù)依賴的全體稱為 F的閉包( closure),記為 F+ ,即 F+ ={X→Y | F|=X→Y} 。 為了從已知的函數(shù)依賴推導(dǎo)出其他函數(shù)依賴, Armstrong提出了一套推理規(guī)則,我們常稱為 Armstrong公理( Armstrong saxions)。其推理規(guī)則可歸結(jié)為如下三條 :
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1