第四节: 规范化
1、异常的概念
关系数据库理论的意图是消除数据库中发生的异常,数据库设计的异常在本质上是对数据的错误修改,甚至可以对单个记录修改。
1)插入异常,将记录添加到子表中,而主表不存在相关任何记录。
2)删除异常,删除主表中数据库,而子表中数据没有先删除。
3)更新异常,更新主表后,子表必须更新以免出现数据关联外键问题。
2、依赖、决定因子、其他数据
Y=X+1
1)函数依赖,Y值由X确定,那么Y值对X值函数依赖
2)决定因子,1是决定因子
3)传递依赖,当X确定Y,Y确定Z后,Z是X的传递依赖。
4)完全函数依赖,Y完全由X依赖而确定。
5)多值依赖,多值依赖的常用示例是一个字段,其中包含以逗号分隔的列表或一些类型的集合。集合可以是相通类型的数组,这饿多值作为整体依赖于主键。
6)循环依赖,X依赖于Y,Y依赖于X。
3、定义范式
1)可接受的学术方法
第一范式(1NF),消除重复的组,所有表中所有记录可以被每个表中主键唯一标识。
第二范式(2NF),所有非键值必须完全函数依赖于主键,不允许部分依赖,字段完全依赖于复合主键的一部分时,会存在部分依赖。
第三范式(3NF),消除传递依赖,字段由主键间接确定,字段函数依赖于另一个字段,另一个字段依赖主键。
Boyce-Codd范式(BCNF)表中每个决定因子是候选键,如果只有一个候选键,那么3NF就是BCNF
第四范式(4NF),消除多组多值依赖。
第五范式(5NF),消除循环依赖。
域键范式,DKNF是规范化的最终引用,更多的是概念状态的度量。
===============================================================
第五节: 用SQL读写数据
SQL是非过程化的语言,用于访问数据库表中的记录和值。
查询SQL分