3.7已知關係模式r(abc),f=,求f+。
可以直接通過自反律、增廣律、傳遞律加以推廣:
f+=4.6 試分析下列分解是否具有無損聯接和保持函式依賴的特點: (1)設r(abc),f1= 在r上成立,ρ1=。
首先,檢查是否具有無損聯接特點:
第1種解法--演算法4.2:
結果第二行全是a行,因此分解是無損聯接分解。
第2種解法:(定理4.8)
設 r1=ab,r2=ac
r1∩r2=a
r2- r1=b
∵a→b,∴該分解是無損聯接分解。
然後,檢查分解是否保持函式依賴
πr1(f1)=
πr2(f1)=
f1被πr1(f1)所蘊涵,∴所以該分解保持函式依賴。
(2)設r(abc),f2=在r上成立,ρ2=
首先,檢查是否具有無損聯接特點:
第1種解法(略)
第2種解法:(定理4.8)
設 r1=ab,r2=ac
r1∩r2=a
r2- r1=c
∵a→c,∴該分解是無損聯接分解。
然後,檢查分解是否保持函式依賴
πr1(f2)=
πr2(f2)=
∵f1中的b→c沒有被蘊涵,所以該分解沒有保持函式依賴。
(3)設r(abc),f3=,在r上成立,ρ3=.
首先,檢查是否具有無損聯接特點:
第1種解法:
沒有一行全是a行。因此這個分解不具有無損聯接特性。
第2種解法:(定理4.8)
設 r1=ab,r2=bc
r1∩r2=b
r2- r1=c,r1- r2=a
∵b→c,b→a不在f3中 ∴該分解不具有無損聯接特性。
然後,檢查分解是否保持函式依賴
πr1(f3)=
πr2(f3)=
f1被πr1(f3)所蘊涵,所以該分解保持函式依賴。
(4)設r(abc),f4=在r上成立,ρ4=
首先,檢查是否具有無損聯接特點:
第1種解法(略)
第2種解法:(定理4.8)
設 r1=ac,r2=bc
r1(ac)∩r2(bc)=c
r2- r1=b,r1- r2=a
∵c→b,c→a不在f4中 ∴該分解不具有無損聯接特性。
然後,檢查分解是否保持函式依賴
πr1(f2)=
πr2(f2)=
∵f1中的a→b沒有被蘊涵,所以該分解沒有保持函式依賴。
4.7 設r=abcd,r上的函式依賴集f=,r的乙個分解ρ=,求:(1)f在ρ的每個模式上的投影。(2)ρ相對於f是無損聯接分解嗎?(3)ρ保持依賴嗎?
(1)πab(f)=
πac(f)=
πad(f)=
(2)每一行都是a,ρ相對於f是無損聯接分解。
(3)πab(f)∪πac(f)∪πad(f)=,
沒有滿足b→c,d→c函式依賴,
因此ρ相對於f的這個分解不保持函式依賴。
4.8 設r=abcd,r上的f=, 試證明ρ=相對於f不是無損聯接分解。
根據演算法4.2
沒有一行都是a,所以,ρ相對於f不是無損聯接分解。
4.9 設r=abcd,r上的f=,把r分解成bcnf模式集。
(1)若首先把r分解成,試求f在這兩個模式上的投影。
(2)acd和bd是bcnf嗎?如果不是,請進一步分解。
(1)πacd(f)=
πbd(f)=
(2)因為根據bcnf的定義,要求關係模式是第一正規化,且每個屬性都不傳遞依賴於r的侯選鍵。 bcd中(a,d)為候選鍵,可是(a,d)→a, a→c,所以它不是bcnf模式。
它可進一步分解為:,此時ac,dc均為bcnf模式。
bd是bcnf,因為r2(bd)是第一正規化,且每個屬性都不傳遞依賴於d(候選鍵),所以它是bcnf模式。
4.10 設r=abcd,ρ=。f1=;f2=;
(1)如果f1是r上的函式依賴集,此時ρ是無損聯接分解嗎?若不是,試舉出反例。
(2)如果f2是r上的函式依賴集呢?
(1)不是無損聯接。可由演算法4.2判斷或由定理4.8判斷。
根據演算法4.2
結果沒有出現一行全a的情況,所以它不是無損聯接。舉例如下:
設模式r的一關係r為
則有:r1=πab(r)=
r2=πbc(r)=
r3=πcd(r)=
令a=r1r2r3=
r≠a,所以ρ不是無損聯接。
(2)如果f2是r上的函式依賴,則可以判斷,ρ是無損聯接。判斷過程同上。
4.11(1)f= 侯選鍵是(s#,c#)。
(2)在模式r中,tname不完全依賴於鍵(s#,c#),因此需進行分解,可分解為下列兩個關係。
sc= c=
分解後,sc中,grade完全依賴於侯選鍵(s#,c#),在c中,主屬性是c#,tname、taddr均完全依賴於c#。 因此,該分解符合2nf模式。
(3)3nf:若每個關係模式是2nf,則每個非主屬性都不傳遞於r的候選鍵。
按上述已分好的兩個模式,sc中已滿足「每個非主屬性都不傳遞於r的候選鍵」,已是3nf,而在c中, c#→tname,tname→taddr,taddr傳遞依賴於c#,因此還需分成兩個模式:ct(c#,tname), t(tname,tadd)。
分解後,總共有sc=,ct(c#,tname), t(tname,tadd)三個模式。
該分解符合3nf模式。
4.12 d=
d#:部門號, manager_e#:部門領導人員的職工號, e#:
職工號, j#:生產科研專案號phone#:辦公室的**號business:
職工職務sa_history:工資歷史office#:辦公室號area:
辦公室面積,
根據所給資訊,給出下列資料依賴: f=
(假設乙個部門可能有多個辦公室,有多個專案,乙個辦公室只屬於乙個部門,有多部**, 乙個員工只參加乙個專案,乙個專案可能屬於多個部門)
只要保證每個屬性值不可分割,以上正規化即為1nf。候選鍵為(e#,business,phone#)
轉換成2nf關係(消除區域性依賴):
em_dep(e#,d#,manager_e#,office#,area,j#,budget)
對應 f=
history(e#,business,history)
對應 f=
phone(phone#,office#)
對應 f=
轉換成3nf關係(消除非主屬性對侯選鍵的傳遞依賴):
department(d#,manager_e#)
office(office#,area,d#)
emproee(e#,j#,office#)
history(e#,business,history)
phone(phone#,office#)
project(j#,budget)
4.11 試把域表示式轉換成等價的:
(1)漢語查詢句子;(2)關係代數表示式;(3)元組表示式。
(1)漢語查詢句子:選擇r中元組第1分量值與第2分量值互換後仍存在於r中的元組。
(2)關係代數表示式:π1,2(σ1=4∧2=3(r×r));
(3)元組表示式:=
4.12 設有兩個關係r(a,b,c)和s(d,e,f),試把下列關係代數表示式轉換成等價的元組表示式:
(1)πa(r);(2)σb='17'(r);(3)r×s;(4)πa,f(σc=d(r×s))
(1)(2)(3)(4)
資料庫系統原理實習報告
河南工程學院 實習報告 系 部計算機學院 專業電腦科學與技術 班級負責人學號及姓名 成員學號及姓名 年月日資料庫系統原理課程設計指導教師評分表 實習 訓 報告評語 等級評閱人職稱 年月日河南工程學院 實習 訓 報告 實習目的 內容 學習和掌握資料庫原理及sql server 2000 資料庫開發工具...
資料庫系統教案
課題 資料庫系統 第一課時 授課教師 胡曉環 一 教學目標 二 教學重點 難點 重點 資料庫 資料庫管理系統 資料庫應用系統 資料庫系統四個概念 資料庫中表 欄位的概念及字段的資料型別 難點 資料庫系統四個概念,及如何根據生活中的具體事物設計資料庫 三 教學方法與教學手段 採用情景匯入 學案導學 任...
資料庫系統原理實習報告 本科
河南工程學院 實習報告 系 部理學院 專業資訊與計算科學 班級1042 負責人學號及姓名 201011002221 趙元培 成員學號及姓名趙元培 2013年 7月日 資料庫系統原理課程設計指導教師評分表 實習 訓 報告評語 等級評閱人職稱 年月日河南工程學院 實習 訓 報告 實習目的 內容 學習和掌...