数据库范式
数据库范式的定义 在设计数据库的时候,为了设计出合理的关系型数据库,就需要遵循一些规范要求,这些规范要求被成为数据库范式。 目前,关系型数据库主要有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。一般来说,数据库满足前三个范式就可以了。 第一范式(1NF) 定义 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。 解释 第一范式是指数据库表中的每个字段都是不可分解的,即数据库表中的字段具有原子性。 例如,我们有个学生信息表,如下: id name age address 001 张三 26 山东省青岛市XX县XX镇XX村XX号 002 李四 25 河南省开封市XX县XX区XX号 这个表就违反了第一范式,因为表中的字段 地址(address) 可以重新拆分为 省(address_province) 市(address_city) 详细地址(address_detail)。 id name age address_province address_city address_detail 001 张三 26 山东省 青岛市 XX县XX镇XX村XX号 002 李四 25 河南省 开封市 XX县XX区XX号 如上图所示的表遵循了第一范式,对学生的地址管理就方便了很多,也能提高数据库的性能。比如我们要查询青岛市的学生有谁的时候。...