当前位置:首页 > 《数据库原理》复习题
复习题
一、解答题
【例1】设有关系模式“教学(U,F)”,其中
U={学号,姓名,性别,院系,办公地点,课号,成绩,教师号} F={学号→姓名,学号→性别,学号→院系,院系→办公地点,(学号,课号)→成绩, 教师号→课号,(学号,课号}→教师号,(学号,教师号)→课号} 用字母表示为:A:学号, B:姓名,C:性别,D:院系,
E:办公地点,F:课号,G:成绩,H:教师号
R,U=ABCDEFGH,
F={A→B,A→C,A→D,D→E,AF→G,H→F,AF→H,AH→F}。 (1)求与F等价的最小函数依赖集; (2)求R的所有候选键; (3)R为几范式?为什么?
(4)将R无损连接且保持依赖地分解成3NF模式集ρ;
(5)将R无损连接地分解成BCNF模式集ρ,分解后的ρ是否保持函数依赖?若不保持则丢失了哪些函数依赖?
解:(1) 求与F等价的最小函数依赖集
????AG=ACDE ∵B AG ∴A→B不冗余; AG=ABDE ∵C AG ∴A→C不冗余; ???AG=ABC ∵D AG ∴A→D不冗余; DG=D ∴D→E不冗余; ??(AF)G=ABCDEFH ∴AF→G不冗余; HG=H ∴H→F不冗余; ???(AF)G=ABCDEFG ∴AF→H不冗余; (AH)G=ABCDEFH ∵F?(AH)G ∴AH→F冗余
经计算AF→G,AF→H左边无多余属性。
所求的最小函数依赖集为:F={A→B,A→C,A→D,D→E,AF→G,H→F,AF→H} (2)求R的所有候选键
左部属性:ADFH 右部属性:BCDEFGH
L:A R:BCEG LR:DFH NLR:Φ 令Y= DFH (AD)F=ADBCE; (AF)F=AFBCDEGH=U ∴AF为一个候选键;
(AH)F=AHBCDEFG=U ∴AH为一个候选键 Y=Y-AF-AH=D
故AF、AH为关系R的候选键。
(3) ∵A→B, 即存在非主属性B部分依赖候选键AF, ∴R?1NF (4)U1=ABCD F1={A→B,A→C,A→D} U2=AFGH F2={ AF→G,H→F,AF→H } U3=DE F3={ D→E } ∵AF? U2,AH? U2
故R的无损连接且保持依赖地分解成3NF模式集ρ为:
ρ={R1
(5)将R无损连接地分解成BCNF模式集ρ
???
U=ABCDEFGH F={A→B,A→C,A→D,D→E,AF→G,H→F,AF→H} Key= AF、AH U1=DE F1 AB,BC,BD,BE ={ DS=ABCDFGH Fs={A→B,A→C,A→D,AF→G,H→F,AF→H} Key= AF、AH S=ABCDGH Fs={A→B,A→C,A→D,AH→G} Key=AH S=ABCGH Fs={A→B,A→C,AH→G } Key=AH S=ACGH Fs={ A→C,AH→G } Key=AH U6=AGH F6={ AH→G } Key=AH U2=HF F2={ H→F } Key=H U3=AD F3={A→D} Key=A U4=AB F4={A→B} Key=A U5=AC F5={A→C} Key=A 图6.1 BCNF分解树
ρ={R1
令G=(F1∪F2∪F3∪F4 ∪F5∪F6)={ A→B,A→C,A→D,D→E,H→F,AH→G} AF→H?F,(AF)=ABCDEF,∵H (AF),∴AF→H G+ 于是F G+,
GG??即丢失了AF→H,∴F与G不等价。 故R的分解ρ不保持函数依赖。
AF→G?F,(AF)=ABCDEFGH,∵G∈ (AF),∴AF→G∈G+ ∴ AF→G未丢失 ,
GG??B→C?F,B=B,∵CB,∴B→CG+ 即丢失了B→C,
GG??分解ρ丢失了函数依赖AF→H和B→C。 【例2】 设有“家庭”关系R,属性包括父亲(A),母亲(M),孩子(C),即U=AMC,我国婚姻法规定实行一夫一妻制,每一个孩子的生父及生母是唯一的。
(1)根据语义求“家庭”关系模式R的函数依赖集F; (2)求与F等价的最小函数依赖集Fm; (3)求R的所有侯选键;
(4)确定R为几范式,说明理由。
(5)R是否存在插入异常、删除异常、修改异常等毛病,若存在请举例说明; (6)将R无损连接地分解成BCNF模式集ρ,分解后的ρ是否保持函数依赖?若不保持则丢失了哪些函数依赖?
解:(1) 所求的函数依赖集为: F={A→M,M→A,C→AM} (2) 求与F等价的最小函数依赖集
F={A→M,M→A,C→A,C→M}
按从左至右的顺序,依次检查各函数依赖是否冗余:
令G=F-{A→M}={M→A,C→A,C→M},A=A,∵MA ∴A→M不冗余
GG??令G= F-{M→A}={A→M,C→A,C→M},M=M,∵AM ∴M→A不冗余
GG??令G= F-{C→A}={A→M,M→A,C→M},C=CMA,∵A?C ∴C→A冗余
GG??令G= F-{ C→A,C→M}={A→M,M→A},C=C,∵MC ∴C→M不冗余
GG??最小函数依赖集为: F={ A→M,M→A,C→M } (3) CF=CMA=U R具有唯一侯选键C。
(4) 主属性为C,非主属性为:A,M
∵C→M,M→A 于是存在非主属性A传递依赖侯选键C,∴R3NF。 又∵主属性为单属性,∴不存在非主属性部分依赖于侯选键C, 故R∈2NF
(5) 没有孩子的父、母实际存在但不能插入表中,所以存在插入异常; 删除某家的唯一孩子导致其父、母也删除,所以存在删除异常;
要修改某父亲信息,若该父亲有多个小孩,则要修改该父亲多个信息,存在修改异常。 (6) 将R按A→M进行分解得:ρ={R1
令G=F1∪F2={A→M,M→A,C→A }
C→M?F,(C)=CAM,∵M∈C,∴C→M∈G+ ∴F? G+ 显然有G?F+
GG???∴F与G等价,∴关系模式R的分解ρ保持函数依赖。
故分解ρ是关系模式R的无损连接且保持函数依赖的BCNF模式集。
二、数据库设计(每小题9分,共18分)
【例1】一个图书借阅管理数据库要求提供下述服务:
(1) 可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。
(2) 可随时查询书籍借还情况,包括借书人单位、姓名、性别、借书证号、借书日期和还书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3) 当需要时,可通过数据库中保存的出版社的名称、电话、邮编及地址等信息向相应出版社增购有关书籍。我们约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
1.按以上语义要求建立ER模型,自行为每个实体和联系给出一些适当的属性,对于码属性用下划线“__”标明。
2.将ER图转换为等价的关系模型,并标明主码和外码。(主码之下用下划线“__”表示,外码之下用双下划线“ ”表示)
解:1. E-R图
2. 关系模型
出版社(出版社名,地址,电话,邮编) 图书 (书号,书名,品种,单价,数量,,存放位置,出版社名) 读者 (借书证号,姓名,性别,单位)
借阅 (借书证号,书号,借书日期,还书日期) 【例2】某高校有若干个部门,每个部门有若干名教工,每个教工只能在一个部门工作,教工之间具有夫妻关系;每个部门有若干个专业,有些管理部门没有专业,每个专业只能一个部门开办;
每个专业可分成若干个班级,每个班级只属于一个专业; 每个班级选派一名教工作班主任,每个教工最多担任一个班的班主任。每个班有若干个学生,每个学生只能在一个班读书;
每个学生可选修多门课程,每门课程可供多个学生选修;
1门课程可以是多门课程的先修课,每门课最多有1门先修课; 在一个学期中,每个教工可在多个班级讲授多门课程,每门课程可由多个教师讲授供多个班级学习,每个班级一个学期有多门课程由多个老师教。
1. 为该校设计教学数据库E-R模型,自行为每个实体和联系给出一些适当的属性,对于键属性用下划线“__”标明。
2. 将教学数据库E-R图转换为等价的关系模型,并标明主键和外键。(主键之下用下划线“__”表示,外键之下用双下划线“ ”表示)
解:1. 教学数据库E-R模型如图1.3所示。
共分享92篇相关文档