categories: MySQL
基本概念
函数依赖
定义
设R(U)是属性集U上的一个关系模式,X,Y是U的子集。对于R(U)上的任何一个可能的关系r,如果r中不存在两个元组,他们在x上的属性值相同,而在y上的属性值不同,则称X函数决定Y或Y依赖X。
不存在一个X有多个Y,跟数学的函数概念一样
- 函数依赖只R的所有关系均要满足的约束条件
- 若X->Y,则称X为这个函数依赖的决定因素
- X->Y且Y->X 则X<—>Y
平凡函数依赖
定义
设R(U)是属性集U上的一个关系模式X,Y是U的子集,如果X->Y,并且Y包含于X,则称X->Y是平凡函数依赖很显然,对于任一关系模式,平凡函数依赖都是必然存在的。
非平凡函数依赖
定义
设R(U)是属性集U上的一个关系模式X,Y是U的子集,如果X->Y,并且Y不包含于X,则称X->Y是非平凡函数依赖
完全函数依赖&部分函数依赖
定义
在R(U)中,如果X->Y,并且对于X的任何一个真子集X都有X不决定Y,则称Y对X完全函数依赖。
如果X->Y,但不完全函数依赖于X,则成Y对X部分函数依赖
传递函数依赖
定义
在R(U)中,如果,X->Y,Y->Z,且Y不包含于X,Y不决定X,则称Z传递函数依赖于X。
完全函数依赖,部分函数依赖,传递函数依赖,均是非平凡函数依赖
码
定义
设K为R中的属性或属性组合。若K完全函数决定U,则K为R的候选码。若候选码多于一个,则选定其中一个作为主键
包含在任何一个候选码中的属性称为主属性,不包含在任何码中的属性称为非主属性
外键
定义
关系模式R中属性或属性组X 并非R的码,但X是另一个关系模式S的码,则称X为R的外键
规范化
通常把关系数据库的规范化要求设立的不同标准称为范式 1NF<2NF<3NF<BCNF<4NF<5NF
第一范式
定义
如果关系模式R的所有属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF
关系数据库的语法决定了,所有关系的属性必须是原子性的,不满足1NF的数据库不符合关系型数据库
第二范式
定义
如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的码,则称R属于第二范式
如何实现1NF向2NF的转换
第三范式
定义
如果关系模式R属于2NF,且每个非主属性都不传递函数依赖于R的候选码,则称R属于3NF
怎么把2NF提升为3NF
运用投影分解法,将传递依赖解除
