下载此文档

第6章 规范化.ppt


文档分类:行业资料 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33 下载此文档
文档列表 文档介绍
第6章规范化
本章主要内容
关系模型术语回顾
函数依赖
非规范化的关系
最基本的规范化关系存在的异常分析
范式1NF~BCNF
规范化的本质
1. 关系
关系模型的数据结构就是关系。在用户看来,一个关系就是一张二维表,表中的一行表示实体的一个具体例子(实例),也可称为一个元组或一个记录。表中的一列就是实体的一个属性,也称为一个字段。
关系模型术语回顾
2. 候选键、主属性与非主属性
(1)候选键
候选键由一个属性名或多个属性名组成。
性质1:表中任一行在候选键属性上的值是惟一的。因此,候选键的不同取值可以用来区分不同的行。
性质2:不存在更小的真子集(更小的属性或属性组),其不同的取值也能用来区分不同的行。
如Students关系的Sno列,就是一个候选键。
一个表可能有多个候选键。
(2) 主属性与非主属性
候选键中出现的属性都是主属性,主属性以外的属性都是非主属性。

主键:如果一个表有多个候选键,通常选择其中一个候选键作为区分行的惟一性标识符,称为主键。如果一个表只有一个候选键,那么这个候选键就作为主键。
在Students表中只有一个候选键,则Sno就是该表的主键。
(2) 实体完整性: 表中任意一行的主键值不能为空值。
实体完整性依靠主键来实现。它要求主键值不能为空,也就是说主键值必须是某一确定的值。又因为主键是候选键之一,而根据候选键的定义,候选键列上的各个值都惟一,因此,主键列上的各个值也都惟一。可见,实体完整性也即主键值惟一且不能为空值。如Students表中,Sno列的每一个值惟一,且没有空值存在。
4. 外键与参照完整性
外键:若一个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
例如,第二章图2-1中的选课表Enrollment(o,Grade),Sno不是Enrollment表的主键,但它Sno是表Students (Sno,Sname,Ssex,Sage,Sdept)中的主键。因此,Sno是表Enrollment的外键。
(2)参照完整性:一个表的外键值可以为空值。若不为空值,则每一个外键值必须等于另一个表中主键的某个值。外键实现了表之间的参照完整性。
主键与外键提供了两个关系中元组之间联系的手段。当两个关系进行连接操作时就是因为有外键在起作用。

:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若对于任一元组在X上的每一个值,都有Y上的一个惟一值与之对应,则称X函数决定Y,或称Y函数依赖于X,记作XY。X称为这个函数依赖的决定因子。
函数依赖可以简单理解为:如果知道属性X的值,就可以获得属性Y的值,那么属性X函数决定属性Y,或者说:属性Y函数依赖于属性X,记作XY。若X不函数决定Y,或Y不函数依赖于X,记作:
函数依赖
2. 平凡函数依赖与非平凡函数依赖
:设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合。X和Y为属性集U上的子集,如果X→Y,Y是X的子集,则称X→Y是平凡的函数依赖。如果Y不是X的子集,则称X→Y是非平凡的函数依赖。
平凡函数依赖可以理解为两种情况:
(1)关系的任一个元组的任一属性值都能够函数决定它自己的值。
(2)任一组属性值都能够函数决定其中包含的任一属性或属性子集的值。
例如:Students关系中,总是存在诸如以下的平凡函数依赖:
Sno→Sno
Sname→Sname
(Sno, Sname)→Sno
(Sno, Sname)→Sname
平凡函数依赖是在任一关系中都必然成立的,它不反映新的语义。一般不讨论。若没有特别声明,X→ Y都表示非平凡函数依赖。
3. 完全函数依赖与局部函数依赖
:设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。若XY,同时X的一个真子集X’且也能够函数决定Y,即存在X’ Y,则称X部分函数决定Y,或Y部分函数依赖于X,记作: 。
否则若不存在一个真子集X’,使得X’也能够函数决定Y,则称X完全函数决定Y,或者Y完全函数依赖于X。记作: 。

第6章 规范化 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数33
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2014
  • 文件大小295 KB
  • 时间2018-03-27