教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

数据库基础教程(SQL Server平台)[顾韵华]第6章

来源:网络收集 时间:2026-08-24
导读: 数据库基础教程(SQL Server平台)[顾韵华] 第六章 关系规范化理论— 关系数据库设计理论基础 6.1 6.2 6.3 6.4 6.5 数据冗余与操作异常问题 函数依赖 范式 数据依赖公理系统 模式分解 电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案) 数据库

数据库基础教程(SQL Server平台)[顾韵华]

第六章 关系规范化理论— 关系数据库设计理论基础

6.1 6.2 6.3 6.4 6.5

数据冗余与操作异常问题 函数依赖 范式 数据依赖公理系统 模式分解

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.1 数据冗余与操作异常问题 客观事物的联系可以分为两个层面: ― 一是实体与实体之间的联系, ― 二是实体内部特征(即属性)之间的联系。 实体间联系表现为数据的逻辑结构,由数据模型予以形 式化说明和描述; 实体内部属性间联系则表现为数据的语义关联,由数据 模式进行意义上的刻画和解释。在关系模型中,这种实 体内部属性间联系就表现为语义约束。 因此,我们不能随意将一些属性组合在一起形成关系模 式;否则,就会带来一系列问题,最主要的问题是数据 冗余和操作异常。电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.1.1 数据冗余与操作异常 数据冗余(Data Redundancy)是指同一数 据在一个或多个数据文件中重复存储。 数据冗余不仅会占用大量系统存储资源,造 成不必要的开销,而且更严重的是,会带来 数据库操作的异常,对数据库性能发挥造成 不好的影响

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

一个例子【例】 设有一个关系模式R(U),其中U为属性集{客户编号, 客户姓名,客户性别,出生日期,客户所在省市,联系电 话,商品编号,商品名称,单价,订购时间,需要日期, 数量}。 给定关系R的语义如下: ① 一位客户只有一个客户编号,一种商品名称只有一个商品 编号。 ② 每位客户在特定的订购时间订购的每一种商品都有一个数 量。 ③ 每位客户可以订购同一种商品多次。 ④ 每一种商品可由多位客户订购。 ⑤ 每位客户只属于一个省市。电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

关系模式R(U)的存在问题 首先,数据存在大量冗余。

其次,数据冗余将会导致数据操作的异常。① 插入异常:如果某位客户尚未订购任何商品,则他的信息 无法插入到表中。同样,如果某商品尚未有任何客户订购, 则其信息也无法插入到表中。 ② 删除异常:若某商品售完,需将其信息删除,则会将之前 订购过该商品的客户信息也一起删除。 ③ 修改异常:若某客户的联系电话改换了,则要修改多个元 组。如果一部分修改,而另一部分不修改,将会出现数据 间的不一致。电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.1.2 问题原因分析 更新异常问题产生的原因是数据冗

余 。 数据冗余的产生有着较为复杂的原因。从数据 结构角度考察,有两个层面的问题:― 一是对多个文件之间联系的处理; ― 二是同一个文件中数据之间的联系处理。

对于第一个层面的问题,数据库系统(特别是 关系数据库)已经较好地解决了;但第二个层 面的问题,并非可以由关系数据库系统自动解 决,它依赖于关系数据模式的设计。电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.2 函数依赖 数据依赖是客观世界实体集内部或实体集之间 属性相互联系的抽象。 为了描述这些联系,人们提出了多种类型的数 据依赖,最重要的是: ― 函数依赖(Functional Dependency,FD) ― 多值依赖(Multivalued Dependency,MD)

数据依赖实际上反映了属性之间的相互约束关 系。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.2.1 函数依赖的基本概念 定义6.1 设R(U)是属性集U上的关系模式,X和 Y 是 U的子集, r 是 R(U)中任意给定的关系实例。 若对于r中的任意两个元组 s和t,当s[X] = t[X] 时有s[Y] = t[Y],则称属性子集X函数决定属性 子集Y,或称Y函数依赖于X,记为X→Y。否则, 就称X不函数决定Y,记为X Y。 如果有函数依赖X→Y,则称X为决定因素。如 果X→Y,并且Y→X,则记为X←→Y。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.2.2 函数依赖的分类函数依赖有三种类型: (1)平凡与非平凡函数依赖 (2)部分与完全函数依赖 (3)传递函数依赖

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

(1) 平凡与非平凡函数依赖定义6.2 对于函数依赖X→Y,若 Y X ,则称该函 数依赖为平凡函数依赖(Trivial Functional Dependency)。对于函数依赖X→Y,若Y X, 则称该函数依赖为非平凡函数依赖(Nontrivial Functional Dependency)。 注意:当Y是X的子集时,Y必函数依赖于X,这 种依赖不反映任何新的语义,因此这种依赖没 有实际意义。 所研究的函数依赖通常都是指非平凡依赖。电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

(2) 部分与完全函数依赖定义6.3 如果X→Y,且对于X的任一真子集X ,都 有X Y,则称Y完全函数依赖(Full Functional Dependency)于X,记为X Y;否则称Y部分函 数依赖(Partial Functional Dependency)于X, 记为X Y。 如果Y对X部分依赖,那么X中的“部分”就可以 确定对Y的关联。从数据依赖观点来看,X中存在 冗余属性。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

(3) 传递函数依

赖定义6.4 若X→Y,Y→Z, X,则 Y X ,且Y 称Z传递函数依赖(Transitive Functional Dependency)于X。 注意:若X不函数依赖于Y,意味着X与Y不是 一一对应的;否则Z就是直接函数依赖于X,而 不是传递依赖于X。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

完全、部分和传递函数依赖关系

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

6.2.3 函数依赖与数据冗余 根据函数依赖的定义,以及对部分函数 依赖和传递函数依赖的分析可知,部分 函数依赖存在冗余属性,而传递依赖反 映出属性间的间接依赖,是一种弱数据 依赖。这是关系数据库产生数据冗余的 主要原因。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

数据库基础教程(SQL Server平台)[顾韵华]

一个例子 【例】 设有关系模式R(U), 其中U为属性集{客户编号, 客户姓名,联系电话,商 品编号,商品名称,单价, 生产厂家,厂家地址,订 购时间,数量}。该关系模 式具有唯一候选码(客户 编号,商品编号,订购时 间),此时各个属性间的 关系如图所示。

电子工业出版社(《数据库基础教程(SQL Server平台)》配套电子教案)

< …… 此处隐藏:2077字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据库基础教程(SQL Server平台)[顾韵华]第6章.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1694362.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)