三、設(shè)計(jì)與應(yīng)用題
(1)設(shè)有某簡化的網(wǎng)上購物系統(tǒng),其ER圖如下:
該系統(tǒng)數(shù)據(jù)之間存在下列約束:
、. 一個(gè)客戶(編號唯一)可以擁有多個(gè)訂單,每個(gè)訂單僅屬于一個(gè)客戶;
Ⅱ. 一個(gè)訂單(編號唯一)可以包含多個(gè)訂購細(xì)目,每個(gè)訂購細(xì)目只屬于一個(gè)訂單;
Ⅲ. 一種商品可以出現(xiàn)在多個(gè)訂購細(xì)目中,一個(gè)訂購細(xì)目只包含一種商品;
Ⅳ. 一個(gè)商品類別可以包含多種商品,一種商品只屬于一個(gè)商品類別。
、 請根據(jù)以上約束,標(biāo)出ER圖中各實(shí)體集之間聯(lián)系的基數(shù)。(2分)
、 請將ER圖轉(zhuǎn)換成符合3NF的關(guān)系模式,并給出各關(guān)系模式的主碼和外碼。(4分)
、 請修改所設(shè)計(jì)的關(guān)系模式使之支持下列功能(僅列出發(fā)生修改的關(guān)系模式)。(4分)
、. 使客戶能方便了解每個(gè)訂購細(xì)目的處理狀態(tài)和到貨時(shí)間;
、. 使客戶能方便查詢商品供應(yīng)商的編號、名稱、所在城市、聯(lián)系電話和信譽(yù)。(限定一個(gè)供應(yīng)商可以供應(yīng)多種商品,一種商品只選自一個(gè)供應(yīng)商)
(2)某學(xué)校的學(xué)籍管理系統(tǒng)實(shí)現(xiàn)了對學(xué)生學(xué)籍信息的管理,其中學(xué)生表結(jié)構(gòu)為:學(xué)生表(學(xué)號, 姓名, 性別, 系號, 是否有學(xué)籍),此表中除學(xué)號列有唯一索引外,其它列均無索引。
①設(shè)學(xué)籍管理系統(tǒng)中經(jīng)常執(zhí)行如下形式的操作:
SELECT*FROM學(xué)生表
WHERE姓名='張三' AND 系號='10' AND 是否有學(xué)籍='有'
系統(tǒng)運(yùn)行中發(fā)現(xiàn)這類操作的效率比較低,系統(tǒng)工程師建議:由于查詢條件中使用了“系號”、“姓名”和“是否有學(xué)籍”三列,建議在這三個(gè)列上分別建立索引,以提高查詢效率。
請問其建議建立的三個(gè)索引是否都能提高查詢效率?請簡要說明原因。
、谠O(shè)學(xué)生表中有下列數(shù)據(jù):
并且已經(jīng)在學(xué)生表的姓名列上建立了一個(gè)非聚集索引(按姓名拼音升序排序)。請給出查找碼“姓名”對應(yīng)的稠密索引示意圖。(4分)
(3)在SQL Server 2000中,設(shè)有教師表(教師號, 姓一名, 所在部門號, 職稱)和部門表(部門號, 部門名, 高級職稱人數(shù))。請編寫滿足下列要求的后觸發(fā)型觸發(fā)器(設(shè)觸發(fā)器名字為tri_zc)。(10分)
每當(dāng)在教師表中插入一名具有高級職稱(“教授”或“副教授”)的教師時(shí),或者將非高級職稱教師的職稱更改為高級職稱時(shí),均修改部門表中相應(yīng)部門的高級職稱人數(shù)。(假設(shè)一次操作只插入或更改一名教師的職稱)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |