■試題5
閱讀下列說(shuō)明和E~R圖,回答問(wèn)題1~3,把解答寫在答卷的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
現(xiàn)有下列關(guān)于教務(wù)管理系統(tǒng)的E~R圖。圖中矩形表示實(shí)體,圓表示屬性,雙圓表示關(guān)鍵字屬性,菱形表示實(shí)體問(wèn)的聯(lián)系。試用SQL語(yǔ)言定義教師(TEACHER)模式。回答時(shí)字段的數(shù)據(jù)類型以及題中未指明的名字由考生自己定義。為了答題的方便,圖中的實(shí)體和屬性同時(shí)給出了中英文兩種名字,回答問(wèn)題時(shí)只須寫出英文名即可。
【問(wèn)題1】
寫出與上述E—R圖對(duì)應(yīng)的關(guān)系模式,并用下劃線標(biāo)明相應(yīng)的關(guān)鍵字。
【問(wèn)題2】
問(wèn)題1中的關(guān)系模式屬于第幾范式?如果屬于第三范式,則說(shuō)明理由;如果不屬于第三范式,則將它化為第三范式(回答時(shí)只須寫出修改的部分)。
【問(wèn)題3】
試用SQL語(yǔ)言定義教師(TEACHER)模式;卮饡r(shí)字段的數(shù)據(jù)類型以及題中未指明的名字由考生自己定義。
【問(wèn)題1】解答:
下列模式中有下劃線的項(xiàng)為關(guān)鍵字。 四個(gè)實(shí)體建立模式如下。
DEFF(DNAME,DHEAD,PHONE)
TEACHER(TN0,TNAME,SEX,AGE,TITLE)
STUDENT(SN0,SNAME,SEX,CLASS,MONITOR)
COURSE(CN0,CNAME,HOUR,ROOM)
兩個(gè)一對(duì)多聯(lián)系建立模式如下:
D—T(DNAME,TNO)
D—S(DNAME,SN0)
兩個(gè)多對(duì)多模式建立關(guān)系如下:
TEACH(TN0。CN0。EVAL)
STUDY(SN0,CN0,GRADE)
【問(wèn)題2】解答:
問(wèn)題1中的模式不屬于第三范式,可將STUDENT分解為如下模式以化成第三范式: STUDENT(SN0,SNAME.SEX,CLASS)
SCLASS(CLASS,MONITOR)
【問(wèn)題3】解答:
用SQL語(yǔ)言定義教師(TEACHER)模式也就是用SQL語(yǔ)言在數(shù)據(jù)庫(kù)中建立教師表:
CREATE TABLE TEACHER(TNO(CHAR(8),NONULL),
TNAME(CHAR(20)),SEX(CHAR(1)),AGE(1NTEGER),TITLE(CHAR(20)))
●試題6
閱讀下列說(shuō)明和E—R圖,回答問(wèn)題,把解答寫在答卷的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
下列E—R圖是某學(xué)校關(guān)于學(xué)生成績(jī)管理系統(tǒng)的。圖中矩形表示實(shí)體,圓表示屬性,雙圓表示關(guān)鍵字屬性,菱形表示實(shí)體問(wèn)的聯(lián)系。假定已通過(guò)下列SQL語(yǔ)言建立了基本表:?
CREATE TABLE sTUDENT?
(SNO CHAR(6)NOT NULL,
SNAME CHAR(20).
DEPT CHAR(20),
AGE SMALLINr):
CREATE TABLE COURSE
(CNO CHAR(6)NOT NULL,
CNAME CHAR(20).
HOUR SMALLINT):
CREATE TABLE S—C
(SNO CHAR(6)
CNO CHAR(6).
GRADE SMALIINT):
為了答題的方便,圖中的實(shí)體和屬性同時(shí)給出了中英兩種名字,回答問(wèn)題時(shí)只須寫出英文名即可。
【問(wèn)題】
填充下列SQL程序2.1—2.4中的①一⑥,使它們分別完成以下查詢功能:
程序2.1:索選讀所有課程的學(xué)生姓名。
程序2.2:給出全體學(xué)生人數(shù)。
程序2.3:按學(xué)號(hào)給出每個(gè)學(xué)生的平均成績(jī)。
程序2.4:按學(xué)號(hào)給出每個(gè)學(xué)生選讀課程的門數(shù)。
【程序2.1】
SELECT STUDENT.SNAME
FROM STUDENT
WHERE[(1)]
(SELECT*
FROM COURSE
WHERE[(2)]
(SELECT*
FROM S—C
WHERE[(3)]))
【程序2.2】
SELECT[(4)]
FROM STUDENT
【程序2.3】
SELECT[(5)]
FROM S-C
GROUP BY SNO
【程序2.4】
SELECT[(6)]
FROM S—C
GROUPBY SNO
試題6答案:
(1)NOT EXIS
解析:選出不屬于下面視圖的學(xué)生表記錄,即得到選讀所有課程的學(xué)生姓名。
答案:(2)NOT EXISTS
解析:此處得到?jīng)]有選全部課程的學(xué)生記錄。
答案:(3)STUDENT.SNO=S—C.SNO AND COURSE.CNO=S—C.CNO
解析:將三個(gè)表進(jìn)行連接的條件。
答案:(4)COUNT(*)
解析:使用COUNT關(guān)鍵字得出全體學(xué)生總數(shù)。
答案:(5)SN0,AVG(GRADE)
解析:使用關(guān)鍵字AVG和GROUPBY組合得到每個(gè)學(xué)號(hào)即學(xué)生的平均成績(jī)。
答案:(6)SN0,COUNT(CNO)
解析:使用關(guān)鍵字COUNT和GROUPBY組合得到每個(gè)學(xué)號(hào)即學(xué)生的選課總數(shù)。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |