数据库的设计范式是数据库设计所需要满足的标准,满足这些标准的数据库是简洁的
结构明晰的,同时,不会发生插入〔insert〕、删除〔delete〕和更新〔update〕操作异常。
反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量
不需要的冗余信息。
范式说明
1.1 第一范式〔1NF〕无重复的列
所谓第一范式〔1NF〕是指数据库表的每一列都是不可分割的基本数据项,同一列中不能
有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属
性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为
一对多关系。在第一范式〔1NF〕中表的每一行只包含一个实例的信息。简而言之,第一
范式就是无重复的列。
说明:在任何一个关系数据库中,第一范式〔1NF〕是对关系模式的基本要求,不满足第
一范式〔1NF〕的数据库就不是关系数据库。
例如,如下的数据库表是符合第一范式的:
字段 1
字段 2
字段 3
字段 4
而这样的数据库表是不符合第一范式的:
字段 1
字段 2
字段 3
字段 4
字段 3.1
字段 3.2
数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型
实数、字符型、逻辑型、日期型等。很显然,在当前的任何关系数据库管理系统〔DBMS〕
中,傻瓜也不可能做出不符合第一范式的数据库,因为这些 DBMS 不允许你把数据库表的
一列再分成二列或多列。因此,你想在现有的 DBMS 中设计出不符合第一范式的数据库都
是不可能的。