三、設(shè)計(jì)與應(yīng)用題
(1)設(shè)有某簡(jiǎn)化的網(wǎng)上購(gòu)物系統(tǒng),其ER圖如下:

該系統(tǒng)數(shù)據(jù)之間存在下列約束:
Ⅰ. 一個(gè)客戶(編號(hào))可以擁有多個(gè)訂單,每個(gè)訂單僅屬于一個(gè)客戶;
Ⅱ. 一個(gè)訂單(編號(hào))可以包含多個(gè)訂購(gòu)細(xì)目,每個(gè)訂購(gòu)細(xì)目只屬于一個(gè)訂單;
Ⅲ. 一種商品可以出現(xiàn)在多個(gè)訂購(gòu)細(xì)目中,一個(gè)訂購(gòu)細(xì)目只包含一種商品;
Ⅳ. 一個(gè)商品類別可以包含多種商品,一種商品只屬于一個(gè)商品類別。
① 請(qǐng)根據(jù)以上約束,標(biāo)出ER圖中各實(shí)體集之間聯(lián)系的基數(shù)。(2分)
② 請(qǐng)將ER圖轉(zhuǎn)換成符合3NF的關(guān)系模式,并給出各關(guān)系模式的主碼和外碼。(4分)
③ 請(qǐng)修改所設(shè)計(jì)的關(guān)系模式使之支持下列功能(僅列出發(fā)生修改的關(guān)系模式)。(4分)
Ⅰ. 使客戶能方便了解每個(gè)訂購(gòu)細(xì)目的處理狀態(tài)和到貨時(shí)間;
Ⅱ. 使客戶能方便查詢商品供應(yīng)商的編號(hào)、名稱、所在城市、聯(lián)系電話和信譽(yù)。(限定一個(gè)供應(yīng)商可以供應(yīng)多種商品,一種商品只選自一個(gè)供應(yīng)商)
(2)某學(xué)校的學(xué)籍管理系統(tǒng)實(shí)現(xiàn)了對(duì)學(xué)生學(xué)籍信息的管理,其中學(xué)生表結(jié)構(gòu)為:學(xué)生表(學(xué)號(hào), 姓名, 性別, 系號(hào), 是否有學(xué)籍),此表中除學(xué)號(hào)列有索引外,其它列均無(wú)索引。
①設(shè)學(xué)籍管理系統(tǒng)中經(jīng)常執(zhí)行如下形式的操作:
SELECT*FROM學(xué)生表
WHERE姓名='張三' AND 系號(hào)='10' AND 是否有學(xué)籍='有'
系統(tǒng)運(yùn)行中發(fā)現(xiàn)這類操作的效率比較低,系統(tǒng)工程師建議:由于查詢條件中使用了“系號(hào)”、“姓名”和“是否有學(xué)籍”三列,建議在這三個(gè)列上分別建立索引,以提高查詢效率。
請(qǐng)問(wèn)其建議建立的三個(gè)索引是否都能提高查詢效率?請(qǐng)簡(jiǎn)要說(shuō)明原因。
②設(shè)學(xué)生表中有下列數(shù)據(jù):

并且已經(jīng)在學(xué)生表的姓名列上建立了一個(gè)非聚集索引(按姓名拼音升序排序)。請(qǐng)給出查找碼“姓名”對(duì)應(yīng)的稠密索引示意圖。(4分)
(3)在SQL Server 2000中,設(shè)有教師表(教師號(hào), 姓一名, 所在部門(mén)號(hào), 職稱)和部門(mén)表(部門(mén)號(hào), 部門(mén)名, 高級(jí)職稱人數(shù))。請(qǐng)編寫(xiě)滿足下列要求的后觸發(fā)型觸發(fā)器(設(shè)觸發(fā)器名字為tri_zc)。(10分)
每當(dāng)在教師表中插入一名具有高級(jí)職稱(“教授”或“副教授”)的教師時(shí),或者將非高級(jí)職稱教師的職稱更改為高級(jí)職稱時(shí),均修改部門(mén)表中相應(yīng)部門(mén)的高級(jí)職稱人數(shù)。(假設(shè)一次操作只插入或更改一名教師的職稱