数据库建表三范式简介

为了创建冗余较小、结构合理的数据库,设计数据库时必须遵循必定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须知足必定的范式。数据库

在实际开发中最为常见的设计范式有三个:spa

一范式1NF(确保每列保持原子性)
一、    数据库表的每一行都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或不能有重复的属性。若是出现重复的属性,就可能须要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。
二、    表的每一行包含一个实例的信息。
 
第二范式2NF
一、    要求数据库表中的每一个实例或行必须是惟一的。为实现区分,一般须要为表加一个列,以存储各个实例的惟一标识(即主键)。
二、    实体的属性彻底依赖于主关键字。所谓彻底依赖指不能存在仅依赖主关键字一部分的属性。若是存在,那么这个属性和主关键字的这一部分应该分离出来造成一个 新的实体,新实体与原实体之间是一对多的关系。为实现区分一般须要为表加上一个列,以存储各个实例的惟一标识。总之第二范式就是非主属性非部分依赖于主关 键字。
 
第三范式3NF

一个数据库表中不包含已在其余表中已包含的非主关键字信息。例如存在一个部门信息表,其中每一个部门有部门编号DEPT_ID、部门名称、部门简介等信息。那么在员工信息表中列出的部门编号DEPT_ID后,就不能再有关于部门的其余信息,不然就会形成数据冗余设计

相关文章
相关标签/搜索