新闻资讯
看你所看,想你所想

第一範式

第一範式

第一範式

如果一个关係模式R的所有属性都是不可分的基本数据项,则R∈1NF。简单的说,就是每一个列(属性),不能再分割成多个列(属性)。

第一範式(First Normal Form,1st NF)就是指在同一表中没有重複项出现,如果有则应将重複项去掉。这个去掉重複项的过程称为规範化处理。按规範化建立的指标体系和表的过程,都自动保证所有表都满足1st NF。

基本介绍

  • 中文名:第一範式
  • 外文名: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
s3
c2
g5
t2
d2
s3
c3
g6
t2
d2
虽然上述的关係模式只有四个属性,但它是一个不好的关係模式,因为该模式在使用过程中有以下几个问题:
(1) 数据冗余。例如,教师所在系名对选该教师所开课的所有学生都重複输入一次。
(2) 插入异常。由于关係的主键{S#, C#} 不能为空值,如果一个教师不教课,则这位教师的姓名及所属的系名就不能插入表中。
(3) 删除异常。如果所有学生都退选某一门课,则有关该门课的其它数据(任课教师名及所在系名)也将被删除。
(4) 修改异常。如果改变一门课的任课教师,则需要修改表中选修该门课程的多行记录,如果部分修改,部分不修改,则会导致数据的不一致。
上述关係模式之所以是一个不好的关係模式,是因为模式中存在部分函式依赖和传递函式依赖。消除这些部分函式依赖和传递函式依赖,就可以得到一个比较好的关係模式。
根据上述示例说明的语义,找出有下面的函式依赖集合F:
F = { {S#, C#}→ G,C#→TN,TN → D}
图 5-2
针对函式依赖集合,运用关係资料库设计理论,可以对上述关係进行分解,得到3个关係模式如下:
SCG(S#, C#, G)
CTN(C#, TN)
TND(TN, D)
上述3个关係可以消除数据冗余,插入异常,删除异常和修改异常等现象。是一个比较好的关係模式。把原来一个关係表的数据分解为三个关係表存放。
具体的关係实例的数据如表5-8:
表5-8
S#
C#
G
s1
s1
s2
s2
s3
s3
c1
c2
c1
c2
c2
c3
g1
g2
g3
g4
g5
g6
对于上述示例,是满足第一範式的关係模式,但它不是一个好的关係模式,存在数据冗余和操作异常现象。通过分析模式属性间的函式依赖关係,把一个模式分解为三个关係模式后,消除了数据冗余和操作异常。对于任一给定的模式,如何判断是一个好的还是不好的关係模式呢?又如何把一个不好的关係模式分解转换为好的关係模式呢?这就是在下面要讨论的问题,对关係模式中X→Y的函式依赖关係,给出不同程度的限制,得到满足不同範式要求的模式。

指导原则

第一範式包括下列指导原则:
关係中每个记录的每个属性只能包含一个值;
关係中的每个记录必须包含相同数量的值;
关係中的每个记录一定不能相同。
第一範式是对关係模式的最起码的要求。不满足第一範式的资料库模式不能称为关係资料库。
但是满足第一範式的关係模式并不一定是一个好的关係模式。
例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码) 规範成为1NF有三种方法:
一是重複存储职工号和姓名。这样,关键字只能是电话号码。
二是职工号为关键字,电话号码分为单位电话和住宅电话两个属性
三是职工号为关键字,但强制每条记录只能有一个电话号码。
以上三个方法,第一种方法最不可取,按实际情况选取后两种情况。

转载请注明出处海之美文 » 第一範式

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com