第一范式
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。简单的说,就是每一个列(属性)只有一个,没有重复。第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
基本信息
- 中文名
第一范式
- 外文名
first normal form
- 1
一个关系模式R
- 2
属性都是不可分的基本数据项
- 3
R∈1NF
第一范式的关系
规定关系
第一范式规定关系的每一个分量必须是一个不可分的数据项。
非第一范式的例子如表5-5,可以转换为第一范式如表5-6。
表5-5
导师 | 专业 | 研究生 |
第一个研究生 第二个研究生 |
|
|
表5-6
导师 | 专业 | 第一个研究生 第二个研究生 |
几乎所有的商用关系DBMS都要求关系为第一范式,现在流行的关系数据库语言,如SQL,也都只支持第一范式。
如果关系仅仅满足第一范式的条件是不够的,可能会存在更新异常。为了消除这些异常,需要进行关系的规范化。
关系模式实例
下面是满足第一范式的(不好的) 关系模式的例子。例如:设有一关系模式R(S#,C#,G,TN,D),其中(S#)为学号,C#为课程号,G为成绩,TN为任课教师姓名,D为教师所在系名,这些数据具有下列语义:
(1) 学号是一个学生的标识,课程号是一门课程的标识。
(2) 一位学生所修的每门课程都有一个成绩。
(3) 每门课程只有一位任课教师,但一位教师可以教多门课。
(4) 教师中没有重名,每位教师只属于一个系。
下面是一个具体关系实例的数据,如表5-7:
表5-7
学号 S# | 课程号 C# | 成绩 G | 教师 TN | 系名 D |
s1 | c1 | g1 | t1 | d1 |
s1 | c2 | g2 | t2 | d2 |
s2 | c1 | g3 | t1 | d1 |
s2 | c2 | g4 | t2 | d2 |