数据库设计范式

第一范式:每一个属性都具有原子性

无重复的域,所有域都应该是原子性的。数据库的每一列都是不可分割的原子数据项,而不是集合、数组、记录等非原子数据,即实体中的某个属性有多个值时,必须拆分为不同的属性。

举例:电话字段,包含了固话、手机。这就需要拆分为固话、手机两个字段。

第二范式:每一行数据都要有唯一标识,需要设置主键

要求数据库中的每个实例或记录必须可以被唯一的区分。

如员工表中的身份证号码即可实现每一个员工的区分,该身份证号码即为候选键,任何一个候选键都可以被选为主键。在找不到候选键时,可额外增加属性以实现区分。

比如设计ID等不重复的编号以实现区分。

第三范式:表与表相关联时,用唯一标识或主键关联,不能出现冗余信息

在2NF基础上,任何非主属性不依赖于其它非主属性。

简而言之,一个关系中不能包含其他关系的非主键信息。

就是两张表相关联时,可以用主键或唯一标识关联。不能出现其余字段的信息

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据库设计范式及其意义和不足 补充:现在大型项目倾向于反范式设计,得益于大容量硬盘的白菜价和计算机的性能提升,表的...
    七枷琴子阅读 2,791评论 0 1
  • 1.第一范式(1NF) 定义:如果关系模式R的所有属性的域都是原子的,那么称关系模式R属于第一范式。 通俗的讲,第...
    李三岁他很皮阅读 927评论 0 2
  • 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出...
    晚歌歌阅读 340评论 0 0
  • 第一范式(1NF) 强调的是列的原子性,即列不能够再分成其他几列。 考虑这样一个表:【联系人】(姓名,性别,电话)...
    noonbiteun阅读 657评论 0 0
  • 又是一年春飞雪,温茶煮良宵。 灯火阑珊行人少,寂园深处小舟半倚桥。 犹记当年春飞雪,素琴对竹箫。 不择言语痴痴笑,...
    风中奇葩阅读 465评论 0 4