数据库最小依赖集题解

数据库例题

一、最小依赖、候选键

  1. 考虑关系模式R(A, B, C, D, E, F),其函数依赖集为F={AC→EF, B→CE, C→B, AB→D, E→F} (1) 求R的最小函数依赖集。 (2)列举R的全部候选键。 (3)将R分解为一组关系模式,要求每个关系模式均满足BCNF。

(1)求解第一问最小函数集依赖
思路:根据传递率,求出并删掉重复的
在这里插入图片描述

F={AC→EF, B→CE, C→B, AB→D, E→F}
∴F={AC→E, AC→F, B→C,B→E,C→B,AB→D,E→F}
∵AC→E, E→F, ∴AC→F
∴F={AC→E, B→C,B→E,C→B,AB→D,E→F}
∵C→B,B→E∴C→E
∴F={ B→C,B→E,C→B,AB→D,E→F}
经检查Fmin={ B→C,B→E,C→B,AB→D,E→F}为最小函数依赖集

(2)求解全部候选键
思路:根据

1、L类:全部出现在函数依赖的左半部
2、R:全部出现在函数依赖的右半部
3、LR:出现在函数依赖的左右两边
4、N:不出现在函数依赖中
可能成为候选键的有L类,LR类和N类
对于L类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候选键.
对于LR类,求出其闭包,若包含所有属性,则为候选键,若不包含,在找出其中一个属性结合.
对于N类,直接加至候选键即可.

二、利用可扩展hash方法对以下记录进行hash存储:3, 5, 7, 13, 20, 25

设hash函数h(x)= x mod 7,其中散列函数h(k)是一个b(足够大)位二进制序列,序列的前d位用作索引,来区分每个元素属于哪个桶。
现要求每个桶至多包含2个元素,以上元素按从左往右的顺序依次添加。开始时只使用序列的前1位作索引(即d=1),当桶满时进行分裂,d相应增大。请画出添加完以上所有元素后,最终的索引结构。

在这里插入图片描述
在这里插入图片描述

三、冲突串行化调度

1.考虑如下的三个事务的调度。这是否是一个冲突串行化调度?请解释一下你的判据。如果是,将它转换成串行调度。

在这里插入图片描述
解:根据下表对应看是否发生冲突
请添加图片描述

用优先图判断在这里插入图片描述
转换后优先图
在这里插入图片描述

四、优化查询

考虑下面的关系模式

Student={ SID, Name, Degree, College, Address, Phone}
Course={CourseNo, College, Semester} Enrol={SID, CourseNo, Semester,
Unit, Status}, 外键约束有Enrol.{CourseNo,Semester} 关联Course.{CourseNo,
Semester} 及Enrol.SID 关联Student.SID.

考虑下面的SQL查询
πSID,Address,Phone(σCourseNo=‘COMP 2400’ ((Course ⋈ Enrol) ⋈ Enrol.SID=Student.SID Student))
画出它的查询计划树,然后对初始查询计划树进行查询优化,并画出经过查询优化之后的查询计划树。

在这里插入图片描述
结果:
在这里插入图片描述

五、E-R图

1.为一个银行设计一个数据库,包括顾客和顾客的账户的相关信息。
(1) 顾客的信息包括姓名、地址、电话和社会安全号码。
(2) 顾客可以有多个地址(地址是由所在州、城市、街道组成的三元组),每个地址可以有多个电话。
(3) 账户的信息包括号码、类型(支票账户或者储蓄账户)和收支情况,也应记录它的所有者。
(4) 一个账户只能有一个所有者。
请根据以上信息:画出对应的 E-R 图;指出每个关系中的主键、外键和完整性约束;把 E-R 图转化为对应的关系模式。

在这里插入图片描述

六、B+树生成器

B+树生成器

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我老伯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值