到目前为止,我们讨论到表中的数据可以形成对其他表的关系(例如一对一,一对多)。但我们还未想到,表中的数据列本身对其他列也有关系。了解这一层关系,就是了解第二范式和第三范式的关键。
当某列的数据必须随着另一列的数据的改变而改变的时候,表示第一列函数依赖于第二列。
基本上从右读到左边就是解读依赖性的方式。
部分函数依赖:部分函数依赖是指,非主键的列依赖于组合主键的某一个部分(但不是完全依赖于组合主键)
如果改变任何非主键列可能照成其他列的改变,即为传递依赖。
第一范式,又称1NF:
规则一:数据列只包含具有原子性的值
规则二:没有重复的数据组
第二范式,又称2NF:
规则一:先符合第一范式;
规则二:没有部分函数依赖
第三范式,又称3NF:
规则一:符合2NF;
规则二:不存在非主属性对任一候选关键字段的传递函数依赖
科得范式,又称BC范式:
规则一:符合3NF;
规则二:主属性不依赖于主属性(也就是不存在任何字段对任一候选关键字段的传递函数依赖)
经典ACID检测:
原子性,事务里的每一个步骤都必须完成,否则只能都不完成。
一致性,事务完成后应该维持数据库的一致性。在完成两组金钱事务后,钱的数量应该符合账户余额的情况。
隔离性,表示每次事务都会看到具有一致性的数据库,无论其他事务有什么行动。
持久性,事务完成后数据库需要正确地存储数据并保护数据免受断电或其他威胁的伤害。