规范化理论
数据冗余会造成很多问题,比如修改异常、插入异常、删除异常等。
键
候选键:唯一标识元祖,且无冗余
主键:任选一个
外键:其他关系的主键
图示法求候选键
- 将关系的函数依赖关系,用“有向图”的方式表示。
- 找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
- 若入度为0的属性集不能遍历途中所有结点,则需要尝试性的将一些中间结点(有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。
主属性与非主属性
组成候选码的属性就是主属性,其它的就是非主属性
范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
第二范式(2NF):当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式。
第三范式(3NF):当且仅当关系模式R是第二范式(2NF ),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。
BC范式(BCNF ) :设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
模式分解
有损:不能还原
无损:可以还原
无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式