- 王珊《數(shù)據(jù)庫(kù)系統(tǒng)概論》(第4版)章節(jié)專項(xiàng)練習(xí)及詳解
- 圣才電子書
- 5658字
- 2021-06-04 17:41:45
第2章 關(guān)系數(shù)據(jù)庫(kù)
一、選擇題
1在關(guān)系中能唯一標(biāo)識(shí)元組的最小屬性集稱為( )。
A.外碼
B.候選碼
C.主碼
D.超碼
【答案】B
【解析】超碼(Super Key)是關(guān)系中能唯一標(biāo)識(shí)每個(gè)元組的屬性或?qū)傩越M(集),一個(gè)關(guān)系可能有多個(gè)超碼。
候選碼(Candidate Key)是關(guān)系中能唯一標(biāo)識(shí)每個(gè)元組的最小屬性或?qū)傩越M,一個(gè)關(guān)系可能有多個(gè)候選碼;主碼(Primary Key)則是從候選碼中選擇一個(gè),作為該關(guān)系的主碼。數(shù)據(jù)庫(kù)系統(tǒng)將按主碼標(biāo)識(shí)和排序每個(gè)元組。一個(gè)關(guān)系在任一時(shí)刻至多只能有一個(gè)主碼,但在不同時(shí)刻可以指定不同的候選碼作為主碼。
外碼(Foreign Key)則是在關(guān)系R1中的屬性或?qū)傩越M,若在另一個(gè)關(guān)系R2中作為主碼使用,則稱該屬性或?qū)傩越M為R1的外碼。R1的外碼和R2中的主碼必須定義在相同的域上,允許使用不同的屬性名。
2對(duì)關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),下面哪些說(shuō)法是錯(cuò)誤的( )。
A.每一列的分量是同一種類型數(shù)據(jù),來(lái)自同一個(gè)域
B.不同列的數(shù)據(jù)可以出自同一個(gè)域
C.行的順序可以任意交換,但列的順序不能任意交換
D.關(guān)系中的任意兩個(gè)元組不能完全相同
【答案】C
【解析】基本關(guān)系具有以下6條性質(zhì):
①列是同質(zhì)的,即每一列中的分量是同一類型的數(shù)據(jù),來(lái)自同一個(gè)域。
②不同的列可出自同一個(gè)域,但是具有不同的列名(屬性名)。
③列的順序無(wú)所謂,即列的次序可以任意交換。
④任意兩個(gè)元組的候選碼不能相同。
⑤行的順序無(wú)所謂,即行的次序可以任意交換。
⑥分量必須取原子值,即每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。
3關(guān)于關(guān)系的完整性約束條件,下列說(shuō)法錯(cuò)誤的是( )。
A.在關(guān)系模型中,允許定義實(shí)體完整性、參照完整性和用戶定義的完整性
B.用戶完整性應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持
C.參照完整性可由用戶或系統(tǒng)定義
D.用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件
【答案】B
【解析】關(guān)系完整性有三類:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性保證每一個(gè)數(shù)據(jù)(實(shí)體)是可識(shí)別的,參照完整性保證當(dāng)數(shù)據(jù)與數(shù)據(jù)之間有聯(lián)系時(shí),這種聯(lián)系造成的數(shù)據(jù)取值的制約;用戶定義的完整性保證每一個(gè)數(shù)據(jù)的取值在應(yīng)用領(lǐng)域內(nèi)是合理的。其中,實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱為關(guān)系的兩個(gè)不變性。也就是說(shuō),只要是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)就應(yīng)該自動(dòng)支持實(shí)體完整性和參照完整性。
4關(guān)系代數(shù)中的?連接操作由( )操作組合而成。
A.σ和π
B.σ和×
C.π、σ和×
D.π和×
【答案】B
【解析】連接又稱為θ連接。它是從關(guān)系R和S的笛卡爾積中選取屬性值之間滿足一定條件的元組。因此,該運(yùn)算首先計(jì)算R和S的笛卡爾積,然后再?gòu)牡玫降慕Y(jié)果集合中選擇屬性值之間滿足一定條件的元組。該運(yùn)算得到結(jié)果是R和S的笛卡爾積的子集,其關(guān)系模式同R和S的笛卡爾積一樣。
5設(shè)關(guān)系R(A,B,C)和S(B,C,D),下列各關(guān)系代數(shù)表達(dá)式不成立的是( )。
A.R÷S
B.πB(R)∪πB(S)
C.R∩S
D.R?S
【答案】C
【解析】R∩S運(yùn)算也要求R和S具有相同的屬性。
6有兩個(gè)關(guān)系R和S,分別包含15個(gè)和10個(gè)元組,則在R∪S、R-S、R∩S中不可能出現(xiàn)的元組數(shù)目情況是( )。
A.15,5,10
B.18,7,7
C.21,11,4
D.25,15,0
【答案】B
【解析】①A項(xiàng)的情形:若R∩S為10個(gè)元組,那么R∪S為15個(gè)元組、R-S為5個(gè)元組是正確的。
②B項(xiàng)的情形:若R∩S為7個(gè)元組,那么R∪S應(yīng)為18個(gè)元組、R-S應(yīng)為8個(gè)元組。
③C項(xiàng)的情形:若R∩S為4個(gè)元組,那么R∪S為21個(gè)元組、R-S為11個(gè)元組是正確的。
④D項(xiàng)的情形:若R∩S為0個(gè)元組,那么R∪S為25個(gè)元組、R-S為15個(gè)元組是正確的。
7關(guān)系R與關(guān)系S只有一個(gè)公共屬性,T1是R與S等值連接的結(jié)果,T2是R與S自然連接的結(jié)果,下列敘述正確的是( )。
A.T1的屬性個(gè)數(shù)等于T2的屬性個(gè)數(shù)
B.T1的屬性個(gè)數(shù)小于T2的屬性個(gè)數(shù)
C.T1的屬性個(gè)數(shù)大于或等于T2的屬性個(gè)數(shù)
D.T1的屬性個(gè)數(shù)大于T2的屬性個(gè)數(shù)
【答案】D
【解析】連接中有兩種最重要也最常用的連接,它們分別是等值連接和自然連接。等值連接就是比較運(yùn)算符θ為“=”的連接運(yùn)算;自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性或?qū)傩越M合,并且在結(jié)果中把重復(fù)的屬性去掉。也就是說(shuō),自然連接是在笛卡爾積的結(jié)果中選擇相同屬性值相等的那些元組,最后還要去掉重復(fù)的屬性。因此,等值連接結(jié)果的屬性個(gè)數(shù)應(yīng)該大于自然連接結(jié)果的屬性個(gè)數(shù)。
8設(shè)關(guān)系R(A,B,C)和S(B,C,D),下列各關(guān)系代數(shù)表達(dá)式不成立的是( )。
A.πA(R)?πD(S)
B.R∪S
C.πB(R)∩πB(S)
D.R?S
【答案】B
【解析】A項(xiàng)、D項(xiàng)都是執(zhí)行自行連接運(yùn)算,當(dāng)兩個(gè)關(guān)系無(wú)公共屬性時(shí),自然連接就等同于笛卡爾積運(yùn)算,因此,A項(xiàng)、D項(xiàng)都是正確的。關(guān)系的并、交、差運(yùn)算要求兩個(gè)關(guān)系是相容關(guān)系,即兩個(gè)關(guān)系屬性個(gè)數(shù)相等,且對(duì)應(yīng)的屬性來(lái)自同一個(gè)值域,R與S不是相容關(guān)系,所以B項(xiàng)是錯(cuò)誤的。
9有關(guān)系R(X,Y,Z),主鍵=X;S(W,X),主鍵W,外鍵=X,參照R的屬性X,關(guān)系R和關(guān)系S的元組如下所示。指出關(guān)系S中違反關(guān)系完整性規(guī)則的元組是( )。

A.(1,2)
B.(2,null)
C.(3,3)
D.(4,1)
【答案】C
【解析】關(guān)系完整性有三類:實(shí)體完整性、參照完整性和用戶自定義的完整性。其中參照完整性保證當(dāng)數(shù)據(jù)與數(shù)據(jù)之間有聯(lián)系時(shí),這種聯(lián)系造成數(shù)據(jù)取值的制約。參照完整性規(guī)則是:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)。
對(duì)于S關(guān)系而言,X是該關(guān)系的外碼,它與R關(guān)系的主碼X相對(duì)應(yīng)。根據(jù)參照完整性規(guī)則,S關(guān)系中X的取值或者取空值或者等于R中X的某個(gè)分量值。因此,S關(guān)系中X的分量值為3這一元組就是違背參照完整性規(guī)則的元組。
10關(guān)系運(yùn)算以關(guān)系代數(shù)為理論基礎(chǔ),關(guān)系代數(shù)的最基本操作是并、差、笛卡爾積、( )。
A.投影、連接
B.連接、選擇
C.選擇、投影
D.交、選擇
【答案】C
【解析】關(guān)系代數(shù)是一種抽象的查詢語(yǔ)言,它通過(guò)對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢要求。關(guān)系代數(shù)的運(yùn)算共有8種,可分兩類:傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算一傳統(tǒng)的集合運(yùn)算有:交、并、差、笛卡爾積,專門的關(guān)系運(yùn)算有:選擇、投影、連接和除。其中,并、差、笛卡爾積、選擇和投影5種運(yùn)算是基本運(yùn)算,其他3種運(yùn)算均可以用這5種基本運(yùn)算來(lái)表達(dá)。
二、填空題
1關(guān)系模型由( )、( )和( )組成。
【答案】數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)操作;完整性規(guī)則
2關(guān)系代數(shù)運(yùn)算中,基本的運(yùn)算是( )、( )、( )、( )和( )。
【答案】并;差;笛卡爾積;投影;選擇
3關(guān)系數(shù)據(jù)庫(kù)中基于數(shù)學(xué)的兩類運(yùn)算是( )和( )。
【答案】關(guān)系代數(shù);關(guān)系演算
4已知系(系編號(hào),系名稱,系主任,電話,地點(diǎn))和學(xué)生(學(xué)號(hào),姓名,性別,入學(xué)日期,專業(yè),系編號(hào))兩個(gè)關(guān)系,系關(guān)系的主碼是( ),系關(guān)系的外碼是( ),學(xué)生關(guān)系的主碼是( ),外碼是( )。
【答案】系編號(hào);無(wú);學(xué)號(hào);系編號(hào)
三、判斷題
1在一個(gè)關(guān)系中,不同的列可以對(duì)應(yīng)同一個(gè)域,但必須具有不同的列名。( )
【答案】√
【解析】例如一個(gè)關(guān)系中有平時(shí)分?jǐn)?shù)、期末考試分?jǐn)?shù)和總分屬性,它們的域都是相同的。
2關(guān)系中任何一列的屬性取值是不可再分的數(shù)據(jù)項(xiàng),可取自不同域中的數(shù)據(jù)。( )
【答案】×
【解析】關(guān)系中任何一列的屬性取值是不可再分的數(shù)據(jù)項(xiàng),只能取自同一域中的數(shù)據(jù)。
3一個(gè)關(guān)系中不可能出現(xiàn)兩個(gè)完全相同的元組是由實(shí)體完整性規(guī)則確定的。( )
【答案】×
【解析】一個(gè)關(guān)系中不可能出現(xiàn)兩個(gè)完全相同的元組,這是由關(guān)系的定義和特點(diǎn)確定的。
4投影操作是對(duì)關(guān)系表進(jìn)行水平方向的分割。( )
【答案】×
【解析】投影操作是對(duì)關(guān)系表進(jìn)行垂直方向的分割。
5有兩個(gè)關(guān)系R和S,分別包含15個(gè)和10個(gè)元組,則在R∪S、R-S、R∩S中可能出現(xiàn)的一種元組數(shù)目情況是18、7、7。( )
【答案】×
【解析】因?yàn)槿鬜∪S元組數(shù)目為18,表示R和S中有25-18=7個(gè)相同元組,R∩S的元組數(shù)目為7,但R-S的元組數(shù)應(yīng)為15-7=8個(gè)。
四、問(wèn)答題
1設(shè)有如圖2-1所示的關(guān)系R和S,計(jì)算:
(1)R1=R-S
(2)R2=R∪S
(3)R3=R∩S
(4)R4=R×S

圖2-1 關(guān)系R和S
答:本題各小題的結(jié)果如圖2-2所示。

圖2-2 計(jì)算結(jié)果
2設(shè)有如圖2-3所示的3個(gè)關(guān)系S、C和SC,將下列關(guān)系代數(shù)表達(dá)式用漢語(yǔ)表示出來(lái),并求其結(jié)果。

圖2-3 關(guān)系S、C和SC
(1)π2,6,7(б籍貫=‘上海’(S?SC))
(2)π2,6,7(S?SC?б課程=‘操作系統(tǒng)’(C))
(3)π2,3(S?(π1,2(SC)÷π1(C)))
答:(1)檢索籍貫為上海的學(xué)生的姓名、選修的課程號(hào)和成績(jī),其結(jié)果為圖2-4中的R1。
(2)檢索選修操作系統(tǒng)的學(xué)生姓名、課程號(hào)和成績(jī),其結(jié)果為圖2-4中的R2。
(3)檢索選修了全部課程的=學(xué)生姓名和年齡,其結(jié)果為圖2-4中的R3。

圖2-4 關(guān)系R1、R2和R3
3設(shè)有如圖2-5所示的關(guān)系S、SC和C,試用關(guān)系代數(shù)表達(dá)式表示下列查詢語(yǔ)句:

圖2-5 關(guān)系S、C和SC
(1)檢索程軍老師所授課程的課程號(hào)(C#)和課程名(CNAME)。
(2)檢索年齡大于21的男學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。
(3)檢索至少選修程軍老師所授全部課程的學(xué)生姓名(SNAME)。
(4)檢索李強(qiáng)同學(xué)不學(xué)課程的課程號(hào)(C#)。
(5)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)(S#)。
(6)檢索全部學(xué)生都選修的課程的課程號(hào)(C#)和課程名(CNAME)。
(7)檢索選修課程包含程軍老師所授課程之一的學(xué)生學(xué)號(hào)(S#)。
(8)檢索選修課程號(hào)為k1和k5的學(xué)生學(xué)號(hào)(S#)。
(9)檢索選修全部課程的學(xué)生姓名(SNAME)。
(10)檢索選修課程包含學(xué)號(hào)為2的學(xué)生所修課程的學(xué)生學(xué)號(hào)(S#)。
(11)檢索選修課程名為C語(yǔ)言的學(xué)生學(xué)號(hào)(S#)和姓名(SNAME)。
答:本題各個(gè)查詢操作對(duì)應(yīng)的關(guān)系代數(shù)表達(dá)式表示如下:
(1)πC#,CNAME(бTEACHER=‘程軍’(C))
(2)πS#,SNAME(бAGE>21∧SEX=‘男’(S))
(3)πSNAME(S?(πS#,C#(SC)÷πC#(бTEACHER=‘程軍’(C))))
(4)πC#(C)-πC#(бSNAME=‘李強(qiáng)’(S)?SC)
(5)πS#(б[1]=[4]∧[2]≠[5](SC×SC)
(6)πC#,CNAME(C?(πS#,C#(SC)÷πS#(S)))
(7)πS#(SC?πC#(бTEACHER=‘程軍’(C)))
(8)πS#(SC)÷πC#(бC#=‘k1’∨C#=‘k5’(C))
(9)πSNAME(S?(πS#,C#(SC)÷πC#(C)))
(10)πS#,C#(SC)÷πC#(бC#=‘2’(SC))
(11)πS#,SNAME(S?πS#(SC?(бCNAME=‘C語(yǔ)言’(C))))
4現(xiàn)有學(xué)生課程數(shù)據(jù)庫(kù),其中包括:學(xué)生關(guān)系Student,課程關(guān)系Course和選修關(guān)系Sc,關(guān)系的實(shí)例如表2-1、表2-2和表2-3所示。其中,Sc中的屬性Grade表示該學(xué)生該門課取得的成績(jī),Course中的屬性Credit表示該門課程的學(xué)分。
表2-1 學(xué)生課程數(shù)據(jù)庫(kù)-Student

表2-2 學(xué)生課程數(shù)據(jù)庫(kù)-Sc

表2-3 學(xué)生課程數(shù)據(jù)庫(kù)-Course

計(jì)算下述表達(dá)式的結(jié)果,并說(shuō)明各操作的實(shí)際查詢含義。
(1)σCname=‘?dāng)?shù)據(jù)庫(kù)原理’(Course)
(2)πSno(Sc)
(3)πCname(σCredit>2(Course))
(4)πCno,Grade(σSno=‘03090101’(Sc))
(5)Sc?Course?Student
(6)πSname(σCname=‘?dāng)?shù)據(jù)庫(kù)原理’(Student?Sc?Course))
(7)πSno,Cno(Sc)÷Course
答(1)對(duì)Course關(guān)系作選擇運(yùn)算,選擇條件是課程名稱Cname屬性的取值為“數(shù)據(jù)庫(kù)原理”。因此,可以逐行考查Cname屬性的取值,如果某行的Cname屬性的取值為“數(shù)據(jù)庫(kù)原理”,就把該行放到結(jié)果集中。結(jié)果集合的關(guān)系模式仍同Course一樣。最終得到的結(jié)果集如圖2-6(a)。該操作實(shí)際上就是查詢“數(shù)據(jù)庫(kù)原理”課程的基本情況。

圖2-6(a) (1)的結(jié)果集合
(2)對(duì)Sc關(guān)系作投影運(yùn)算,只留下屬性Sno一列,因而結(jié)果集合中的關(guān)系模式不再同Sc一樣了,同時(shí)還會(huì)出現(xiàn)相同的行,最終結(jié)果集合中還會(huì)去掉重復(fù)的行。最終得到的結(jié)果集如圖2-6(b)。該操作實(shí)際上就是查詢選修過(guò)課程的學(xué)生的學(xué)號(hào)信息。

圖2-6(b) (2)的結(jié)果集合
(3)括號(hào)優(yōu)先,因此,首先對(duì)關(guān)系Course作選擇運(yùn)算,選擇那些學(xué)分Credit屬性的取值大于2的行,所得結(jié)果集合的關(guān)系模式仍同Course一樣,元組有2行。然后,再對(duì)此結(jié)果集合作投影運(yùn)算,只留下屬性Cname一列。最終得到的結(jié)果集如圖2-6(c)所示。該操作實(shí)際上就是查詢學(xué)分大于2分課程的課程名稱信息。

圖2-6(c) (3)的結(jié)果集合
(4)括號(hào)優(yōu)先,因此,首先對(duì)關(guān)系Sc作選擇運(yùn)算,選擇那些學(xué)號(hào)Sno屬性的取值為“03090101”的所有行,所得結(jié)果集合的關(guān)系模式仍同Sc一樣,元組有3行。這部分實(shí)際上就是查詢學(xué)號(hào)為“03090101”學(xué)生的所有選修情況,再對(duì)此結(jié)果集合作投影運(yùn)算,留下課程編號(hào)屬性Cno和成績(jī)屬性Grade兩列。最終得到的結(jié)果集如圖2-6(d)所示。該操作實(shí)際上就是查詢學(xué)號(hào)為“03090101”學(xué)生選修的所有課程的課程編號(hào)和對(duì)應(yīng)的成績(jī)信息。

圖2-6(d) (4)的結(jié)果集合
(5)運(yùn)算次序從左到右。首先關(guān)系Sc與關(guān)系Course作自然連接,共同屬性是Cno,因而此運(yùn)算就是在Sc與Course的笛卡爾積中選擇那些使Se.Cno-Course.Cno成立的行,同時(shí)得到的結(jié)果集中去掉重復(fù)的Cno屬性。結(jié)果如圖2-6(e)所示。然后,此結(jié)果集合再與Student作自然連接,共同屬性是Sno,此運(yùn)算就是在上述結(jié)果集合與Student的笛卡爾積中選擇那些使Se.Sno=Student.Sno成立的行,同時(shí)得到的結(jié)果集中去掉重復(fù)的Sno屬性。最終得到的結(jié)果集如圖2-6(f)所示。該操作實(shí)際上就是查詢選修過(guò)課程的學(xué)生的基本情況、選修情況以及課程情況信息。

圖2-6(e) (5)中Sc與Course自然連接的結(jié)果集合

圖2-6(f) (5)的最終結(jié)果集合
(6)括號(hào)優(yōu)先,因此,首先進(jìn)行Student與Sc再與Course的自然連接,得到的中間結(jié)果如圖2-6(f)所示。然后,對(duì)此中間結(jié)果集合進(jìn)行選擇運(yùn)算,即從中選擇課程名稱Cname屬性的取值為“數(shù)據(jù)庫(kù)原理”的行,得到的結(jié)果如圖2-6(g)所示。此操作實(shí)際上是查詢選修了“數(shù)據(jù)庫(kù)原理”課程的學(xué)生的基本情況、選修情況以及該門課程的基本、情況。最后,再對(duì)圖2-6(g)所示的結(jié)果集合進(jìn)行投影運(yùn)算,只留下學(xué)生姓名Sname屬性這一列,最終得到的結(jié)果集合如圖2-6(h)所示。該操作實(shí)際上就是查詢選修了“數(shù)據(jù)庫(kù)原理”課程的學(xué)生姓名信息。

圖2-6(g) 對(duì)自然連接的結(jié)果進(jìn)行選擇運(yùn)算后的結(jié)果集合

圖2-6(h) (6)的最終結(jié)果集合
(7)運(yùn)算次序從左到右。首先對(duì)關(guān)系Sc作投影運(yùn)算,留下學(xué)號(hào)屬性Sno和課程編號(hào)Cno屬性,然后與關(guān)系Course作除運(yùn)算。根據(jù)除運(yùn)算定義,我們可以知道,結(jié)果集合是只有屬性Sno的新關(guān)系,其中的元組根據(jù)除運(yùn)算定義可知只有一行,如圖2-6(i)所示。該操作實(shí)際上就是查詢選修了全部課程的學(xué)生學(xué)號(hào)信息。

圖2-6(i) (7)的最終結(jié)果集合
- 高校第二課堂思想政治工作載體創(chuàng)新研究
- 2019年上海市選聘高校畢業(yè)生到村任職考試《綜合知識(shí)和能力》考點(diǎn)精講及典型題(含歷年真題)詳解
- 公共關(guān)系學(xué)(數(shù)字教材版)
- 數(shù)字音頻編輯Adobe Audition實(shí)用教程(微課版)
- 汽車構(gòu)造(第3版)
- 人力資源管理(原書第12版)
- 經(jīng)濟(jì)法學(xué)(法學(xué)教材)
- 北京服裝產(chǎn)業(yè)發(fā)展研究報(bào)告(品牌篇)
- 重慶大學(xué)《建筑構(gòu)造(下冊(cè))》(第5版)筆記和典型題詳解
- 新一代計(jì)算機(jī)體系結(jié)構(gòu)
- 2020年湖南公務(wù)員錄用考試專項(xiàng)題庫(kù):資料分析【歷年真題+章節(jié)題庫(kù)+模擬試題】
- After Effects 2022影視后期制作案例教程(全彩慕課版)
- 國(guó)際商務(wù)函電(第二版)
- Android移動(dòng)開(kāi)發(fā)教程(項(xiàng)目式)
- 服裝整理學(xué)(第2版)