2、關係模式:
學生(學號,姓名,出生日期,系名,班號,宿舍區);
班級(班號,專業名,系名,人數,入校年份);
系(系名,系號,系辦公室地點,人數);
學會(學會名,成立年份,地點,人數);
學生-學會(學號,學會名,入會年份)。
(1)學生(學號,姓名,出生日期,系名,班號,宿舍區):
最小函式依賴集:
學號——>姓名,學號——>系名,學號——>出生日期,學號——>班 號,系名——>宿舍。
傳遞依賴:
學號——>宿舍。
候選碼:學號。外碼:班號,系名。
(2)班級(班號,專業名,系名,人數,入校年份):
最小函式依賴集:班號——>專業名,班號——>人數,班號——>入校年份,專業名——>系名。
傳遞依賴:班號——>系名。
候選碼:班號。
外碼:系名。
(3)系(系名,系號,系辦公室地點,人數):
最小函式依賴集:系號——>系名,系名——>系號,系號——>系辦公室地點,系號——>人數。
無傳遞依賴。
候選碼:系名。
外碼:無。
(4)學會(學會名,成立年份,地點,人數):
最小函式依賴集:學會名——>成立年份,學會名——>地點,學會名——>人數。
無傳遞依賴。候選碼:學會名。無外碼。
(5)學生-學會(學號,學會名,入會年份):
最小函式依賴集:(學號,學會名)——>入會年份。
無傳遞依賴,是完全函式依賴。候選碼:(學號,學會名)外碼:學號,學會名。
3、(1)r的候選碼為bd。(bd)3 = bdac。
(2)將f中的函式依賴都分解為右部為單屬性的函式依賴.
f=
去掉f中冗餘的函式依賴.
判斷a→c是否冗餘.
設:g1={c→a,b→a,b→c,d→a,d→c,bd→a},得(a)g1+=a
∵c不屬於(a)g1+ ∴ a→c不冗餘
判斷c→a是否冗餘.
設:g2={a→c,b→a,b→c,d→a,d→c,bd→a},得(a)g2+=c
∵a不屬於(c)g2+ ∴ c→a不冗餘
判斷b→a是否冗餘.
設:g3={a→c,c→a,b→c,d→a,d→c,bd→a},得(b)g3+=bca
∵a屬於(b)g3+ ∴ b→a冗餘
判斷b→c是否冗餘.
設:g4={a→c,c→a,d→a,d→c,bd→a},得(b)g4+=b
∵c不屬於(b)g4+ ∴ b→c不冗餘
判斷d→a是否冗餘.
設:g5={a→c,c→a,b→c,d→c,bd→a},得(d)g5+=dca
∵a不屬於(d)g5+ ∴ d→a冗餘
判斷a→c是否冗餘.
設:g6={a→c,c→a,b→c,bd→a},得(d)g6+=d
∵c不屬於(d)g6+ ∴ d→c不冗餘
判斷bd→a是否冗餘.
設:g7={a→c,c→a,b→c,d→c},得(bd)g7+=bdca
∵a不屬於(bd)g7+ ∴ bd→a冗餘
綜上所述:fm={a→c,c→a,b→c,d→c}
(3)τ=。
5、將函式依賴集f分解為右邊為單屬性的函式依賴:
f=。去掉f中冗餘的函式依賴.
判斷ab→e是否冗餘.
設:g1={bc→d,be→c,cd→b,ce→a,ce→f,cf→b,cf→d,c→a,d→e,d→f},得(ab)g1+=ab
∵e不屬於(ab)g1+ ∴ ab→e不冗餘
判斷bc→d是否冗餘.
設:g2={ab→e,be→c,cd→b,ce→a,ce→f,cf→b,cf→d,c→a,d→e,d→f},得(bc)g2+=bca
∵d不屬於(bc)g2+ ∴ bc→d不冗餘
判斷be→c是否冗餘.
設:g3={ab→e,bc→d,cd→b,ce→a,ce→f,cf→b,cf→d,c→a,d→e,d→f},得(be)g3+=be
∵c不屬於(be)g3+ ∴ be→c不冗餘
判斷cd→b是否冗餘.
設:g4={ab→e,bc→d,be→c,ce→a,ce→f,cf→b,cf→d,c→a,d→e,d→f},得(cd)g4+=cdaefb
∵b屬於(cd)g4+ ∴ cd→b冗餘
判斷ce→a是否冗餘.
設:g5={ab→e,bc→d,be→c,cd→b,ce→f,cf→b,cf→d,c→a,d→e,d→f},得(ce)g5+=cefabd
∵a屬於(ce)g5+ ∴ ce→a冗餘
判斷ce→f是否冗餘.
設:g6={ab→e,bc→d,be→c,cd→b,ce→a,cf→b,cf→d,c→a,d→e,d→f},得(ce)g6+=cea
∵f不屬於(d)g6+ ∴ ce→f不冗餘
判斷cf→b是否冗餘.
設:g7={ab→e,bc→d,be→c,cd→b,ce→a,ce→f,cf→d,c→a,d→e,d→f},得(cf)g7+=cfdabe
∵b屬於(cf)g7+ ∴ cf→b冗餘
判斷cf→d是否冗餘.
設:g7={ab→e,bc→d,be→c,cd→b,ce→a,ce→f,cf→b,c→a,d→e,d→f},得(cf)g7+=cfdabe
∵d屬於(cf)g7+ ∴ cf→d冗餘
判斷c→a是否冗餘.
設:g7={ab→e,bc→d,be→c,cd→b,ce→a,ce→f,cf→b,cf→d,d→e,d→f},得(c)g7+=c
∵a不屬於(c)g7+ ∴ c→a不冗餘
判斷d→e是否冗餘.
設:g7={ab→e,bc→d,be→c,cd→b,ce→a,ce→f,cf→b,cf→d,c→a,d→f},得(d)g7+=df
∵e不屬於(d)g7+ ∴ d→e不冗餘
判斷d→f是否冗餘.
設:g7={ab→e,bc→d,be→c,cd→b,ce→a,ce→f,cf→b,cf→d,c→a,d→e},得(d)g7+=df
∵f屬於(d)g7+ ∴ d→f冗餘
fm=。
8、(1)關係中l類(只出現在左邊)l=(ib)
關係中r類(只出現在右邊)r=(dq)
關係中lr類(兩邊都有)lr=(s)
關係中nlr類(兩邊都沒有)nlr=(o)
nlr類o一定是侯選碼的一部分。
(ib)的屬性閉包為lbdqs
所以r的侯選碼為ibo
(2) fm=
s→d不滿足bcnf正規化,把r分解為r11(sd),r12(boisq),f11(s→d),f12(i→s,is→q,b→q);
is→q不滿足bcnf正規化,繼續分解,r11(sd),r12(isq),r13(boq),f11(s→d),f12(i→s,is→q),f13(b→q)。
則為最後結果。
第4次作業
實踐最簡答的專案wordcount,必須完成其中的基本功能,若可以完成其他功能給予加分。完成後請將你的設計思路 主要 寫在本次作業部落格裡。要求三 學習總結和進度 30分 1 將pta作業的源 使用git提交到託管平台上,要求給出上傳成功截圖和你的git位址。請注意git位址應是類似 這樣的字串且是...
第4次作業
第一部分 先列出本次採用scrum敏捷程式設計的任務完成情況,並寫出心得 學生們丟東西的頻率越來越高,所以丟失東西之後找回就很重要,但是又比較難找回。我們的學生可以在平台上招領及尋找失物,以及發布招領資訊,為學生帶來了便捷。本次開發我們使用了scrum敏捷程式設計來完成此次任務,在團隊合作的時候提高...
c 第4次實驗
一 問題及 檔名稱 ex1 1.cpp 作 者 劉麗 完成日期 2016 年 4 月 22 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 繼承和派生 問題分析 略 演算法設計 略 include include using namespace std class st...