方案二:如果根據(jù)屬性之間存在的聯(lián)系或相關(guān)性,建立如下三個(gè)關(guān)系:
S(S#,SNAME,SD),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE)
(1).試分析這兩種模式設(shè)計(jì)方案各自的優(yōu)缺點(diǎn)。(26分)
(2).通常情況下你認(rèn)為哪種方案更“好”些?請說明理由。(4分)
答案:
對方案一:這個(gè)關(guān)系模式存在如下問題:(每個(gè)問題4分,共16分。若只給出問題,沒有說明得2.5分)
(1).數(shù)據(jù)存在大量冗余。例如:(至少給出1項(xiàng))
C#,CNAME,TEACHER要重復(fù)“學(xué)生選修這門課的人數(shù)”
(2).更新異常。由于數(shù)據(jù)存在大量冗余,容易引起更新異常。例如,當(dāng)更新某門課程的教師時(shí),由于數(shù)據(jù)存在大量冗余,可能造成與這門課程有關(guān)的元組中,一部分元組的TEACHER的值被更新,而另一部分元組的TEACHER的值未被更新。
(3).插入異常。顯然,這個(gè)關(guān)系的主鍵是S#和C#。由于主鍵屬性值不能為空值,當(dāng)?shù)怯泴W(xué)生信息時(shí),由于該學(xué)生尚未選課,C#未確定,該學(xué)生的其他信息也無法登入,這不是我們的意愿。
(4).刪除異常。如果某些課程因故刪除了,則只選修這些課程的學(xué)生信息也被刪除了,這往往也不是我們的本意,我們并不希望刪除這些學(xué)生的信息。
對方案二:如果根據(jù)屬性之間存在的聯(lián)系或相關(guān)性,建立了三個(gè)關(guān)系,則方案一中存在的異常現(xiàn)象被消除了。(得5分)
比較這兩種設(shè)計(jì)方案:本人認(rèn)為第二種設(shè)計(jì)方案雖然對某些查詢問題連接操作較多,但它仍比第一種方案“好”,因?yàn)樗淮嬖谏鲜霎惓栴}。(得4分)
希望與更多計(jì)算機(jī)等級考試的網(wǎng)友交流,請進(jìn)入計(jì)算機(jī)等級考試論壇
更多信息請?jiān)L問:考試吧計(jì)算機(jī)等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |