《数据库原理与应用》(第三版) 第 3 章 关系数据库 习题参考答案
1.試述關系模型的三個組成部分。
答:關系數據結構、關系操作集合和關系完整性約束。
2.解釋下列術語的含義:
(1)笛卡爾積:設D1,D2,…,Dn為任意集合,定義笛卡爾積D1,D2,…,Dn為:
D1×D2× …×Dn ={(d1,d2,…,dn) | di ∈Di,i=1,2,…,n }
(2)主鍵:也稱主碼為或主關鍵字,是表中的屬性或屬性組,用于惟一地確定一個元組。
(3)候選鍵:如果一個屬性或屬性集的值能夠惟一標識一個關系的元組而又不包含多余的屬性,則稱該屬性或屬性集為候選鍵。
(4)外鍵:設F是關系R的一個或一組屬性,如果F與關系S的主鍵相對應,則稱F是關系R的外鍵。
(5)關系:關系就是簡單二維表。
(6)關系模式:二維表的結構稱為關系模式。
(7)關系數據庫:對應于一個關系模型的所有關系的集合稱為關系數據庫。
3.關系數據庫的三個完整性約束是什么?各是什么含義?
答:實體完整性、參照完整性和用戶定義的完整性。
實體完整性是保證關系中的每個元組都是可識別的和惟一的。
參照完整性也稱為引用完整性,用于表達現實世界中的實體之間的關聯關系。
用戶定義的完整性也稱為域完整性或語義完整性,用于保證數據庫中存儲的值與現實世界相符。
4.連接運算有哪些?等值連接和自然連接的區別是什么?
答:連接運算中最重要也是最常用的連接有兩個,一個是等值連接,一個是自然連接。
自然連接與等值連接的差別為:
?自然連接要求相等的分量必須有共同的屬性名,等值連接則不要求;
?自然連接要求把重復的屬性名去掉,等值連接卻不這樣做。
5.對參與并、交、差運算的兩個關系R、S有什么要求?
答:必須結構相同,且相應的屬性值取自同一個值域。
6.對參與除運算的兩個關系(R÷S)有什么要求?除運算的結果關系中包含哪些屬性?
答:R中必須包含S的全部或部分屬性,除運算的結果包含的屬性是只屬于R不屬于S的屬性。
7.對參與自然連接和等值連接操作的兩個關系R、S有什么要求?
答:有語義相同的屬性。
8.投影操作的結果關系中是否有可能存在重復的記錄?為什么?
答:不可能,因為投影運算會自動去掉投影后重復的記錄。
9.利用表3-10至3-12所示的三個關系,寫出實現如下查詢要求的關系代數表達式。
(1)查詢“信息系”學生的選課情況,列出學號、姓名、課程號和成績。
∏Sno, Sname, Cno, Grade(σSdept=‘信息系’(SC Student))
或:∏Sno, Sname, Cno, Grade(SC σSdept=‘信息系’(Student))
(2)查詢“VB”課程的考試情況,列出學生姓名、所在系和考試成績。
∏Sname, Sdept, Grade(σCname=‘VB’(Coure SC Student))
或:∏Sname, Sdept, Grade(σCname=‘VB’(Coure) SC Student)
(3)查詢考試成績高于90分的學生的姓名、課程名和成績。
∏Sname, Cname, Grade(σGrade>90(Coure SC Student))
或:∏Sname, Cname, Grade(Coure σGrade>90(SC) Student)
(4)查詢至少選修了0512101號學生所選的全部課程的學生的姓名和所在系。
∏Sname, Sdept(Student (SC ÷ ∏Cno(σsno=’0512101’(SC))))
(5)查詢至少選了“C01”和“C02”兩門課程的學生的姓名、所在系和所選的課程號。
∏Sname, Sdept, Cno(Student (SC ÷ ∏Sno(σcno=’C01’ V Cno=’C02’(SC))))
(6)查詢沒有選修第1學期開設的全部課程的學生的學號、姓名和所選的課程號。
∏Sno, Sname, Cno(Student SC (∏sno(SC) - ∏sno(σsemester=1(Course)SC)))
(7)查詢計算機系和信息系選了VB課程的學生姓名。
∏Sname(σsdept=’計算機系’V sdept=’信息系’)∧ cname=’vb’(StudentSC Course))
或:∏Sname(σsdept=’計算機系’V sdept=’信息系’(Student)SC σcname=’vb’(Course))
總結
以上是生活随笔為你收集整理的《数据库原理与应用》(第三版) 第 3 章 关系数据库 习题参考答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《数据库原理与应用》(第三版)第2章 数
- 下一篇: 《数据库原理与应用》(第三版) 第4章S