数据库范式
Posted for米洛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库范式相关的知识,希望对你有一定的参考价值。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
数据库建表三大范式
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、 删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不 需要的冗余信息。
第一范式(1NF): (列不可再分,且必须有主键)
数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型 、日期型等。
第二范式(2NF): (除了主键以外的其它列,都依赖于该主键)
数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些 字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。
第三范式(3NF): (消除传递依赖)
在第二范式的基础上,数据表中如果不存在非关键字段ss对任一候选关键字段的传递函数依赖则符合第三范式。所 谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依 赖关系: s 关键字段 → 非关键字段x → 非关键字段y
以上是关于数据库范式的主要内容,如果未能解决你的问题,请参考以下文章