ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:25.48KB ,
资源ID:840180      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/840180.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计理论.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计理论.docx

1、数据库设计理论数据库的设计理论第一节,关系模式的设计问题一 概念 :1. 关系模型:用二维表来表示实体集,用外键来表示实体间的联系,这样的数据模型,叫做关系数据模型。关系模型包含内涵和外延两个方面:外延:就是关系或实例、或当前值。它与时间有关,随时间的变化而变化。(主要是由于元组的插入、删除、修改等操作引起的)内涵:内涵是与时间独立的,它包括关系属性、以及域的一些定义和说明。还有数据的各种完整性约束。数据的完整性约束分为静态约束和动态约束。静态约束包括数据之间的联系(称为数据依赖),主键的设计和各种限制。动态约束主要定义如插入、删除和修改等操作的影响。通常我们称内涵为关系模式。2. 关系模式:

2、是对一个关系的描述,二维表的表头那一行称为关系模式,又称为表的框架或记录类型。关系模式的定义包括:模式名、属性名、值域名和模式的主键。关系模式仅仅是对数据特征的描述。关系模式的一般形式为 R ( U , D , DOM , F )R 是关系名。U 是全部属性的集合。 D 是属性域的集合。DOM 是 U 和 D 之间的映射关系,关系运算的安全限制。F 是属性间的各种约束关系,也称为数据依赖。关系模式可以表示为:关系模式 ( 属性名1,属性名2 ,属性名n )示例 : 学生 ( *,年龄,性别,籍贯 )。 当且仅当 U 上的一个关系 r 满足 F 时 ,r 就称为关系模式 R(U,F)上的一个关系

3、,R是关系的型,r 是关系的值,每个值称为R 的一个关系。关系数据库模式:一个数据库是由多个关系构成的。一个关系数据库对应多个不同的关系模式,关系数据库模式是一个数据库中所有的关系模式的集合。它规定了数据库的全局逻辑结构。关系数据库模式可以表示为:S = Ri | i = 1,2, n 3. 关系子模式关系子模式是用户所用到的那部分数据的描述。外模式是关系子模式的集合。4. 存储模式存储模式及内模式。关系数据库理论的主要内容:(1)数据依赖。 数据依赖起着核心的作用。(2)*式 。(3)模式的设计方法。如何设计一个合理的数据库模式:(1)与实际问题相结合。 泛关系模式:把现实问题的所有属性组成

4、一个关系模式 泛关系:泛关系模式的实例称为泛关系。 泛关系模式中存在的问题: a 数据冗余 b 更新异常,c 插入异常 d 删除异常 。(2)数据库设计理论: 借助近代代数工具,把抽象的数据理论同实际问题结合起来。 理论基础:数据依赖 (数据的相关性)。二 , 关系模式及其评价。1 . 关系数据库设计的核心 : 关系模式的设计。2 . 关系模式的设计: 按照一定的原则,从数量众多的而又互相关联的数据中构造出一组即能较好的反映现实世界,而又有良好的操作性能的关系模式。3. 关系模式的优劣、评价、改进:冗余度高修改困难插入问题删除问题这些问题的产生原因是:属性间的约束关系太强,即数据间的依赖关系太

5、强。解决的方法:将关系模式分解为一组较理想的关系模式。第二节 函数依赖一,函数依赖 Functional Dependency 函数依赖是数据依赖的一种,反映属性或属性之间的依存、互相制约的关系,既反映现实世界的约束关系。二 , 函数依赖的定义 设 R ( U ) 是属性 U 上的一个关系模式 ,* 和 Y 均为 U = A1,A2 ,An 的子集,r 为 R 的任一关系,如果对于 r 中的任意两个元组 u 和 v ,只要有 U* = V* , 就有UY = VY ,则称 * 函数决定 Y ,或称Y 函数依赖于*,记作: * Y 。三 , 函数依赖的语义*畴:1. 语义:数据所反映的现实世界事

6、务本质的联系。2根据语义来确定函数依赖型的存在与否。3函数依赖反映属性之间的一般规律,必须在关系模式 F 的任何一个关系 r 都满足约束条件。回顾概念键 :由一个或多个属性组成。 设 R (U) 为一个关系模式,F 为 R 的函数依赖集,* 为 属性集U的子集 。(1)超键 :能唯一标识元组的属性集。如果 * U F ,则 * 是 R 的超键 。(2)候选键 :不含有多余属性的超键 a * 是 R 的超键 。 b 且不存在 * 的真子集 Y ,使得 Y U F+ 则称 * 是 R 的候选键(3)主键 :用户选作元组标识的一个候选键。(4)主属性:包含任何一个候选键的属性。(5)非主属性:不包含

7、任何一个候选键的属性。(6)外键:如果关系 R 的*一个属性组不是该关系本身的候选键,而是另一个关系的候选键,则称该属性组是R的外来关键码,或称为外键(外码) 。如何确定候选码? (1)如果有属性不在函数依赖集中出现,则它必定包含在候选码中。(2)如果有属性不在函数依赖集中任何函数依赖的右边出现,则它必定包含在候选码中。(3)如果该属性或属性组能唯一标识元组,则它就是候选码。根据对数据库的语义描述,确定其中候选码,同时还可以写出该关系模式的函数依赖集。四 , 函数依赖的关系属性间的关系决定函数依赖关系。设 * 和 Y 都是 U 的子集 :1 * 和 Y 的联系是 1 :1 则 * Y , Y

