第1周(第五章:函数依赖、推理规则、闭包)二、研讨课:1、假设员工关系EMP(员工号,姓名,部门,部门电话,部门负责人,家庭住址,家庭成员,成员关系)如下表所示。
如果一个部门可以有多名员工,一个员工可以有多个家庭成员,那么关系EMP属于数据冗余问题;为了解决这一问题,应该将员工关系EMP分解为(员工号,姓名,部门,家庭地址,家庭成员,成员关系)(部门,部门负责人,部门电话),画出ER图(上学期学过了,很简单,懒得画),主外键(主键:员工号,外键:部门)(主键:2、判断F={A->BC,B->A,AD->E}与G={A->BC,B->A,BD->E}就是等价得因为B->A,所以BD->AD,因为AD->E,所以BD->E,所以。
3、设关系模式R具有n个属性,在模式R上可能成立得函数依赖有 (1) 个?其中平凡得FD有 (2)个?非平凡得FD有(3) 个?以上3点都需说明为什么三、作业:1、设函数依赖集F={AB->E,AC->G,AD->BG,B->C,C->D},试证AC->G就是冗余得。
AD->BG,C->D,所以AC->BG,所以AC->G,所以冗余2.课本Page124:习题5、3(1)X->ø永远满足。
(2)ø->Y,则属性Y对于各元组得值相同。
(3)ø->ø为平凡得函数依赖,永远满足。
3、课本Page124:习题5、8证明:(反证法)假设存在A→B那么 A→AB, 关系模式R得候选码即为A,不就是全码∴假设不存在,R不满足A→B同理:R不满足 B→Aﻬ第2周(第五章:、关键码、最小函数依赖集)二、研讨课:2.设有函数依赖集:F={AB->C,C->A,BC->D,ACD->B,D->EG,BE->C,CG->BD,CE->AG},计算其等价得最小依赖集。
1、把右边都写成单属性AB->C,C->A,BC->D,ACD->B,D->E,D->G,BE->C,CG->B,CG->D,CE->A,CE->G 2、去左边冗余属性C->A,CE->A冗余,去掉CE->A,所以AB->C,C->A,BC->D,ACD->B,D->E,D->G,BE->C,CG->B,CG->D,CE->G3、去冗余得FDD->G,所以CD->CG,CG->B,所以CD->B,所以ACD->B,所以ACD->B冗余所以AB->C,C->A,BC->D,D->E,D->G,BE->C,CG->B,CG->D,CE->G3.已知R(ABCDE),F={A→B,BC→A,A→D},求R得全部非主属性。
L:CR:DN:ELR:A,BCE+=CEACE+=ABCDEBCE+=ABCDE所以非主属性为D三、作业:1、已知F={B→D,A→D,DA→CB,CD→A},求Fmin。
1、右边单属性B→D,A→D,DA→C,DA→B,CD→A2、左边冗余属性A→D,DA→C,DA→B,所以A→C,A→B所以B→D,A→D,A→C,A→B,CD→A3、冗余得FD:无2、如果关系模式R(A,B)得候选码为(A,B)(即为全码),那么该关系模型一定不满足A→B,或B→A。
没什么好说得3、设有R(ABCDE),F={ A→C,B→C,C→D,CE→A,DE→C },求候选码。
L:B,ER:N:LR:A,C,DBE+=ABCDE所以BE第3周(第五章:分解无损与保持FD)二、研讨课:1、R(ABCDE), F={AB→C,AC→E,C→B,E→C,D→C},ρ={ABC,AD,AE,BE,DE},求ρ得分解无损性2、关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X,X→Z,Y→W }。
关系模式R 得候选键就是(1),(2) 就是无损连接并保持函数依赖得分解。
L:R:ZN:LR:W,X,YW+=WXYZY+=WXYZX+=XZ候选键:W与Y出发点:X→Z不妨大胆得假设R1,R2使得无损联结,也就就是R1∩R2=X,R2-R1=Z就有WXY与XZ验证依赖性πWXY(F)={WX→Y,W→X,Y→W}πXZ(F)={X→Z}πWXY(F)∪πXZ(F)=F大功告成!3、举出一个满足无损但不保持FD得分解例子,并说明分解得不合理? 举出一个保持FD 但不满足无损得分解例子,并说明分解得不合理。
没什么好说得!三、作业:1、证明BCNF一定就是3NF。
反证法,假设不就是,存在传递然而传递得中间不就是候选键得话语BCNF矛盾所以。
到时候自己编一个BCNF2.给定关系模式R<U,F>,其中:U={A,B,C,D},F={A->B,B->C,C->D,D->A},判断关系模式R得分解ρ={AB,BC,CD}就是否具有依赖保持性。
求投影,方法瞧研讨3、课本Page125:习题5、15画表格,方法如研讨4.已知R<U, F>,U={A, B, C,D, E },F={ AB→C , D→E, C→D},R得一个分解ρ={R1(A,B,C), R2(C,D),R3(D,E)}。
判定分解ρ就是否为无损连接得分解与保持函数依赖性。
画表格+求投影第4周(第五章:范式分解,多值依赖自学)二、研讨课:1、如下关系模式R表示某学校学生及宿舍得情况R(学号,姓名,系,宿舍楼,宿舍房号,协会)满足得函数依赖集合为F={学号→姓名,学号→系,宿舍楼→系,学号→宿舍房号,宿舍房号→宿舍楼} 试将R规范化为满足BCNF得关系模式。
学号,协会就是候选键,所以F肯定不就是BCNF((学号,协会)→(姓名,宿舍房号)),(宿舍房号→宿舍楼)(宿舍楼→系)2、假设某旅馆业务规定,每个账单对应一个顾客,账单得发票号就是惟一得,账单中包含如果根据上述业务规则,设计一个关系模式:R(发票号,到达日期,顾客姓名,消费日期,项目,金额)。
试回答下列问题:(1)找出R得候选键。
发票号,项目,消费日期(2)判断R最高可达到第几范式,为什么?3,NO WHY(3)给出R得一个可能得3NF分解。
R1((发票号,项目,消费日期)→(到达时间,顾客姓名))R2(项目→金额)(4)给出R得一个可能得BCNF分解。
R1((发票号,项目,消费日期)→(到达时间,顾客姓名))R2(项目→金额)三、作业:1.说明以下说法就是否正确以及理由:(1)所有候选码都为单个属性得关系模式一定满足2NF;、左边为单属性不可能为局部依赖(2)二目关系一定就是满足3NF得;设二目关系为R(A,B),则候选码得可能性为(A,B)、A或B情况一:候选码为(A,B),不存在非主属性,故R一定满足3NF;情况二:候选码为A,R满足A→B,不存在传递A→B,故R一定满足3NF;情况三:类似情况二。
(3)候选码为全码得关系模式一定就是满足BCNF得关系模式;因为关系模式就是全码,所以任何属性或属性组对候选码都就是直接函数依赖,根据BCNF得定义,此关系模式一定满足BCNF。
2、已知关系R(A,B,C,D,E,F,G)上得函数依赖集F={AC->BEFG,A->B,C->DEF,E->F}试将R分解成一组等价得3NF模式(1)先求Fmin1、右边为单属性AC->B,AC->E,AC->F,AC->G,A->B,C->D,C->E,C->F,E->F2、去左边重复AC->B,AC->E,AC->F冗余所以AC->G,A->B,C->D,C->E,C->F,E->F3、去冗余FDC->E,E->F,所以C->F冗余所以AC->G,A->B,C->D,C->E,E->F(2)求候选码L:A,CR:B,D,E,FN:LR:AC+=ABCDEFG所以候选码就是AC(3)要满足2NF,3NF,所以R1(AC->G)R2(A->B)R3(C->D,C->E)R4(E->F) 3、设关系模式R(A,B,C,D),F={A→C,A→B,B→D},将R分解为BCNF。
1、候选码L:AR:C,DN;LR:BA+=ABCD所以候选码为A2、分解R1(A→C,A→B)R2(B→D)4.课本Page125:习题5、18。
懒得做了!做法跟上面差不多得第5周(第七章:数据库设计;第八章:事务概念)三、作业:1、已知R(A,B,C,D,E,F,G,H,I,J),F={AB→E,ABE→FG,B→FI,C→J,CJ→I,G→H},求最小函数依赖集,然后分解成三范式得关系模式集合,并判断该分解就是否具有无损连接性。
2、如下给出得关系R为第几范式?就是否存在操作异常?请举例说明。
若存在,则将其分解为高一级范式。
分解后得范式中就是否可以避免这些操作异常?数据冗余((工程号,材料号,数量)→(开工日期,完工日期,价格))这就是第一范式修改成(工程号→(开工日期,完工日期))((工程号,材料号,数量)→价格)3、课本Page170:习题7、15。
ﻬ第6周(第八章:故障恢复)二、研讨课:1、某数据库配置时把数据库文件、备份文件、日志文件放在同一个硬盘上,就是否合适?并说明理由。
放在同一台计算机得不同硬盘上呢?从故障恢复得角度应该如何配置合理?至少哪两类文件不应放在同一硬盘上?不合适,当发生介质故障时候,如果放在同一个硬盘上,数据库文件就无法补救回来。
也不就是很合适,当整台电脑被病毒破坏时,数据库文件、备份文件、日志文件也就是容易被损坏得。
数据库备份放在共享文件夹里,共享指定给另外一台电脑。
数据库文件,备份文件。
及时日志文件丢失损坏,之前备份得文件也有很多数据但如果备份文件都不在了,日志文件也就是没用得。
2、假定系统采用检查点方法,T1、T2与T3就是并发事务,在t19时发生系统故障,最近得检查点在t8时(见图);A、B、C与D都就是数据库中得数据项,初值依次就是800、300、70时刻T1 T2 T3 说明t1t2read(B)B=B*2read(A)A=A-100read(D)D=D-100t1:T1开始t4:T2开t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19答:(1)事物T2不必恢复,因为它得更新在检查点之前就写到了数据库、(A=700)(2)事物T3必须撤销,因为T3还未做完,撤销事物T3对db得修改,就恢复D=80(3)事物T1必须重做,因为T1做完,但就是它得结束在下一个结束点之前,对DB修改仍然在内存缓冲区,还没写到磁盘。