
1、第一范式(1NF)
关系模式R的每个属性都是不可分的原子值,那么称R是第一范式(1NF)的模式。
例如:有关系模式“学生”
学生(学号,姓名,性别,出生日期,年龄,电话)
其中,“年龄”可以通过当前日期与“出生日期”的运算得到,“年龄”属性就不是原子的。
关系模式“学生”不是1NF,更别提2NF,3NF了。
2、第二范式(2NF)
对于满足1NF的关系,通过消除非主属性对主键的部分函数依赖,使之达到2NF。2NF的关系仍然存在1NF关系类似的缺点。
现在,去除关系W的部分依赖,将其转换为2NF。
W(日期,工号,超额)
W1(工号,姓名,工种,定额,车间,车间主任)
关系模式W1中,依然存在着函数依赖关系:
姓名,工种和车间完全依赖于主键“工号”;
存在着“定额→工种→工号”和“车间主任→车间→工号”这两个传递依赖关系。
这样,在1NF中存在的问题,在2NF中依然存在!
3、第三范式(3NF)
对于满足2NF的关系,如果不存在“非主属性”对主键的传递函数依赖,则称该关系属于3NF。即在2NF基础上排除那些存在传递函数依赖的属性,方法是通过投影 *** 作分解关系模式。
3NF的关系是比较理想的关系,在实际中大部分使用3NF的关系。
分解后,得到由4个关系(3NF)组成的最终结果:
W(日期,工号,超额)
W1(工号,姓名,工种,车间)
W11(工种,定额)
W12(车间,车间主任)
范式是指符合某一种级别的关系模式的集合,关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同的范式。简而言之,范式是为了消除重复数据来减少冗余数据,从而让数据库内的数据更好地组织,让磁盘空间得到更有效利用的一种标准化准则。
数据库设计对数据的存储性能,以及开发人员对数据的 *** 作都有很大的关系,所以建立科学的、规范的数据库必须满足相关的规范准则是至关重要的。设计关系数据库时,应遵从不同的规范要求设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式。各种范式呈递次规范,越高等级的范式数据库冗余越小,满足高等级范式的先决条件是先满足低等级范式。
应用数据库范式有许多优点,但是主要优点有:((1)可以减少数据冗余,这是最重要的优点。
(2)可以消除异常,如插入异常、更新异常、删除异常等。
(3)可以让数据组织得更加和谐、合理、高效。
满足数据库设计范式规范的数据库是简洁的、结构明晰的;同时,不会发生插入(Insert)、删除(Delete)和更新(Update) *** 作异常。反之,不仅给数据库的编程人员带来麻烦,而且存储了大量的冗余信息。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)