关系数据库的模式设计

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

关系数据库的模式设计

本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考,从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解,但对于理论的证明等内容则不必深究,本章重点是函数依赖,无损联接、保持依赖和范式的概念。

一、关系模式的设计问题(识记)

关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上就是一张二维表,表的行称为元组,列称为属性 .

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

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

泛关系模式:把现实问题的所有属性组成一个关系模式R(U),这个关系模式就称为泛关系模式。

数据库模式:把泛关系模式用一组关系模式的集合ρ来表示时,这个ρ就是数据库模式。

下面我们总结一下关系模式的相关内容从“大”到“小”的排列

泛关系模式→数据库模式→关系数据库→表结构→关系模式实例(表)→记录(行、列。)

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

二、函数依赖(FD)

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.

2、函数依赖的逻辑蕴涵(识记)

设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y.

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

3、键和FD的关系(领会)

键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2……An),F是R上的函数依赖集,X是R的一个子集,

(1)X→A1A2……An∈F + (它的意思是X能够决定唯一的一个元组)

(2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集)

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

4、函数依赖(FD)的推理规则(简单应用)

前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定F或F+的所有函数依赖。

设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则如下:

自反律:如果Y X U,则X→Y在R上成立。

增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。(XZ表示X∪Z,下同)

传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

合并律:如果X→Y和X→Z成立,那么X→YZ成立。

伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

分解律:如果X→Y和Z Y成立,那么X→Z成立。

5、函数依赖推理规则的完备性(识记)

函数依赖推理规则系统(自反律、增广律和传递律)是完备的。由推理规则的完备性可得到两个重要结论:

属性集X + 中的每个属性A,都有X→A被F逻辑蕴涵,即X + 是所有由F逻辑蕴含X→A 的属性A的集合。

F + 是所有利用Amstrong推理规则从F导出的函数依赖的集合

6、函数依赖集的等价和覆盖(识记)

在关系模式R(U)上的两个函数依赖集F和G,如果满足F + =G + ,则称F和G是等价的,称F和G等价也称F 覆盖 G或G覆盖F.

每个函数依赖集F都可以被一个右部只有单属性的函数依赖集 G所覆盖。

如果函数依赖集合F满足:

(1)F中每一个函数依赖的右部都是单属性;

(2)F中的任一函数依赖X→A,其F-{X→A}是不等价的;

(3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A})∪{Z→A}与F不等价。

则称F为最小函数依赖集合。

如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个最小覆盖 .

这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念 .

三、关系模式的分解特性

1、模式分解中存在的问题:(识记)

模式分解就是将一个泛关系模式 R分解成数据库模式ρ,以ρ代替R的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。

分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等情况,而有的分解则不出现相关问题。

衡量一个分解的标准有三种:分解具有无损联接;分解要保持函数依赖;分解既要保持依赖,又要具有无损联接 .

那么什么是无损联接呢?什么又是保持依赖?

2、无损联接的定义和性质(识记)

设R是一关系模式,分解成ρ={R1,R2,……,Rk},F是R上的一个函数依赖集。无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r=πR1 (r)|X|πR2 (r)……|X|π R3 (r),即r为它在Ri上的投影的自然联接。

最简单的理解,也就是说,分解后的关系自然连接后完全等于分解前的关系,则这个分解相对于F是无损联接分解。

设R的分解为ρ={R1,R2},F为R所满足的函数依赖集,则分解ρ具有无损联接性的充分必要条件是:

相关文档
最新文档