日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

我要投稿 投訴建議

計算機等級考試三級數據庫論述題真題(2-3)

時間:2021-01-13 17:37:04 計算機等級 我要投稿

計算機等級考試三級數據庫論述題真題(2-3)

5.(2002年)為學校中學生選課管理這個現實問題進行數據庫模式設計。根據調查分析,確定它的屬性集合為:
U={S#,C#,SNAME,CNAME,TEACHER,GRADE,SD}
下面給出兩種確定的模式設計方案:
方案一:只有一個關系模式:
R(S#,C#,SNAME,CNAME,TEACHER,GRADE,SD)
方案二:如果根據屬性之間存在的聯系或相關性,建立如下三個關系:
S(S#,SNAME,SD),C(C#,CNAME,TEACHER),SC(S#,C#,GRADE)
  (1).試分析這兩種模式設計方案各自的優(yōu)缺點。(26分)
  (2).通常情況下你認為哪種方案更“好”些?請說明理由。(4分)

答案:
  對一個現實問題,進行關系數據庫模式設計,通常其設計結果不是唯一的。每個方案有各自的優(yōu)缺點。對本題可以得到如下的分析結果:
對方案一:這個關系模式存在如下問題:(每個問題4分,共16分。若只給出問題,沒有說明得2.5分)
  (1).數據存在大量冗余。例如:(至少給出1項)
  S#,SNAME,SD要重復“每個學生選修的課程數”
  C#,CNAME,TEACHER要重復“學生選修這門課的人數”
  (2).更新異常。由于數據存在大量冗余,容易引起更新異常。例如,當更新某門課程的教師時,由于數據存在大量冗余,可能造成與這門課程有關的元組中,一部分元組的TEACHER的值被更新,而另一部分元組的TEACHER的值未被更新。
  (3).插入異常。顯然,這個關系的主鍵是S#和C#。由于主鍵屬性值不能為空值,當登記學生信息時,由于該學生尚未選課,C#未確定,該學生的其他信息也無法登入,這不是我們的意愿。
  (4).刪除異常。如果某些課程因故刪除了,則只選修這些課程的學生信息也被刪除了,這往往也不是我們的本意,我們并不希望刪除這些學生的信息。
對方案二:如果根據屬性之間存在的聯系或相關性,建立了三個關系,則方案一中存在的異,F象被消除了。(得5分)
  但對諸如“查找張三的數據庫技術課程的成績”之類的問題時,這需要連接這三個關系才能完成,這個查詢代價高而且會影響效率。(得2.5分)
相比之下,第一個方案則可直接投影、選擇就可以完成這類查詢,不需要連接操作,顯然代價低而且效率高。(得2.5分)
  比較這兩種設計方案:本人認為第二種設計方案雖然對某些查詢問題連接操作較多,但它仍比第一種方案“好”,因為它不存在上述異常問題。(得4分)

6.(2003年)在"學生-選課-課程"數據庫中有三個關系:S(S#,SNAME,SEX,AGE,SD),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。它們的主碼分別是S#,(S#,C#),C#,并且其他屬性都允許為空值(NULL)。用下面的SQL語句創(chuàng)建了兩個視圖:
  createviewCS_SasselectS#,SNAME,AGEfromS
  whereSD=’計算機系’;
  createviewS_G(S#,GAVG)asselectS#,avg(GRADE)
  fromSCgroupbyS#;
  若用下面的.SQL語句對上述視圖進行修改,它們能被成功執(zhí)行嗎?為什么?
  (1)updateCS_SsetSNAME=’WANGPING’whereS#=’200301001’;
  (這里假定在表S中存在學生號S#=’200301001’的行。)
  (2)insertintoCS_Svalues(’200302189’,’YANGXIN’,21);
 。ㄟ@里假定在表S中不存在學生號S#=’200302189’的行。)
  (3)updateS_GsetGAVG=85whereS#=’200301001’;
 。ㄟ@里假定在表SC中存在學生號S#=’200301001’的行。)
要求:
  首先回答這三個SQL語句中哪個(些)能被成功執(zhí)行,哪個(些)不能被成功執(zhí)行(12分),再進一步說明能被成功執(zhí)行或不能被成功執(zhí)行的理由(18分)。
答案:
  (1).第(1)和(2)兩個SQL語句能被成功執(zhí)行;第(3)個SQL語句不能被成功執(zhí)行。
  (2).因為對視圖的修改最終要轉換為對基本表的修改。
  Ⅰ對于第(1)個SQL語句能被成功執(zhí)行的理由是:執(zhí)行這個SQL語句將轉換成執(zhí)行如下的SQL語句:
  updateSsetSNAME=’WANGPING’
  whereSD=’計算機系’andS#=’200301001’;
  Ⅱ對于第(2)個SQL語句能被成功執(zhí)行的理由是:執(zhí)行這個SQL語句將轉換成執(zhí)行如下的SQL語句:
  insertintoSvalues(’200302189’,’YANGXIN’,NULL,21,’計算機系’)
或insertintoS(S#,SNAME,AGE,SD)values(’200302189’,’YANGXIN’,21,’計算機系’)
  轉換后的這兩個SQL語句,在本題意的假定下是能夠被成功執(zhí)行的。所以第(1)和(2)個SQL語句能被成功執(zhí)行。
 、髮τ诘(3)個SQL語句不能被成功執(zhí)行的理由是:由于視圖S_G中的一個行是由表SC中若干行經過分組求平均值得到的,因此對視圖S_G的更新就無法轉換成對基本表SC的更新。所以第(3)個SQL語句不能被成功執(zhí)行。http://www.fuchuonang.cn/

【計算機等級考試三級數據庫論述題真題(2-3)】相關文章:

計算機等級考試三級數據庫論述題真題(2-4)10-09

計算機等級考試三級數據庫論述題真題(2-1)10-09

計算機等級考試三級數據庫論述題真題(2-2)10-09

全國計算機等級考試三級數據庫論述題匯總10-09

全國計算機等級考試三級數據庫技術考試歷年真題10-09

計算機等級考試三級數據庫技術樣題10-09

計算機等級三級數據庫題01-27

計算機等級考試四級經典論述題10-09

計算機等級考試三級數據庫歷年真題解析(2)10-09