第 1 頁:單選題 |
第 4 頁:應(yīng)用題 |
第 6 頁:設(shè)計與應(yīng)用題 |
三、設(shè)計與應(yīng)用題
46在SQL Server 2008中,設(shè)有教師表(教師號,姓名,所在部門號,職稱)和部門表(部門號,部門名,高級職稱人數(shù))。請編寫滿足下列要求的后觸發(fā)型觸發(fā)器(設(shè)觸發(fā)器名字為tri_zc)。
每當(dāng)在教師表中插入一名具有高級職稱(“教授”或“副教授”)的教師時,或者將非高級職稱教師的職稱更改為高級職稱時,均修改部門表中相應(yīng)部門的高級職稱人數(shù)。(假設(shè)一次操作只插入或更改一名教師的職稱)
參考解析:
【解題思路】
創(chuàng)建觸發(fā)器的SQL語句為:CREATE TRIGGER,其語法格式為:
CREATE TRIGGER[schema_name.]trigger_name
ON{tableIview}
{FOR l AlZl'ER I INSTEAD OF}
{[INSERT][,][DELETE][,][UPDATE]}
AS{sql_statement}
[;]
其中AFFER指定觸發(fā)器為后觸發(fā)型觸發(fā)器,INSERT,UPDATE和DELETE為指定引發(fā)觸發(fā)器執(zhí)行的操作。根據(jù)原題要求,insert觸發(fā)器會在inserted表中添加一條剛插入的記錄,update觸發(fā)器會在更新數(shù)據(jù)后將更新前的數(shù)據(jù)保存在deleted表中,更新后的數(shù)據(jù)保存在inserted表中。在教師表中插入或者更新的時候,都會在inserted表中增加一條記錄,所以只需在觸發(fā)器查詢inserted表中查詢有沒有“教授”或者“副教授”的記錄,如果有,則觸發(fā)修改相應(yīng)部門的高級職稱人數(shù)即可。
【參考答案】
CREATE TRIGGER tri_ZC
ON教師表
AL TER INSERT,UPDATE
AS
BEGIN
DECLATE@ZC varchar(10),@dept varchar(30)
SELECT@dept=所在部門號,@2c=職稱FROM inserted
IF@ZC=’教授’or’副教授7
Update部門表
SET高級職稱人數(shù)=高級職稱人數(shù)+1
Where部門號=@dept
End
47設(shè)某連鎖商店數(shù)據(jù)庫中有關(guān)系模式R:
R(商店編號,商品編號,庫存數(shù)量,部門編號,負(fù)責(zé)人)
如果規(guī)定:每個商店的每種商品只在一個部門銷售,每個商店的每個部門只有一個負(fù)責(zé)人,每個商店的每種商品只有一個庫存數(shù)量。(10分)
(1)請根據(jù)上述規(guī)定,寫出關(guān)系模式R的函數(shù)依賴集;
(2)請給出關(guān)系模式R的候選碼;
(3)請說明關(guān)系模式R屬于第幾范式,并給出理由;
(4)請將R分解成滿足3NF的關(guān)系模式。
參考解析:
(1)【解題思路】
函數(shù)依賴定義:設(shè)R(u)是屬性集U上的關(guān)系模式,X,Y是U的子集,若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組在X上的屬性值相等,在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴X,記作X->Y。函數(shù)依賴是指關(guān)系R的一切關(guān)系均要滿足的約束條件。
【參考答案】
(商店編號,商品編號)->部門編號,(商店編號,部門編號)->負(fù)責(zé)人,(商店編號,商品編號)->庫存量。
(2)【解題思路】
設(shè)K為R中的屬性或?qū)傩越M合,若u完全依賴于K,則K為R的候選碼。
【參考答案】
(商店編號,商品編號)
(3)【解題思路】
關(guān)系數(shù)據(jù)庫是要滿足一定要求的。滿足最低要求的叫第一范式,在第一范式中滿足進(jìn)一步要求的為第二范式,其余以此類推。顯然該關(guān)系模式滿足第一范式,接下來檢查其是否滿足第二范式。在第二范式中,要求關(guān)系模式中不存在部分依賴,每一個非主屬性完全依賴于碼,而根據(jù)第一空可得如下依賴關(guān)系:(部門編號,商店編號)->負(fù)責(zé)人,所以屬于第二范式。它的非主屬性(不包含在任何候選碼中的屬性)有3個:部門編號、負(fù)責(zé)人和庫存量,并皆完全函數(shù)依賴于主碼。將(商店編號、商品編號)記作X,(商店編號、部門編號)記作Y,負(fù)責(zé)人記作Z,即x→Y,Y→Z。由此可以看出,存在傳遞依賴,故不屬于第三范式。
【參考答案】
第二范式
(4)【解題思路】
第三范式中要求每一個屬性既不部分依賴于碼也不傳遞依賴于碼。
【參考答案】
R1(商店編號、商品編號、部門編號、庫存量);B2(商店編號、部門編號、負(fù)責(zé)人)。
相關(guān)推薦:
2015計算機(jī)三級《數(shù)據(jù)庫》上機(jī)試題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |