《数据库原理与应用》(第三版) 第8章 关系数据库理论 基础 习题参考答案
1.關系規范化中的操作異常有哪些?它是由什么引起的?解決的辦法是什么?
答:增、刪、改異常。數據冗余引起。解決辦法:模式分解。
2.第一范式、第二范式和第三范式的定義分別是什么?
答:第一范式:每個列都是原子項。第二范式:第一范式且不含部分函數依賴。第三范式:第二范式且不含傳遞函數依賴。
3.什么是部分函數依賴?什么是傳遞函數依賴?請舉例說明。
答:如果X→Y,并且對于X的一個任意真子集X/ 都有X/ —/→Y,則稱Y完全函數依賴于X,記作XY;如果X/ →Y成立,則稱Y部分函數依賴于X,記作XY。
示例:學生修課(學號,姓名,性別,選的課程號,課程名,考試成績)
主鍵:(學號,課程號)
因為學號–>姓名,因此(學號,課程號)姓名
4.第三范式的關系模式是否一定不包含部分函數依賴?
答:是
5.對于主鍵只由一個屬性組成的關系模式,如果它是第一范式的,則它是否一定也是第二范式的?
答:是。
6.設有關系模式:學生修課(學號,姓名,所在系,性別,課程號,課程名,學分,成績)。設一個學生可以選多門課程,一門課程可以被多名學生選。一個學生有唯一的所在系,每門課程有唯一的課程名和學分。請指出此關系模式的候選鍵,判斷此關系模式是第幾范式的,若不是第三范式的,請將其規范化為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵。
答:(1)候選碼:(學號,課程號)
(2)學號→姓名,學號→所在系,學號→性別,課程號→課程名,課程號→學分,
(學號,課程號)→成績
(3)屬于第二范式,因為存在部分函數依賴:學號→姓名。
(4)第三范式關系模式:
學生(學號,姓名,所在系,性別)
課程(課程號,課程名,學分)
考試(學號,課程號,成績),學號為引用學生的外碼,課程號為引用課程的外碼。
7.設有關系模式:學生(學號,姓名,所在系,班號,班主任,系主任),其語義為:一個學生只在一個系的一個班學習,一個系只有一個系主任,一個班只有一名班主任,一個系可以有多個班。請指出此關系模式的候選鍵,判斷此關系模式是第幾范式的,若不是第三范式的,請將其規范化為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵。
答:(1)候選碼:學號
(2)學號→姓名,學號→所在系,學號→班號,班號→班主任,所在系→系主任
(3)第二范式,因為有:學號→班號,班號→班主任,因此存在傳遞函數依賴:
學號班主任
(4)第三范式關系模式:
學生(學號,姓名,所在系,班號),班號為引用班的外碼,所在系為引用系的外碼。
班(班號,班主任)
系(系名,系主任)
8.設有關系模式:教師授課(課程號,課程名,學分,授課教師號,教師名,授課時數),其語義為:一門課程(由課程號決定)有確定的課程名和學分,每名教師(由教師號決定)有確定的教師名,每門課程可以由多名教師講授,每名教師也可以講授多門課程,每名教師對每門課程有確定的授課時數。指出此關系模式的候選鍵,判斷此關系模式屬于第幾范式,若不屬于第三范式,請將其規范化為第三范式關系模式,并指出分解后的每個關系模式的主鍵和外鍵。
答:(1)候選碼:(課程號,授課教師號)
(2)課程號→課程名,課程號→學分,授課教師號→教師名,(課程號,授課教師號)→授課時數
(3)屬于第一范式。因為有:課程號→課程名,因此存在部分函數依賴關系:
(課程號,授課教師號)課程名
(4)第三范式關系模式:
課程(課程號,課程名,學分)
教師(教師號,教師名)
授課(課程號,教師號,授課時數),課程號為引用課程的外碼,教師號為引用教師的外碼。
總結
以上是生活随笔為你收集整理的《数据库原理与应用》(第三版) 第8章 关系数据库理论 基础 习题参考答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《数据库原理与应用》(第三版) 第7章
- 下一篇: 《数据库原理与应用》(第三版)第9章 事