数据库中键和三大范式的总结

键(Key 关键码)

超键(Super Key)

在关系中能唯一标识元组的属性集称为关系模式的超键。首先,概念中有几个需要弄清楚的地方,有的是个人的理解,有的是比较官方一点的说法。关系:元组的集合;属性集:属性的集合;关系模式:就是一张表。
更直观的说吧,看下面的这个表格,
这里写图片描述
表格中只看 学号 就能推断出是哪个人,这就是唯一标识,同样, 年龄 也可以唯一标识这张表,含有“学号或年龄”的任意一个属性集都是 超键

候选键(Candidate Key)

不含有多余属性的超键称为候选键。多余属性就是没有它也可以起到唯一标识的作用。用上表来解释就是,姓名和学号可以有唯一标识作用,但是学号这一关属性就可以唯一标识了,在这里的学号和姓名就不是一个候选键,有多余的属性。候选键是超键的子集。

主键(Primary Key)

用户选作元组标识的候选键称为主键。也就是说主键可以有一个,也可以是多个。
表中的学号,学号和专业等都可以作为主键。在关系模式中主键下画横线表示。主键又是候选键的子集。

外键(Foreign Key)

如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键。在这里提到值域的概念:关系中每一个属性都有一个取值范围,称为属性的值域。
表中的例子来说的话,如果姓氏在其他表中为主键,那么它在这个表中就作为外键,在关系模式中外键下面画波浪线表示。

范式

第一范式

关系模式中每个关系的属性值都是不可分的原子值,称该关系模式为第一范式1NF(First Normal Form)。
简而言之,就是属性不可以再分割了的意思。

第二范式

如果关系模式是1NF,且每个非主属性完全函数依赖于候选键,那么称该关系模式是第二范式(2NF)的模式。非主属性:如果A是关系模式R的候选键的属性,那么称A是R的主属性,否则称为非主属性。如表中的姓氏和性别可以作为一个候选键,那么姓氏和性别就是这个关系模式的主属性。借冯老师的图一用。

这里写图片描述

完全依赖:直接用下图来解释一下
这里写图片描述

第二范式(2NF)和第三范式(3NF)的概念很容易混淆,区分它们的关键点在于,2NF:非主键列是否完全依赖于主键,还是依赖于主键的一部分;3NF:非主键列是直接依赖于主键,还是直接依赖于非主键列。

第三范式

关系模式满足1NF,且每个非主属性都不传递依赖于关系模式R的候选键,那么称R是第三范式(3NF)的模式。所谓传递函数依赖,指的是如果存在“A—>B —>C”的决定关系,则C 传递函数依赖于A。

个人理解的不是特别到位,望提出问题,互相交流。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 52
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 52
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值