数据库设计范式是数据库设计所需要满足法律规范,满足这些法律规范数据库是简洁、构造明晰,同步,不会发生插入(insert)、删除(delete)和更新(update)操作异常
反之则是乱七八糟,不但给数据库编程人员制造麻烦,并且面目可憎,也许存储了大量不需要冗余信息
范式阐明 1
1 第一范式(1NF)无重复列 所谓第一范式(1NF)是指数据库表每一列都是不可分割基本数据项,同一列中不能有各种值,即实体中某个属性不能有各种值或者不能有重复属性
假如出现重复属性,就也许需要定义一种新实体,新实体由重复属性构成,新实体与原实体之间为一对多关系
在第一范式(1NF)中表每一行只包括一种实例信息
简而言之,第一范式就是无重复列
阐明:在任何一种关系数据库中,第一范式(1NF)是对关系模式基本规定,不满足第一范式(1NF)数据库就不是关系数据库
例如,如下数据库表是符合第一范式: 字段 1字段 2字段 3字段 4 而这样数据库表是不符合第一范式: 字段 1字段 2 字段 3字段 4 字段 3
2 数据库表中字段都是单一属性,不可再分
这个单一属性由基本类型构成,涉及整型、实数、字符型、逻辑型、日期型等
很显然,在当前任何关系数据库管理系统(DBMS)中,傻瓜也不也许做出不符合第一范式数据库,由于这些DBMS 不容许你把数据库表一列再提成二列或多列
因而,你想在既有 DBMS 中设计出不符合第一范式数据库都是不也许
2 第二范式(2NF)属性完全依赖于主键 [ 消除某些子函数依赖 ] 假如关系模式 R 为第一范式,并且 R 中每一种非主属性完全函数依赖于 R某个候选键, 则称为第二范式模式
第二范式(2NF)是在第一范式(1NF)基本上建立起来,即满足第二范式(2NF)必要先满足第一范式(1NF)
第二范式(2NF)规定数据库表中每个实例或行必要可以被惟一地区别