前言

内容:

  • 关系代数
  • 函数依赖
  • 键与约束
  • 范式

中论

关系代数

并(∪):两张表中所有记录数合并,相同记录只显示一次

交(∩):两张表中相同的记录数

差(S1-S2):s1表中有但s2表中没有的记录

笛卡尔积(S1×S2):S1中每条记录依次和S2中的所有记录组合成一条记录,最终形成一张S1+S2个属性列,S1*S2个记录数

投影(π):根据条件选择某关系模式中的某列

选择(σ):根据条件选择某关系模式中的某条记录

自然连接(∞):显示两表全部的属性列,相同属性列只显示一次;显示属性相同且值相同的记录。

函数依赖

给定一个X,能唯一确定一个Y,则称X确定Y;或者Y依赖于X。

  • 部分函数依赖:A确定C,(A,B)也能确定C,则称部分函数依赖。(A,B)的一部分能确定C
  • 传递函数依赖:A和B不等价时,A可以确定B,B确定C,则A确定C,则成为传递函数依赖。

键与约束

超键:能唯一标识此表属性的组合

候选键:超键中去掉冗余的属性,剩余的属性就是候选键

主键:任选一个候选键,即可作为主键

外键:其他表中的主键

主属性(码):候选键内的属性为主属性,其他属性为非主属性

实体完整性约束:主键约束。主键值不能为空,也不能重复

参照完整性约束:外键约束。外键必须是其他表中已经存在的主键的值或者空。

用户自定义完整性约束:自定义表达式约束

范式

第一范式(1NF)

关系中的每一个分量必须是一个不可分的数据项。即表中不允许有更小的表。

第二范式(2NF)

如果关系R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R属于2NF。即表中每一个非主属性不会依赖复合主键中的某一列。

第三范式(3NF)

在满足1NF的基础上,表中不存在非主属性对主属性的传递依赖。

BC范式(BCNF)

在第三范式的基础上,进一步消除主属性对码的部分函数依赖和传递依赖。即每个依赖的左边决定因素都必然包含候选键。

2NF、3NF都是非主属性对主属性

BCNF是主属性对主属性

后记

不够真诚是危险的,太过真诚是致命的。

——————王尔德