数据库系统概论4关系模式规范化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 关系模式的设计问题

考核要求:达到“识记”层次

知识点:一些基本概念

关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。

一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上就是一张二维表,表的行称为元组,列称为属性。关系是元组的集合,关系模式就是这个元组集合的描述。

关系模式是用来定义关系的,一个关系数据库包含一组关系,也就是包含一组二维表,这些二维表结构体的集合就构成数据库的模式(也可以理解为数据库的结构)。

( 外延和内涵的概念)

关系数据库设计理论包括三个方面内容:数据依赖、范式、模式设计方法。

核心内容是数据依赖。

关系模式的存储异常:数据冗余、更新异常、插入异常和删除异常

关系模式的设计:分解成规范化的数据库模式。

2 函数依赖(FD)

2.1 函数依赖的定义

考核要求:达到“领会”层次

知识点:函数依赖的定义

设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

该定义理解如下:有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X。

比如,有如下二维表

在表中,凡成绩相同的,对应的“成绩等级”也必是相同的,因此,“成绩等级”函数依赖于"成绩"。但是反过来则不成立。

Notice:

(1)在这张表中,任何一行的关系均应符合函数依赖的条件,如果有一行不符合函数依赖的条件,则函数依赖对于这个关系就不成立。

(2)函数依赖是否成立是不可证明的,只能通过属性的含义来判断.

2.2 函数依赖的逻辑蕴涵

考核要求:达到“识记”层次

知识点:逻辑蕴涵和闭包的概念

设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推

出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y.

比如描写学校中各系的属性有:系名、系号,系办公地点,人数等,如果"系号→系名" 成

立,同时已知 "系名→系办公地点"成立,那么, "系号→系办公地点" 也是成立的。

也就是,设F={系号(Y)→系名(Z),系名(X)→系办公地点(Y)},则F逻辑蕴涵 "系号(X)→

系办公地点(Z)"。

函数依赖的闭包F+是指被F逻辑蕴涵的函数依赖的全体构成的集合

2.3 码

考核要求:达到“领会”层次

知识点:码和FD的关系

码是唯一标识实体的属性集。

码和函数依赖的关系满足以下两个条件:

设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集,如果(1)X→A1A2...An∈F+

(X能够决定唯一的一个元组)

(2)不存在X的真子集Y,使得Y→A1A2...An成立

(X能满足(1)但又没有多余的属性集)

则X就是R的一个候选码。

包含在任何一个候选码中的属性称为主属性,不包含在任何码中的属性为非主属性(非码属性),注意主属性应当包含在候选码中。

3 关系模式的范式

3.1 第一范式

考核要求:达到“领会”层次

知识点:1NF的定义

1NF:第一范式——即关系模式中的属性的值域中每一个值都是不可再分解的值。

如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。

比如有一个关系 study={学号,课程},若有这样几行记录:

这时的第三条记录就表示本关系模式不是1NF的,因为课程中的值域还是可以分解的,它包括了两门课程。

如果改为:

则成为1NF的关系。

3.2 第二范式

考核要求:达到“领会”层次知识点:2NF的定义

如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选码,则称为第二范式模式。

首先温习、理解“非主属性”、“完全函数依赖”、“候选码”这三个名词的含义。

(1)候选码:可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。

(2)非主属性:即非码属性,指关系模式R中不包含在任何建中的属性。

(3)完全函数依赖:设有函数依赖W→A,若存在X W,有X→A成立,那么称W→A是局部依赖,否则就称W→A是完全函数依赖。

在分析是否为第2范式时,应首先确定候选码,然后把关系模式中的非主属性与码的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF。

如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。

学号姓名课程成绩

99001Lily C语言91

99002Rose数据结构82

99003Keven C语言77

99003keven数据结构86

其中,(学号,课程)为候选码;“成绩”对码的函数依赖为完全函数依赖,而“姓名”只依赖于“学号”,对码的依赖为部分函数依赖。所以,该关系模式不符合2NF。如果将该模式分解为以下两个关系:

student={学号,姓名}

study={学号,课程,成绩}

则分解后的两个关系模式均为2NF

3.3 第三范式

考核要求:达到“领会”层次

知识点:3NF的含义

相关文档
最新文档