南京理工大學《數(shù)據(jù)庫系統(tǒng)基礎教程》試題和答案.doc
《南京理工大學《數(shù)據(jù)庫系統(tǒng)基礎教程》試題和答案.doc》由會員分享,可在線閱讀,更多相關《南京理工大學《數(shù)據(jù)庫系統(tǒng)基礎教程》試題和答案.doc(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 一、選擇題60(選擇一個最合適的答案,在答題紙上涂黑) 1.一個事務中的一組更新操作是一個整體,要么全部執(zhí)行,要么全部不執(zhí)行。這是事務的: A.原子性 B.一致性 C.隔離性 D.持久性 2.在數(shù)據(jù)庫的三級模式結構中,描述一個數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結構和特性的是: A.外模式 B.內模式 C.存儲模式 D.模式 3.關于聯(lián)系的多重性,下面哪種說法不正確? A.一個多對多的聯(lián)系中允許多對一的情形。 B.一個多對多的聯(lián)系中允許一對一的情形。 C.一個多對一的聯(lián)系中允許一對一的情形。 D.一個多對一的聯(lián)系中允許多對多的情形。 4.考慮學校里的"
2、學生"和"課程"之間的聯(lián)系,該聯(lián)系的多重性應該是: A. 一對一 B. 多對一 C. 一對多 D. 多對多 5.下面哪種約束要求一組屬性在同一實體集任意兩個不同實體上的取值不同。 A. 鍵(key)約束。 B. 單值約束。 C. 參照完整性。 D. 域(domain)約束 6.關系模型要求各元組的每個分量的值必須是原子性的。對原子性,下面哪種解釋不正確: A.每個屬性都沒有內部結構。 B.每個屬性都不可再分解。 C.各屬性值應屬于某種基本數(shù)據(jù)類型。 D.屬性值不允許為NULL。 7.對于一個關系的屬性(列)集合和元組(行)集合,下面哪種說法不正確: A.改變
3、屬性的排列次序不影響該關系。B.改變元組的排列次序不影響該關系。 C.改變元組的排列次序會改變該關系。D.關系的模式包括其名稱及其屬性集合。 8.若R是實體集R1與R2間的一個多對多聯(lián)系,將其轉換為關系R,哪種說法不正確: A.R屬性應包括R1與R2的所有屬性。 B.R屬性應包括R1與R2的鍵屬性。 C.R1與R2的鍵屬性共同構成R的鍵。 D.R的屬性應包括R自身定義的屬性。 9.關于函數(shù)依賴的判斷,下面哪種說法不正確? A.若任意兩元組在屬性A上一致,在B上也一致,則有A → B成立。 B.若任意兩元組在屬性A上一致,在B上不一致,則A → B不成立。 C.若任意兩元組在屬性
4、A上不可能一致,則不管在B上是否一致,有A → B成立。 D.若任意兩元組在屬性A上不可能一致,則A → B不成立。 10.若某關系R的屬性集A函數(shù)決定R中所有其它屬性,則A為關系R的一個: A.鍵。 B.主鍵。C.超鍵。D.外鍵。 11.當且僅當函數(shù)依賴A→BC,則有A→B和A→C。此規(guī)則是 A.分解/合并規(guī)則。 B.平凡依賴規(guī)則。 C.傳遞規(guī)則。 D.增長規(guī)則。 12.對于某關系R的某個屬性集A,下面哪種說法不正確: A.若屬性集A是R的鍵,則閉包A+是R中所有屬性集合。 B.若閉包A+是R中所有屬性集合,則屬性集A是R的鍵。 C.若閉包A+是R中所有屬性集合,則
5、屬性集A是R的超鍵。 D.當且僅當屬性集A是R的超鍵,閉包A+是R中所有屬性集合。 13.某關系R(A, B, C, D)有函數(shù)依賴A→B, BC→D, D→A,R總共有幾個超鍵? A.3 B.4 C.6 D.7 14.某關系R(A, B, C, D)有函數(shù)依賴A→B, BC→D, D→A,下面哪個函數(shù)依賴不蘊含于已知依賴? A. D→B B. AC→BD C. BC→AD D. BD→AC 15.某關系R(A, B, C, D)有函數(shù)依賴A→B, BC→D, D→A,該關系若違背BCNF,則應分解成幾個關系才能滿足BCNF: A.符合BCNF,無
6、需分解 B.2個關系 C.3個關系 D.4個關系 16.關系product(prodid,prodname,type,factory)表示所銷售的每一種商品的貨號、品名、種類及生產廠家,一種商品有唯一貨號。該關系所滿足下列最高范式是: A 2NF。 B 3NF。 C BCNF。 D 4NF。 17.關系prodsales(salesman,prodid,prodname,quantity,amount)表示銷售員銷售商品情況:銷售員、貨號、品名、銷售數(shù)量及銷售金額。一名銷售員可銷售多種商品,一種商品可由多名銷售員銷售。該關系違背下列最低范式是: A
7、.1NF。 B.2NF。 C.3NF。 D.BCNF。 18.關系代數(shù)運算中,下面哪種計算可等價表示為其它幾種計算的復合形式: A.投影∏ B.選擇σ C.笛卡爾積 D.自然連接∞ 19.設有關系R(A,B,C)和S(C,D,E),其元組如下所示: S C D E 3 6 1 8 7 4 2 4 4 6 3 6 R A B C 1 4 7 2 5 8 3 6 9 πB,E(R∞A=D S)的值是: D. B E 2 5 8 4 3 6 C. B E
8、5
5
8
6
6
4
B.
B
E
5
8
6
4
A.
B
E
2
5
8
4
6
3
20.在學生選課表studentcourse(stdno,courseno,grade)中,查詢選修3號課程、且成績在70和80分之間的學生的學號(stdno)及其成績(grade)。實現(xiàn)該功能的SQL語句是:
A.SELECT stdno,grade FROM studentcourse
WHERE courseno=3 AND BETWEEN 70 9、ROM studentcourse
WHERE courseno=3 AND grade BETWEEN 70 AND 80;
C.SELECT stdno,grade FROM studentcourse
WHERE courseno=3 AND grade BETWEEN 70,80;
D.SELECT stdno,grade FROM studentcourse
WHERE courseno=3 AND grade IN(70,80);
21.已知關系R和S:
S
A
B
1
2
3
2
1
2
R
A
B
1
2
3
2
4
6 10、
Select * From R
Where a<>ALL(Select b From S)
結果是;
D.語法錯
C.
A
B
B.
A
B
3
6
A.
A
B
1
2
22.學生成績表R如下
R.
No
Score
1
2
3
4
5
6
7
8
77
84
92
82
63
72
NULL
47
Select (score/10)*10 as ScoreLevel, count(no) as num
11、
From R
Group by (score/10)*10
Order by ScoreLevel desc;
結果是:
D.語法錯
C.
ScoreLevel
num
40
60
70
80
90
1
1
2
2
1
B.
ScoreLevel
num
90
80
70
60
40
1
2
2
1
1
A.
ScoreLevel
num
90
80
70
60
40
NULL
1
2
2
1
1
1
23.關于視圖view,下面哪種說法不正確?
12、A.基于一條Select語句可定義一個視圖。
B.Create View viewName AS...命令可定義視圖。
C.查詢視圖與查詢表在語法上是一樣的。
D.Select語句中的From子句中視圖和表不能同時出現(xiàn)。
24.關系R如下
R.
No
a
1
2
3
2
NULL
7
Select * From R Where a>no*2 OR (a>no*2)is Unknown
結果為
D.語法錯
C.
No
a
3
7
B.
No
a
2
3
NULL
7
A.
No
a
2
NULL 13、
25.已知關系如下
salesorder
orderno
empid
amount
8001
8002
1
3
4300
6700
salesman.
Empid
empname
1
2
3
Zhang
Li
Wang
Select empname,amount
From salesman Natural Left Outer Join salesorder;
結果為:
D.語法錯
C.
Empname
amount
Zhang
Li
Wang
4300
NULL
670 14、0
B.
Empname
amount
Zhang
Li
Wang
4300
0
6700
A.
Empname
amount
Zhang
Wang
4300
6700
26.關于表的主鍵約束,下面哪種說法不正確:
A.select命令不可能違背主鍵約束。
B.insert命令可能違背主鍵約束。
C.delete命令不可能違背主鍵約束。
D.update命令不可能違背主鍵約束。
27.關于數(shù)據(jù)庫表中的外鍵,下面哪種說法不正確:
A.表R1到R2有外鍵,R2到R1同時也能定義外鍵。
B.同一個表中屬性A1到主鍵屬 15、性之間也能定義外鍵。
C.外鍵所關聯(lián)的雙方屬性應屬同種數(shù)據(jù)類型。
D.一個外鍵只能在單個屬性上定義。
28.在并發(fā)性事務環(huán)境中,事務1先讀取某行數(shù)據(jù),隨后事務2修改了此行數(shù)據(jù)并提交,造成事務1再讀此行時先后結果不一致。這種現(xiàn)象被稱為:
A.(Dirty Reads)臟讀 B.(Non-repeatable Reads)不可重復讀
C.(Phantom Rows)幻像行 D.事務沖突。
29.關于事務控制,下面哪種說法不正確?
A.Commit提交當前事務,并結束當前事務。
B.Rollback退回當前事務,取消本事務已做的數(shù)據(jù)更新,并結束當前事務。
C.Co 16、mmit提交當前事務,并釋放本事務施加的鎖。
D.Rollback退回當前事務,繼續(xù)持有本事務施加的鎖。
30.下面哪一種指令能為用戶授權,使其能以一定的權限訪問特定的數(shù)據(jù)庫對象。
A.Grant B.Revoke C.Commit D.Privilege
二、綜合題40
一個簡化的圖書館信息管理系統(tǒng)。系統(tǒng)需求如下:
1.圖書館有若干管理員librarian,各自有員工號empid、姓名name、身份證號idno等屬性。
2.圖書館中備有若干種圖書booktype,每種圖書有ISBN、名稱title、出版社publisher、作者writers、價格price等 17、屬性,每種圖書有唯一的ISBN號,同種圖書可購入多本。
3.每一本圖書book有唯一標記bookid和種類booktype。
4.讀者reader在辦理借書證后方可借閱。一個讀者有唯一的借書證號cardno,還有姓名name、身份證號idno、住址address、注銷標記logoff等。讀者在注銷之前,須歸還所有已借圖書或報失。
5.需處理以下基本業(yè)務:
①借書:在某時刻某讀者通過某管理員借閱某一本書。
②還書:在某時刻通過某管理員歸還某一本書。
③報失:在某時刻某讀者向某管理員報失某一本書;報失之后該書不能再借。
每一次還書和報失記錄都須對應某一次借書記錄,且可由不同管理員 18、處理。
按次序回答下列問題:
1. 用E/R圖建立該系統(tǒng)的數(shù)據(jù)庫模型。為每個實體集確定鍵屬性,并確定每個聯(lián)系的多重性。(8)
2. 由E/R模型建立該系統(tǒng)的關系模式,并確定每個關系的主鍵和可能的外鍵。注意各關系中的函數(shù)依賴和多值依賴,并使你的關系能符合更高范式。(8)
3. 基于以上關系模式,用關系代數(shù)表示下面計算:(6)
1) 計算“清華大學出版社”出版的圖書名稱及作者。
2) 計算借書證號為“A00345”的讀者未歸還的圖書名稱。
3) 計算未處理過借書手續(xù)的管理員的員工號及其姓名。
4.使用SQL語言實現(xiàn)上述計算,并使輸出結果不重復。(6)
5.使用SQL語言完成下 19、面的計算:(12)
1) 增加借書記錄: 借書證號為A00345,通過管理員E0035于當前日期借到圖書B00124。(提示:today(*)函數(shù)返回當前日期)
2)還書記錄:通過管理員E0034于當前日期歸還圖書B00124。(提示:還書無需確認借書證)
3)計算借書證號為“A00345”的讀者已借超過30天而未還的圖書數(shù)量。(提示:days(d1,d2)函數(shù)返回從日期d1到d2的天數(shù))
4)計算借書次數(shù)最多的讀者的姓名和身份證號。(注意使用視圖)
5)計算所有圖書的ISBN、書名、借閱次數(shù),并按借閱次數(shù)從大到小排列。(注意使用外連接)
參考答案
1.ER圖(一些非鍵屬性 20、未列出)
Librarian
Reader
Book
Booktype
Record
empid
isbn
bookid
cardno
recid
borrow
end helper
borrowdate
end
enddate
NULL
1=return
2=lose
NULL
autoincrement
NOT NULL
2.關系模型
Librarian(empid, name, idno)
Reader(cardno, name, idno, address)
Booktyp 21、e(isbn, title, publisher, writers, price)
Book(bookid, isbn)
Record(recid, brwempid, cardno, bookid, borrowdate, end, enddate, endempid)
3.關系代數(shù)運算
1) 計算“清華大學出版社”出版的圖書名稱及作者
πtitle,writers(σpublisher=’清華大學出版社’Booktype)
2) 計算借書證號為“A00345”的讀者未歸還的圖書名稱
πtitle(σcardno=’A00345’AND end=NULL(Rec 22、ord∞Book∞Booktype))
3) 計算未處理過借書手續(xù)的管理員的員工號及其姓名。
πempid,name(Librarian) -πempid,name(Librarian∞brwempid=empidRecord)
4.SQL運算
1) 計算“清華大學出版社”出版的圖書名稱及作者
Select title,writers From Booktype Where publisher=’清華大學出版社’;
2) 計算借書證號為“A00345”的讀者未歸還的圖書名稱
Select title
From Record Natural Join Book Natu 23、ral Join Booktype
Where cardno=’A00345’ AND "end" IS NULL;
3) 計算未處理過借書手續(xù)的管理員的員工號及其姓名。
Select empid,name
From Librarian
Where empid NOT IN(Select brwempid From Record);
5.SQL
1) 增加借書記錄: 借書證號為A00345,通過管理員E0035于當前日期借到圖書B00124。(提示:today(*)函數(shù)返回當前日期)
insert into record(brwempid, cardno,booki 24、d,borrowdate)
values(E0035,A00345,B00124,today(*));
2) 還書記錄:通過管理員E0034于當前日期歸還圖書B00124。(提示:還書無需確認借書證)
update record set "end" = 1, enddate= today(*),endempid=E0034
where recid =
(select recid from record where bookid=B00124 and "end" IS NULL);
3) 計算借書證號為“A00345”的讀者已借超過30天而未還的圖書數(shù)量。(提示:days(d1, 25、d2)函數(shù)返回從日期d1到d2的天數(shù))
Select Count(recid)
From Record
Where cardno=A00345 AND "end" IS NULL
AND days(borrowdate,today(*))>30;
4) 計算借書次數(shù)最多的讀者的姓名和身份證號。(注意使用視圖)
Create view brwtimes as
select cardno,count(recid) as times
from record
group by cardno
select name,idno
from reader natural join b 26、rwtimes
where times=(select max(times) from brwtimes);
5) 計算所有圖書的ISBN、書名、借閱次數(shù),并按借閱次數(shù)從大到小排列。(注意使用外連接)
Select book.isbn,title,count(recid) as times
From book Left Outer Join record Natural Join booktype
Group by book.isbn,title
Order by times DESC;
Department
Salesman
Customer
Salesorder
Pr 27、oduct
Salesitem
sales for
runs for
as header
works for
unit-of
contains
deptid
name
empid
idno
name
gender
phone
name
prov
city
phone
unit
orderno
signdate
custid
lineno
salescost
quantity
type
spec
price
desc
prodid
factory
28、
第3章介紹關系數(shù)據(jù)模型,關系模型是什么,如何設計規(guī)范的關系模型。
目的:由一個數(shù)據(jù)庫的E/R模型,產生符合一定規(guī)范的關系模型。
Customer (custid, name, prov, city,phone, unit)
Product (prodid, factory, type, spec, price, desc)
Salesman (empid, idno, name, gender, phone, deptid)
Department (deptid, name, headerid)
Salesorder (ordern 29、o, signdate, empid, custid)
Salesitem (orderno, lineno, prodid, singlecost, quantity)
報考及復試資格審查:時間:4月10日(本校應屆畢業(yè)生考生),4月11日(其他考生),地點:報考學院(系);
體檢時間:時間:4月11日8:30-16:00。體檢當日飲食必須清淡,地點:我校醫(yī)院;
筆試:時間:12日8:30-11:30(需攜帶2B鉛筆及橡皮),地點:第四教學樓;
面試:時間:12日下午及13日,由各學院安排。
復試由筆試、面試組成,包括外語聽力及口語測試,復試總成績?yōu)?00分,其中筆試150分 30、、面試及實踐(實驗)能力測試100分,外語聽力30分及口語20分。
數(shù)據(jù)庫系統(tǒng)的世界(概述)
什么是數(shù)據(jù)庫
數(shù)據(jù)庫管理系統(tǒng)
2.數(shù)據(jù)庫建模
數(shù)據(jù)模型
信息模型(概念模型):E/R模型,ODL模型等
基本數(shù)據(jù)模型:層次模型,網(wǎng)狀模型,關系模型等
實體/聯(lián)系圖
屬性attribute:
聯(lián)系relationship:
對約束建模
有哪些重要的約束種類?
38
鍵key
單值single-value
參照完整性reference inte
關系數(shù)據(jù)模型
關系的等價表示法
改變列次序,不改變關系的含義。
改變行次序,不改變關系的含義。
從 31、E/R圖到關系設計
實體集到關系的轉換
E/R聯(lián)系到關系的轉換
處理弱實體集
函數(shù)依賴
函數(shù)依賴是如何定義的?
若關系R的任意兩個元組在屬性A1、A2、…、An上一致(即有相同分量值),則這兩個元組在屬性B上也一致,則稱屬性A1A2…An函數(shù)決定B,或稱B函數(shù)依賴于A1A2…An。
判斷函數(shù)依賴的三種情形
如果任意兩元組在屬性A上一致,在B上也一致,則有A → B成立。
如果任意兩元組在屬性A上一致,在B上不一致,則A → B不成立。
如果任意兩元組在屬性A上不可能一致,則不管在B上是否一致,有A → B成立。
關系的鍵
如何用函數(shù)依賴定義鍵key?
定義:對 32、于關系R,若屬性集合{A1,A2,…,An}滿足下列條件,則該屬性集合是R的一個鍵key:
1.A1,A2,…,An函數(shù)決定R中所有其他屬性。(超鍵)
2.{A1,A2,…,An}的任何真子集都不能函數(shù)決定R中所有其他屬性。(最小化)
超鍵
什么是超鍵super key?
鍵的超集superset of key。即包含鍵的屬性集合。
可函數(shù)決定關系中所有屬性的屬性集合。
每個鍵都是超鍵。
一個關系的屬性全集超鍵。
每個超鍵都是鍵嗎?不是。
函數(shù)依賴規(guī)則
有哪些重要的函數(shù)依賴規(guī)則?
分解/合并(Splitting/combining)規(guī)則
平凡依賴(Trivia 33、l Dependance)規(guī)則
傳遞(Transitivy)規(guī)則
計算屬性的閉包
如何計算屬性的閉包?
給定函數(shù)依賴集S和屬性集A={A1,A2,…An},如何計算A+?
1 將X初始化為{A1,A2,…,An},閉包最小集合。
2 遍歷S中的每個函數(shù)依賴,對于每個依賴式:B1B2…Bm → C
如果B1、B2、…、Bm都在X中,而C不在X中,則把C加入X中。
3 重復第2步,直到遍歷完S中所有函數(shù)依賴,而沒有新屬性能加入到X中。
4 最終屬性集X即為屬性集A在函數(shù)依賴集S下的閉包A+。
例3.28:P90 設有關系R(A, B, C, D, 34、E, F)與函數(shù)依賴集
S:{AB → C,BC → AD,D → E,CF → B}
求:{A,B}+
解:X(1)={A,B}, 由AB → C,得:
X(2)={A,B,C}, 由BC → AD,得:
X(3)={A,B,C,D}, 由D → E,得:
X(4)={A,B,C,D,E}={A,B}+
屬性閉包計算有何用途?
假設關系R上已有一個依賴集S,另有一個函數(shù)依賴A1A2…An → B,該依賴是否蘊含于S?
判斷方法:
計算{A1,A2,…,An}+。
若B在{A1,A2,…An}+中,則函數(shù)依賴A1A2…An → B蘊含于S中。
若B不在{ 35、A1,A2,…An}+中,則函數(shù)依賴A1A2…An → B不蘊含于S中。
屬性的閉包和鍵之間有何關系?
對于一個關系R,當且僅當A1,A2,…,An是R的超鍵時,{A1,A2,…,An}+是R的所有屬性的集合。
3.6.1 已知關系模式R(A, B, C, D)有函數(shù)依賴AB → C, C → D, D → A
(a)求蘊含于給定函數(shù)依賴的所有完全非平凡函數(shù)依賴。
(b)求R的所有鍵。
(c)求R的所有超鍵(不包括鍵)。
解:
(a)根據(jù)所有屬性集合的閉包,計算所有可能的函數(shù)依賴。
{A}+={A}
{B}+={B}
{C}+={C, D, A} C → AD 36、
{D}+={D, A}
{A, B}+={A, B, C, D} AB → CD
{A, C}+={A, C, D} AC → D
{A, D}+={A, D}
{B, C}+={B, C, D, A} BC → AD
{B, D}+={B, D, A, C} BD → AC
{C, D}+={C, D, A} CD → A
{A, B, C}+={A, B, C, D} ABC → D
{A, B, D}+={A, B, D, C} ABD → C
{A, C, D}+={A, C, D}
{B, C, D}+={B, C, D, A 37、} BCD → A
(b)所有的鍵:{A, B}, {B, C}, {B, D}
(c)所有的超鍵(不包括鍵):{A,B,C}, {A,B,D}, {B,C,D}, {A,B,C,D}
關系數(shù)據(jù)庫模式設計
BC范式
若關系模式R的每個分量均是不可再分的數(shù)據(jù)項,則R滿足第一范式,又記作:R ∈ 1NF。
BC范式如何定義?
關系模式R滿足BC范式,當且僅當若非平凡函數(shù)依賴A1A2…An → B1B2…Bm在關系R中成立,則{A1,A2,…,An}是R的超鍵。
關系R滿足BC范式的兩種情形
關系R中不存在非平凡函數(shù)依賴。(只有平凡函數(shù)依賴)
每個非平凡函數(shù)依賴的左面包 38、含某個鍵(即左面是超鍵)。
關系R違背BC范式的唯一情形
關系R中至少存在一個非平凡函數(shù)依賴,其左面不是超鍵。
分解為BC范式
分解策略:消除違背BCNF的函數(shù)依賴
1 找一個違背BCNF的非平凡函數(shù)依賴A1A2…An → B1B2…Bm。
2 把關系R分解成兩個關系:
R1(A1,A2,…,An, B1,B2,…,Bm)。
R2(A1,A2,…,An, 所有其它屬性),若不滿足BC范式,則再分解。
例如:R(學號, 課號, 成績, 系號, 系主任) 不滿足BCNF。
1 非平凡函數(shù)依賴:學號 → 系號,系主任 成立
2 R分解為:R1(學號 39、, 系號, 系主任)
R2(學號, 課號, 成績)
3 非平凡函數(shù)依賴:系號 → 系主任 成立
4 R1繼續(xù)分解為:R11(系號, 系主任)
R12(學號, 系號)
第三范式
關系模式R滿足3NF,當且僅當若非平凡函數(shù)依賴A1A2…An → B在關系R中成立,則{A1,A2,…,An}是R的超鍵,或者B是某個鍵的組成部份(鍵屬性)。
結論:一個關系模式總可以分解為滿足3NF的模式,且所有的函數(shù)依賴都可得到保持。
第二范式
第二范式(2NF):
要求每個非鍵屬性依賴于鍵的整體,而不是鍵的部分屬性,即不允許有非平凡函數(shù)依賴的右 40、面是非鍵屬性,而左面是某個鍵的真子集。
滿足2NF的幾種情形:
不存在非平凡函數(shù)依賴。
存在非平凡函數(shù)依賴,且其右面是某個鍵的組成部分(鍵屬性)。
存在非平凡函數(shù)依賴,且其右面是非鍵屬性,則其左面要么是超鍵,要么包含非鍵屬性。
例如:關系模式R(A, B, C, D)有函數(shù)依賴AB → C, C → D, D → A
找出所有違背BCNF的函數(shù)依賴。
必要時,分解為幾個滿足BCNF的關系
找出所有違背3NF的函數(shù)依賴。
解:
所有的鍵:{A, B}, {B, C}, {B, D}
違背BCNF的函數(shù)依賴:C → AD, D → A
分解:R1(A,C,D), R2 41、(B,C)
R11(A,D), R12(C,D)
函數(shù)依賴AB → C 不保持
R滿足3NF
關系模型中的運算
投影
選擇
笛卡爾積
例4.5:p125
S
B
C
D
2
4
9
5
7
10
6
8
11
R
A
B
1
3
2
4
RS
A
R.B
S.B
C
D
1
1
1
3
3
3
2
2
2
4
4
4
2
4
9
2
4
9
5
7
10
5
7
10
6
8
11
6
8
11
42、
自然連接
自然連接是什么運算?
對于兩個關系R和S,自然連接表示為R S
結果:屬性是R和S中的屬性的并集,去掉同名的屬性;
其元組是R和S在同名屬性上一致的元組的所有組合。
R S
A
B
C
D
1
3
2
4
5
7
6
8
上例:
V
B
C
D
2
2
7
3
3
8
4
5
10
U
A
B
C
1
6
9
2
7
7
3
8
8
例4.7:p126
U V
A
B
C
D
1
1
6
9
2
43、
2
7
7
3
3
8
8
4
5
10
10
θ連接
θ連接是什么運算?
在笛卡爾積的基礎上,增加條件以限制元組。
對于兩個關系R和S,基于條件c的θ連接表示為 R cS,計算步驟:
計算RS ,即笛卡爾積;
UA 44、
改名
改名是什么運算?
把一個關系R改名為關系S,且屬性也按次序改名為A1A2…An,表示為ρS (A1, A2,…,An) (R),若僅關系改名為S而屬性不改名,則表示為ρS (R)
例:銷售員Salesman (empid, idno, name, gender, phone, deptid)
求“所有重名的銷售員的員工號及其姓名”
∏s1.empid,s1.name(ρS1(Salesman) s1.name=s2.name AND s1.empid≠s2.empidρS2 (Salesman))
基本運算和派生運算
問題:設有關系:選修(學號,課號 45、,成績),求:
既選修’c1’,亦選修’c2’的學生學號
∏學號(б課號 = c1(選修)) ∩∏學號(б課號 = c2(選修))
沒選修’c1’的學生學號
∏學號(選修) - ∏學號(б課號 = c1(選修)
數(shù)據(jù)庫語言SQL
SQL簡單查詢
投影
選擇
多關系查詢
乘積和連接
子查詢
練習:
求選修了C1課的學生姓名。(用IN表示)
求C1課成績最好的學生姓名。
求既選C1課,又選C2課的學生姓名。
求沒選C1課的學生姓名。
聚合運算
分組
Group By子句如何構成?
根據(jù)一列或幾列的值把元組分成若干組,有相同分組值的元組作為一組,每 46、個組再分別進行聚合運算。
Having子句
Having子句條件表示什么?
在分組聚合之后按某條件過濾分組,使用Having子句確定條件。
視圖
什么是視圖view?
依據(jù)一條SELECT語句產生的一個命名的“虛關系”或“虛表”。視圖的數(shù)據(jù)均來自基本表,并不實際存儲。一個定義好的視圖可看作基本表,用于定義新的視圖,或對之進行查詢甚至更新。
一個數(shù)據(jù)庫可定義多個視圖。視圖的名稱不能與已有的表名沖突。視圖是數(shù)據(jù)庫模式的一部分。
為何需要視圖?
簡化計算。
不同用戶關心同一表中的不同屬性。
提高數(shù)據(jù)的安全性。
創(chuàng)建視圖
如何創(chuàng)建視圖?
CREATE VIEW 47、[ owner .]view-name [( column-name , ... )]
AS select-without-order-by [with check option]
例如:
CREATE View orderamount As
Select salesorder.orderno, signdate, empid, custid, Sum(quantity) as qty, Sum(singlecost*quantity) as amount
From dba.salesitem, dba.salesorder
Where salesorder.orderno 48、 = salesitem.orderno
Group by salesorder.orderno, signdate, empid, custid
產生一個虛關系:
orderamount(orderno, signdate, empid, custid, qty, amount)
視圖查詢
如何查詢視圖?
對視圖的查詢與表查詢遵循相同的語法。
例:計算銷售金額最高的訂單號、簽單日期及銷售金額。
Select orderno, signdate, amount
From orderamount
Where amount = (Select Max(amount) Fro 49、m orderamount)
對視圖的查詢將由系統(tǒng)轉換為對基本表的查詢。
SQL約束和觸發(fā)器
SQL中的鍵
鍵key是最重要的約束。每個表都必須確定自己的鍵。
每個表都可能有多個屬性集可作為鍵,稱為“候選鍵candicate key”。
一個表只能確定一個主鍵(Primary Key)。
若某個屬性說明為Unique,則它是一個候選鍵。
主鍵和Unique屬性之間有何區(qū)別和聯(lián)系?
一個表有且僅有一個主鍵;而Unique屬性可有多個或沒有。
主鍵可以是多屬性,而Unique只能說明單個屬性。
若主鍵是單個屬性,則該屬性隱含為Unique。
若主鍵是多個屬性,則每個屬性都不 50、可能為Unique。
實施主鍵約束
什么操作會導致違背鍵約束?
insert和update可能違背該表的鍵約束。
SQL實施主鍵約束即是在insert和update時檢驗鍵值,避免空值或重復鍵值。
參照完整性和外鍵
SQL中依靠外鍵保證參照完整性。外鍵定義時要注意區(qū)分參照關系和被參照關系。
說明外鍵約束
是否可定義一個表參照自己? 可以。
例如:salesman(empid, idno, name, managerid, deptid, …)
外鍵是否可取NULL值? 可以。
SQL系統(tǒng)概況
SQL事務
事務transaction是什么概念?
事務有何特性? 51、ACID。
如何控制事務運行?
事務的一次運行只能是下面兩個結果之一:
Commit提交;或Rollback退回
Commit指令提交當前事務,完成對數(shù)據(jù)的更新。
Rollback指令退回當前事務,并取消當前事務對數(shù)據(jù)已做的更新。
Commit和Rollback都結束當前事務,并自動啟動下一個事務。
在多用戶多任務環(huán)境中,并發(fā)事務可能引起哪些問題?
同時更新同一數(shù)據(jù)
臟讀dirty read
不可重復讀non-repeatable read
虛行(幻象元組)phantom rows
“寫鎖”write lock是什么概念?
某數(shù)據(jù)被一個事務修改,在該事務提交或退回之前 52、,其他事務不能修改或刪除此數(shù)據(jù)。
臟讀是什么含義?
當事務A修改某數(shù)據(jù)后,在提交或退回前,該數(shù)據(jù)被事務B讀取,若事務A退回,則事務B讀取的數(shù)據(jù)為“臟數(shù)據(jù)”,即事務B發(fā)生臟讀。
不可重讀non-repeatable read是什么含義?
事務A先讀某行數(shù)據(jù),隨后事務B修改update或刪除delete該行數(shù)據(jù)并提交,事務A重復再讀該行數(shù)據(jù),結果就不一致。
虛行phantom rows是什么含義?
事務A按某條件C查詢一組數(shù)據(jù),隨后事務B增加insert滿足條件C的數(shù)據(jù),或修改update條件C相關的數(shù)據(jù),使得事務A按原條件C再次查詢的結果不一致。也稱為“幻象”元組。
“讀鎖”rea 53、d lock是什么概念?
當某數(shù)據(jù)被一個事務處理時,其他事務限制讀該數(shù)據(jù)。
Grant, Revoke指令有何用途?
一、選擇題(選擇一個最合適的答案)60%
1. 在實體/聯(lián)系圖(E/R圖)中,實體集的每個屬性都隱含為:
A 多值。 B 單值。 C 不允許為NULL。 D 前三者都不對。
2. “兩個實體集之間若有聯(lián)系,則該聯(lián)系是唯一的?!边@種說法對嗎?
A 正確 B 不正確 C 不能斷定 D 應該說,若該聯(lián)系是一對一,則是唯一的。
3. “一個多對一的聯(lián)系隱含著一對一的聯(lián)系?!边@種說法對嗎
A 正確 B 不正確 C 不能斷定 D 應該說, 54、多對多的聯(lián)系隱含一對一聯(lián)系。
4. 考慮銀行業(yè)務中“儲戶”與“帳號”之間的聯(lián)系,該聯(lián)系的多重性應該是:
A 一對一 B 多對一 C 一對多 D 多對多
5. 下面哪種約束要求一組屬性在任意兩個不同實體上的取值不同。
A 鍵(key)約束。 B 單值約束。 C 參照完整性。 D 域(domain)約束
6. 參照完整性約束要求某個聯(lián)系中被參照的實體________。
A 至少有一個。 B 有一個且僅一個。 C零個到多個。 D 前三者都不對。
7. 對于一個“弱實體集”, 下面哪種說法不正確:
A 一定有一個多對一的聯(lián)系到其它實體集。 B 自身屬性不能構 55、成完整的鍵。
C 可單獨存在,而無需其它實體集。 D 可以有自己的屬性。
8. 關系模型要求各元組的每個分量的值必須是原子性的。對原子性,下面哪種解釋不正確:
A 每個屬性都沒有內部結構。 B 每個屬性都不可分解。
C 各屬性值應屬于某種基本數(shù)據(jù)類型。 D 屬性值不允許為NULL。
9. 對于一個關系的屬性(列)集合和元組(行)集合,下面哪種說法不正確:
A 改變屬性的排列次序不影響該關系。 B 改變元組的排列次序不影響該關系。
C 改變元組的排列次序會改變該關系。 D 關系的模式包括其名稱及其屬性集合。
10. 若R是實體集R1與R2間的一個多對多聯(lián) 56、系,將其轉換為關系R’,哪種說法不正確:
A R’屬性應包括R1與R2的所有屬性。 B R’屬性應包括R1與R2的鍵屬性。
C R1與R2的鍵屬性共同構成R’的鍵。 D R’的屬性應包括R自身定義的屬性。
11. 若某關系R的屬性集A函數(shù)決定R中所有其它屬性,則A為關系R的一個:
A 鍵。 B 主鍵。 C 超鍵。 D 外鍵。
12. 若函數(shù)依賴A→B和B→C,則有A→C。此規(guī)則是
A 分解/合并規(guī)則。 B 平凡依賴規(guī)則。 C 傳遞規(guī)則。 D 增長規(guī)則。
13. 對于某關系R的某個屬性集A,下面哪種說法不正確:
A 若屬性集A是R的鍵,則閉包A+ 57、是R中所有屬性集合。
B 若閉包A+是R中所有屬性集合,則屬性集A是R的鍵。
C 若閉包A+是R中所有屬性集合,則屬性集A是R的超鍵。
D 當且僅當屬性集A是R的超鍵,閉包A+是R中所有屬性集合。
14. 若某關系R(A, B, C, D)有函數(shù)依賴AB→C, C→D, D→A,那么BC→AD是否蘊含于已有的函數(shù)依賴:
A 蘊含 B 不蘊含 C 已知條件不足 D 前三者都不對
15. 若某關系R(A, B, C, D)有函數(shù)依賴AB→C, C→D, D→A,那么下面那一個屬性集不是關系R的鍵:
A {A,B} B {B,C} C {B,D} D {A 58、,C}
16. 若某關系R(A, B, C, D)有函數(shù)依賴AB→C, C→D, D→A,那么R的所有超鍵的數(shù)量是:
A 3 B 4 C 6 D 7
17. 若某關系R(A, B, C, D)有函數(shù)依賴AB→C, C→D, D→A,該關系是否違背BCNF,若違背,則應分解成幾個關系才能滿足BCNF:
A R符合BCNF,無需分解 B 2個關系 C 3個關系 D 4個關系
18. 關系Movie(studioName, title, year, length)描述每部電影的制片廠、片名、發(fā)行年、片長,該關系所滿 59、足的下列最大范式是:
A 2NF。 B 3NF。 C BCNF。 D 4NF。
19. 關系MovieStar(starName, title, year, length, studioName)描述影星及其主演影片的片名、發(fā)行年、片長、制片廠。假設一部電影可有多位影星主演,且一位影星可主演多部電影,則該關系的最高范式是:
A 1NF。 B 2NF。 C 3NF。 D BCNF。
20. 關系Starsin(movieTitle, movieYear, starName, starAddress)描述每部電影及其主演影星,影星地址。假設一位影星可有多個地 60、址且可主演多部電影,那么該關系所滿足的最大范式是:
A 2NF。 B 3NF。 C BCNF。 D 4NF。
21. 關系代數(shù)運算中,下面哪種計算可等價表示為其它幾種計算的復合形式:
A 投影∏ B 選擇σ C 笛卡爾積 D 自然連接
22. 設有關系R(A,B,C)和S(C,D,E),其元組如下所示:
C
D
E
3
6
1
8
7
6
2
6
4
5
3
2
A
B
C
1
6
7
2
7
9
3
8
8
計算∏B,E (R A=DS),結果為:
B
E
7
7
9
5
2
61、4
B
E
7
7
9
4
2
4
B
E
7
9
2
4
B
E
2
7
9
5
2
4
A B C D
23. 關于數(shù)據(jù)庫表中的主鍵或unique(唯一值),下面哪種說法正確:
A 主鍵中每個屬性都隱含unique。 B 主鍵中各屬性的聯(lián)合取值為unique。
C unique與主鍵等價。 D 每個unique屬性都隱含為主鍵。 62、
24. 關于數(shù)據(jù)庫表中的外鍵,下面哪種說法正確:
A 當表R1到R2有外鍵時,R2到R1就不能定義外鍵。
B 某表R中屬性A1到R中另一個屬性A2之間不能定義外鍵。
C 外鍵所參照的雙方屬性應屬同種類型。
D 外鍵只能在單個屬性上定義。
25. 假設表R1中的屬性A有外鍵參照表R2的主鍵,要使R2中被參照主鍵屬性被修改后,R1中參照元組的相應屬性值也相應修改,那么該外鍵應設置為下列哪種策略?
A ON Update Restrict. B ON Update Cascade
C ON Update Set Null D 前三者都不對。
26. 若某屬性A設置為 63、非空(NOT NULL),下面哪種說法不正確:
A Update不能設置該屬性為NULL。 B Insert元組時須指定該屬性的值。
C 該屬性不能定義外鍵使用SET NULL策略。 D 該屬性可定義外鍵允許NULL。
27. 下面哪一項不是事務(Transaction)的特性:
A 原子性 B 可控性 C 隔離性 D 持久性
28. 用下面哪個命令可退回當前事務的執(zhí)行。
A Commit B Return C Rollback D 前三者都不對。
29. 在并發(fā)性事務環(huán)境中,事務1修改了某一行數(shù)據(jù),但未提交或退回,此時事務2讀 64、取了此行。而后事務1退回。這樣可能導致事務2讀到的數(shù)據(jù)不可靠。這種現(xiàn)象被稱為:
A (Dirty Reads)臟讀 B (Non-repeatable Reads)不可重復讀
C (Phantom Rows)幻像行 D 事務2不能提交數(shù)據(jù)。
30. 下面哪一種指令能為用戶授權,使其能以一定的權限訪問特定的數(shù)據(jù)庫對象。
A Grant B Revoke C Commit D Privilege
二、應用設計40%
為某圖書發(fā)行公司開發(fā)一個會員制網(wǎng)上圖書訂購數(shù)據(jù)庫系統(tǒng),該系統(tǒng)的基本需求如下:
1. 該公司分為多個下屬部門 65、(Department),如“社科部”,“文藝部”,“計算機部”等。每個部門有若干銷售員(Salesman),每個銷售員有唯一的員工號(如“S0025”)和身份證號,也包含性別、出生日期、電話等信息。一個銷售員僅屬于一個部門,且每個部門有一個銷售員擔任部門經(jīng)理。部門和人員可以動態(tài)調整。
2. 管理注冊會員(Member):身份證號、姓名、性別、地址、郵編、電話等??勺孕聲T(只有會員才能參與訂購圖書),也可注銷舊會員。
3. 管理所有銷售的圖書(Book):書名(如“數(shù)據(jù)庫系統(tǒng)基礎教程”等)、種類(如“計算機”等)、書號ISBN (如“7-302-03646-2等)、作者(也包括譯者,如 66、“史嘉權”)、出版社(如“清華大學出版社”)、定價等。
4. 一個銷售訂單(Salesorder)表示一筆銷售業(yè)務。每個訂單有一個訂單編號和簽訂日期,且對應一個會員和一個銷售員(作為訂單經(jīng)辦人)。一個訂單至少銷售一種圖書,每種圖書應確定其銷售數(shù)量和銷售價格(銷售價格通常低于定價),以計算銷售金額。
按次序回答下列問題:
4. 用若干E/R圖建立該系統(tǒng)的數(shù)據(jù)庫模型。為每個實體集確定其鍵屬性,并確定每個聯(lián)系的多重性。注意弱實體集的表示。(8)
5. 由E/R模型建立該系統(tǒng)的關系模式,并確定每個關系的主鍵和可能的外鍵。注意各關系中的函數(shù)依賴和多值依賴,并使你的關系能符合更高范式。(8)
6. 基于以上關系模式,用關系代數(shù)表示下面計算:(8)
1) 計算名為“張軍”的銷售員的員工號及其電話號碼。
2) 計算所有重名的銷售員的姓名及其員工號。
3) 計算銷售過清華大學出版社出版的計算機類圖書的所有銷售員的員工號及姓名。
4) 未銷售過計算機類圖書的
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管理者的角色定位及認知——企業(yè)商務培訓模板45P
- 高一開學第一課-物理課件
- 高一歷史期中復習指導課件
- 優(yōu)育小兒營養(yǎng)
- 校園暑假安全教育宣講完美
- 記憶力訓練快速擁有超強記憶力
- 規(guī)劃人生成就未來——規(guī)劃我們的職業(yè)生涯
- 自由平等的追求課件
- 腹腔鏡手術麻醉常見問題課件
- 新部編人教版五年級上語文22《-四季之美》優(yōu)質公開課教學ppt課件
- 企業(yè)資源計劃教程-第2版8課件
- 人教版PEP小學英語語法總復習課件
- 千古絕技割圓術課件
- 全國版高考數(shù)學一輪復習第5章數(shù)列第1講數(shù)列的概念與簡單表示法習題課件
- 從藥學實習課程改進談藥師執(zhí)業(yè)的挑戰(zhàn)課件