- 相關(guān)推薦
計算機(jī)等級考試三級數(shù)據(jù)庫歷年真題解析(4)
為學(xué)校中學(xué)生選課管理這個現(xiàn)實問題進(jìn)行數(shù)據(jù)庫模式設(shè)計。根據(jù)調(diào)查分析,確定它的屬性集合為:U={S#,C#,SNAME,CNAME,TEACHER,GRADE,SD}
下面給出兩種確定的模式設(shè)計方案:
方案一:只有一個關(guān)系模式:
R(S#,C#,SNAME,CNAME,TEACHER,GRADE,SD)
方案二:如果根據(jù)屬性之間存在的聯(lián)系或相關(guān)性,建立如下三個關(guān)系:
S(S#,SNAME,SD),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE)
(1).試分析這兩種模式設(shè)計方案各自的優(yōu)缺點。(26分)
(2).通常情況下你認(rèn)為哪種方案更“好”些?請說明理由。(4分)
答案:
對一個現(xiàn)實問題,進(jìn)行關(guān)系數(shù)據(jù)庫模式設(shè)計,通常其設(shè)計結(jié)果不是唯一的。每個方案有各自的優(yōu)缺點。對本題可以得到如下的分析結(jié)果:
對方案一:這個關(guān)系模式存在如下問題:(每個問題4分,共16分。若只給出問題,沒有說明得2.5分)
(1).數(shù)據(jù)存在大量冗余。例如:(至少給出1項)
S#,SNAME,SD要重復(fù)“每個學(xué)生選修的課程數(shù)”
C#,CNAME,TEACHER要重復(fù)“學(xué)生選修這門課的人數(shù)”
(2).更新異常。由于數(shù)據(jù)存在大量冗余,容易引起更新異常。例如,當(dāng)更新某門課程的教師時,由于數(shù)據(jù)存在大量冗余,可能造成與這門課程有關(guān)的元組中,一部分元組的TEACHER的值被更新,而另一部分元組的TEACHER的值未被更新。
(3).插入異常。顯然,這個關(guān)系的主鍵是S#和C#。由于主鍵屬性值不能為空值,當(dāng)?shù)怯泴W(xué)生信息時,由于該學(xué)生尚未選課,C#未確定,該學(xué)生的其他信息也無法登入,這不是我們的意愿。
(4).刪除異常。如果某些課程因故刪除了,則只選修這些課程的學(xué)生信息也被刪除了,這往往也不是我們的本意,我們并不希望刪除這些學(xué)生的信息。
對方案二:如果根據(jù)屬性之間存在的聯(lián)系或相關(guān)性,建立了三個關(guān)系,則方案一中存在的異,F(xiàn)象被消除了。(得5分)
但對諸如“查找張三的數(shù)據(jù)庫技術(shù)課程的成績”之類的問題時,這需要連接這三個關(guān)系才能完成,這個查詢代價高而且會影響效率。(得2.5分)
相比之下,第一個方案則可直接投影、選擇就可以完成這類查詢,不需要連接操作,顯然代價低而且效率高。(得2.5分)
比較這兩種設(shè)計方案:本人認(rèn)為第二種設(shè)計方案雖然對某些查詢問題連接操作較多,但它仍比第一種方案“好”,因為它不存在上述異常問題。(得4分)
【計算機(jī)等級考試三級數(shù)據(jù)庫歷年真題解析4】相關(guān)文章:
全國計算機(jī)等級考試三級信息、網(wǎng)絡(luò)、數(shù)據(jù)庫上機(jī)編程題15道02-23
歷年英語四級的翻譯真題及答案解析01-22
司法考試三國法歷年真題解析02-19
2007年4月全國計算機(jī)等級考試三級數(shù)據(jù)庫筆試試題02-11
2005年4月全國計算機(jī)等級考試三級數(shù)據(jù)庫筆試試題07-23
2006年4月全國計算機(jī)等級考試三級數(shù)據(jù)庫筆試試題及答案07-23
司法考試法制史歷年真題解析02-19
計算機(jī)三級數(shù)據(jù)庫知識考試題-選擇題07-23