摘要:希賽網(wǎng)軟考頻道小編為大家整理了2019年數(shù)據(jù)庫系統(tǒng)工程師下午真題第四部分,供大家參考。
4、閱讀下列說明,回答問題1至問題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某學(xué)生信息管理系統(tǒng)的部分?jǐn)?shù)據(jù)庫關(guān)系模式如下:
學(xué)生:Student ( stuno, stuname, stuage, stusex, schno),各屬性分別表示學(xué)生的學(xué)號(hào)、姓名、年齡、性 別,以及學(xué)生所屬學(xué)院的編號(hào);
學(xué)院:School ( schno, schname, schstunum ),各屬性分別表示學(xué)院的編號(hào)、名稱及學(xué)生人數(shù);
俱樂部:Club (clubno,clubname, clubyear, clubloc ),各屬性分別表示俱樂部的編號(hào)、名稱、成立年 份和活動(dòng)地點(diǎn);
參加:JoinClub ( stuno, clubno. joinyear ),各屬性分別表示學(xué)號(hào)、俱樂部編號(hào),以及學(xué)生加入俱樂部 的年份。
有關(guān)關(guān)系模式的說明如下:
(1) 學(xué)生的性別取值為‘F’和‘M' (F表示女性,M表示男性)。
(2) 刪除一個(gè)學(xué)院的記錄時(shí),通過外鍵約束級(jí)聯(lián)刪除該學(xué)院的所有學(xué)生記錄。
(3) 學(xué)院表中的學(xué)生人數(shù)值與學(xué)生表中的實(shí)際人數(shù)要完全保持一致。也就是說,當(dāng)學(xué)生表中增減記錄時(shí),就要自動(dòng)修改相應(yīng)學(xué)院的人數(shù)。
問題內(nèi)容:
根據(jù)以上描述,回答下列問題,將SQL語句的空缺部分補(bǔ)充完整。
【問題1】(4分)
請(qǐng)將下面創(chuàng)建學(xué)生表的SQL語句補(bǔ)充完整,要求定義實(shí)體完整性約束、參照完整性 約束,_以及其他完整性約束。
CREATE TABLE Student (
stuno CHAR(ll) ( ),
stuname VARCHAR( ),
stuage SMALLINT,
stusex CHAR(l) ( ),
schno CHAR(3) ( ) ON DELETE ( ));
【問題2】(5分)
創(chuàng)建倶樂部人數(shù)視圖,能統(tǒng)計(jì)每個(gè)倶樂部已加入學(xué)生的人數(shù),屬性有clubno> clubname 和clubstunum。對(duì)于暫時(shí)沒有學(xué)生參加的俱樂部,其人數(shù)為0。此視圖的創(chuàng)建語句如下, 請(qǐng)補(bǔ)全。
CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) AS
SELECT JoinClub.clubno, ( ) , ( )
FROM JoinClub, Club
WHERE JoinClub.clubno = Club.clubno
( ) BY JoinClub.clubno ( )
SELECT clubno, clubname, 0 FROM Club
WHERE clubno NOT 04
(SELECT DISTINCT clubno FROM ( ));
【問題3】(4分)
每當(dāng)系統(tǒng)中新加或刪除一個(gè)學(xué)生,就需要自動(dòng)修改相應(yīng)學(xué)院的人數(shù),以便保持系統(tǒng)中學(xué)生人數(shù)的完整性與一致性。此功能由下面的觸發(fā)器實(shí)現(xiàn),請(qǐng)補(bǔ)全。
CREATE TRIGGER STU_NUM_TRG
AFTER INSERT OR DELETE ON ( )
REFERENCING new row AS nrow, old row AS orow FOR EACH( )
BEGIN
IF INSERTING THEN
UPDATE School ( )
END IF;
IF DELETING THEN
UPDATE School ( );
END IF;
END;
【問題4】(2分)
查詢年齡小于19歲的學(xué)生的學(xué)號(hào)、姓名及所屬學(xué)院名,要求輸出結(jié)果把同一個(gè)學(xué)院的學(xué)生排在一起。此功能由下面的SQL語句實(shí)現(xiàn),請(qǐng)補(bǔ)全。
SELECT stuno, stuname, schname FROM Student, School WHERE Student.schno = School.schno
AND stuage <19 ( ) BY ( );
相關(guān)推薦:2019年數(shù)據(jù)庫系統(tǒng)工程師下午真題及答案
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題