第一范式(1NF)

如果该关系的所有 attributes 的域都是原子的,则给定数据库中的关系(或关系模式)在 first normal form 中。如果该域的所有元素都被视为不可分割的单元,则域是原子的。假设关系 employee ,属性 name,那么关系不在 first normal form 中,因为 attribute name 的域元素可以分为 first namelast name

简而言之,如果一个关系具有复合属性 ,那么它不是第一个正常形式。假设我们有以下关系:

EMPID 名字 薪水 位置
DEPTX-101 约翰 工匠 12000 中间
Depty-201 Carolyne 威廉姆斯 18900 经理

第一行的 EmpId 可以分为:Deptx(用于识别部门)和 101,是组织内分配的唯一编号。显然,属性 EmpId 的域不是原子的,因此我们的关系不在于 first normal form

Disadvantes 面临:

  1. 当使用这样的员工身份时,可以通过编写将 EmpId 的结构分解为 Deptx101 的代码来找到员工的部门,这需要额外的编程。信息也在程序中而不是在数据库中编码。
  2. 假设某个特定员工必须更改部门,那么属性 EmpId 必须在使用它的任何地方进行更新。

通过将它分为以下两个关系,我们可以使我们的关系满足时间 18:

关系 1

EMPID 名字 部门
101 约翰 工匠 DEPTX
201 Carolyne 威廉姆斯 Depty

关系 2

EMPID 薪水 位置
101 12000 中间
201 18900 经理

现在,如果我们必须更改部门,我们必须在关系 1 中只执行一次,现在确定部门也更容易。