数据库系统概论葵花宝典

本文详细介绍了数据库系统的基础知识,包括候选码、主码、主属性和非主属性的定义,函数依赖的求解方法,以及数据库范式如2NF、3NF和BCNF的求解和应用。通过一系列例题,讲解了如何判断和分解关系模式以满足不同范式,同时阐述了ER图的基本操作和数据库事务的四个特性。
摘要由CSDN通过智能技术生成

数据库系统概论葵花宝典

一些定义和规则

候选码的定义:

如果关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;

主码的定义:

如果一个关系有多个候选码,则选定其中一个为主码;

主属性定义:

所有候选码的属性集合称为主属性;

非主属性定义:

不包含在任何候选码中的属性称为非主属性;

函数最小依赖集求法

①根据推理规则的分解性,右部最小化(右切)

②消除左边的冗余属性(除本求包)

③消除冗余的依赖(左部最小化)

已知关系模式R(U,F),U={A,B,C,D,E,F,G},F={BCD→A,BC→E,A→F,F→G,C→D,A→G},求F的最小函数依赖集

①右切(右切,使每个函数依赖的右部仅有一个属性)

在这道题中其实右切是不需要做的,因为每个函数依赖的右边的属性只有一个,如果是AB->CD,那么CD就要被拆开成

AB->C,AB->D

②除本求包(除本求包(对每个函数依赖的左部做除本求包,求包的结果如果不包含本函数依赖的右部,本函数依赖保留;求包的结果如果包含了本函数依赖的右部,删除本函数依赖))

对于第一个BCD→A来说,除本求包的意识就是在F={BCD→A,BC→E,A→F,F→G,C→D,A→G}中去掉BCD→A
这样的话还剩下F={BC→E,A→F,F→G,C→D,A→G},然后求{BCD}+的闭包,如果存在A则删除该依赖,如果不存在则保留该依赖。

③左部最小化

经过右部最小化和消除冗余依赖后F={BCD→A,BC→E,A→F,F→G,C→D}

针对BCD→A

  1. 去B? 则({CD}+ = CD,无A,保留
  2. 去C? 则{BD}+ = BD,无A,保留
  3. 去D? 则{BC}+ = BCDAEFG,有A,则D冗余,可以去掉。

所以F={BC→A,BC→E,A→F,F→G,C→D}

针对BC→E

  1. 去B 则{CF}+ = CD,保留
  2. 去C 则{BF}+ = B,保留

所以F={BC→A,BC→E,A→F,F→G,C→D}

候选码求法

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值