8、* .2 * 和 Y 的联系是 M :1 ( M 1 ) 则 * Y .3* 和 Y 的联系是 M :N ( M ,N 1 ) 则,*、Y之间不存在函数依赖。五 函数依赖 图 : FD 图。六 完全函数依赖 和部分函数依赖在 R (U) 中,如果 * Y ,并且对于 * 的任何真子集 * ,都不存在 * Y ,则称 Y 完全依赖于 * ,记作 * Y ( 箭头上加个 F 表示 FULL 完全函数依赖 )否则,如果 * Y ,且 * 中存在一个真子集 *, 使得 * Y ,则 Y 部分函数依赖 * 。 * Y ( 箭头上面加一个P,表示 PART,部分函数依赖 )七 平凡函数依赖 和非平凡函数依

9、赖设 * , Y 均为*关系的属性集,并且 * Y ,若 Y 包含于 * ,则称 * Y 为平凡函数依赖 ( Y 是 * 的子集)。若 Y 不包含于 * ,则称 * Y 为非平凡函数依赖(Y不是*的子集)第三节 函数依赖的蕴涵与公理体系一,函数依赖的逻辑蕴含定义 :设有关系模式 R ( U ),及其函数依赖集 F,如果对于 R 的任何一个满足 F 的关系 r ,函数依赖 * Y 都成立,则称 F 逻辑蕴含 * Y 或称 * Y 可以由 F 推出,记作 :例题 :关系模式 R = ( A, B, C ) ,函数依赖集 F = AB , BC 则 F 逻辑蕴含 AC 记作:二 ,F 闭包定义: 若

10、 F 为关系模式 R ( U ) 的函数依赖集,我们把 F 以及所有被 F 逻辑蕴含的函数依赖的集合称为 F 的闭包,记作 F+ 。F+ = *Y | F *Y 三,Armstrong 公理 F1 自反律 : 若Y 包含于* ,则 * Y (Y 是 * 的子集 )F2 增广律 : 若 *Y为F所蕴含,则 *ZYZ 在R上成立。F3 传递律 : 若 *Y,YZ在R上成立,则 *Z 在R上成立。F4 伪增律 :Z是W的子集,*Y为F所蕴含,则 *WYZ 在R上成立。F5 伪传律 :若 *Y,YWZ为F所蕴含,则 *WZ 在R 上成立。F6 合并律 :若 *Y , *Z 为F所蕴含,则 *YZ 在

11、R 上成立。F7 分解律 :若 Z 是Y的子集,*Y为F所蕴含,则 *Z在R上成立。四,属性集的闭包定义:若 F 为关系模式 R ( U ) 的函数依赖集,* 是 U 的子集,则由Armstrong 公理推导出来的所有 * Ai 所形成的属性集 Ai | i=1,2,n 称为 * 关于 F 的闭包 记为 * + 。 属性集闭包的举例 :设: R = ABC , F = AB, BC 当*分别是 A , B , C ,时,求 *+解: 当 * = A 时,*+ = ABC 当 * = B 时,*+ = BC 当 * = C 时,*+ = C 定理 :* Y 能根据 Armstrong 推理规则导

12、出的充要条件是:只要 Y 是 *+ 的子集 ,则 * Y 。只要 * Y ,则 Y 一定是 *+ 的子集 。定理 : Armstrong 公理的完备性定理 函数依赖推理规则系统(自反律、增广律、传递律)是完备的。函数依赖公理体系Armstrong 公理体系 由于Armstrong公理的完备性,Armstrong公理及其推论构成了一个完备的逻辑推理体系,称为Armstrong公理体系:A ,一套形式推理规则。B ,利用这些推理规则可以求出给定关系模式的关键字。C ,而且可以从关系模式的一组已知函数依赖出发,求得它蕴含的所有函数依赖。D ,或者对于给定的 F 和 * Y ,判断 * Y 是否在 F

13、+ 中。E ,是关系规*化理论的依据。计算 *+ 的算法1)依据 :若 F 为关系模式 R ( U ) 的函数依赖集,* , Z , W 是 U的子集,对于任意的 Z W F , 若 Z 是 * 的子集 ,则 *W2)算法的实现输入 :关系模式 R 上的子集 * ,R 上的函数依赖 F 输出:* 关于 F 的闭包 *+ 3)算法: a 令 * (0) = , *+ = * ; b. 如果 *(0) *+ ,置 *(0) = *+ ,否则,转到 d ; c对于 f 中的每个未被访问过的函数依赖 Y Z ,若 Y 包含于 *+ ,则令 *+ = *+ Z ,为被访问过的函数依赖设置访问标志,转 b

14、 ; d输出 *+ 结论 判定函数依赖 * Y 是否能由 F 导出的问题,可以转化为求 *+ 的闭包,并判定 Y 是否是 *+ 子集的问题。即求闭包的问题可以转化为求属性集的问题。判定给定函数依赖 * Y 是否蕴含与函数依赖集 F 算法实现:输入:函数依赖集 F , 函数依赖 * Y 输出:若 * Y F+ ,输出真,否则输出假 。四 ,函数依赖的等价和覆盖定义: 设 F 和 G 是关系模式 R ( U ) 上的两个函数依赖集,如果F+ = G+ ,则称 F 等价于 G ,亦称 F 覆盖 G 或者 G 覆盖F ,记作:F G 定理1 , 设 F 和 G 是关系模式 R ( U ) 的两个函数依赖集,则 F+ = G+ 的充分必要条件是:定理2, 设 F 和 G 是关系模式 R ( U ) 的两个函数依赖集,则 F+ = G+ 的充分必要条件是 定理3 ,每个函数依赖集 F 都可以被一个右部只有单属性的函数依赖集 G 所覆盖。五,最小函数依赖集设 F 是函数依赖集,如果 F 满足 (1)F中每个函数依赖 *Y的右边均为单个属性。(2)F中的任何一个函数依赖*A ,其 F( *A ) 都与 F 不等价。(3)F中的任何一个函数依赖*A , Z为*的真子集 ,( F *A ) Z A 都与 F 不等价。则称

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1