数据库原理6-1.ppt_第1页
数据库原理6-1.ppt_第2页
数据库原理6-1.ppt_第3页
数据库原理6-1.ppt_第4页
数据库原理6-1.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库完整性,第5章,第6章,关系数据理论,本章的重点,了解关系模式的冗余和异常,掌握关系数据的标准化理论;掌握数据依赖的定义;掌握数据标准化的原则;了解无损分解的定义和属性,以及维护依赖集的分解方法。第6章,关系数据理论,具体内容,6.1提出问题,6.2规范化,6.3数据依赖的公理系统,6.4模式分解,第6章,关系数据理论,关系:它是笛卡尔乘积的有限子集。关系模式:关系模式是对关系的描述。关系数据库:基于关系模型的数据库,形式上由一组关系组成。关系数据库模式:定义一组关系的全局关系模式。在第6章,关系数据理论,6.1问题提出,第6章关系数据理论中,关系模式可以正式表示为:R(U,d,dom,

2、f),其中:R:关系名。u:组成关系的一组属性名。d:属性组u中的属性来自的域。Dom:属性到域(属性来自哪个域)的映射的集合。f:属性之间的数据依赖集。(域名和属性到域的映射通常直接解释为属性的类型和长度),6.1提出的问题,第6章关系数据理论,6.1提出的问题,6.1提出的问题,关系模型的扩展和内涵:关系模型的扩展关系,基本表或当前值。关系是元组的集合。因为用户经常插入、删除和修改关系,所以关系会随着时间而改变。关系模型意味着关系模式,即关系中数据和数据完整性约束的定义,其中数据的定义包括关系的属性和域的定义和描述,而关键是相对稳定的关系模式的定义和描述。每个关系对应一个关系模式,每个关系

3、模式可以定义多个关系。6.1问题,6.1问题,第6章关系数据理论,1。关系模型的冗余和异常问题(学生编号、姓名、性别、出生日期、籍贯、班级编号、班级名称、班级编号、班长姓名、专业名称、部门编号),6.1问题,6.1问题,数据冗余:浪费很多。操作异常。由于数据的冗余性,在对数据进行操作时会产生各种异常:1 .更新异常、数据冗余,并且在更新数据时维护数据完整性的成本很高。(要更改班级名称,必须修改与班级中每个学生相关的每个元组。)2 .插入异常无法插入插入的数据。(如果一个系刚刚成立,没有学生,我们不能在数据库中存储该系的信息。)3 .删除异常。不应删除的数据必须删除(如果一个班级毕业,我们将同时

4、删除该班级和部门的信息)。第六章关系数据理论,6.1问题,6.1问题,第六章关系数据理论良好模式:不会出现插入异常、删除异常和更新异常,数据冗余应尽可能少。原因:这是由模式中存在的一些数据依赖关系造成的。解决方案:分解关系模式以消除不适当的数据依赖。6.1问题被提出。第六章是关于关系数据理论、班级(班级编号、班级名称、班级编号、班长姓名、专业名称、系号)、学生(学生编号、姓名、性别、出生日期、籍贯、班级编号)以及关系数据库的逻辑设计。对于具体的问题,如何构造一个适合它的数据模型(关系数据库的标准化理论作为数据库逻辑设计的工具)也是可以做到的。规范化理论主要包括三个方面:数据依赖、范式和模式分解

5、。其中,数据依赖研究数据之间的关系,范式是关系模式的标准,模式分解是模式设计的方法,数据依赖起着核心作用。标准化设计理论在关系数据库结构设计中起着重要的作用。第6章,关系数据理论,6.1题,6.1题,6.1题,第6章,关系数据理论,2。什么是数据依赖(1)数据依赖,关系中属性之间的约束关系;真实世界属性之间相互关系的摘要;数据的内在本质;语义学的体现。(2)数据依赖的类型(功能依赖,简称功能依赖);多值依赖;其他,第六章关系数据理论,6.2规范化,6.2.1函数依赖,第六章关系数据理论,函数依赖平凡函数依赖和非平凡函数依赖完全函数依赖和部分函数依赖转移函数依赖,6.2规范化,6.2.1函数依赖

6、,定义6.1让R(U)是属性集U上的一个关系模式,并且X和Y是U的子集。 二元组在X上不可能有相等的属性值,在Y上不可能有不相等的属性值,这就叫做“X函数决定Y”或“Y函数取决于X”,这就叫做XY。 定义6.1假设R(U)是属性集u=a1、a2和an上的关系模式,x和y是U的子集。如果t1Y=t2Y存在于R(U)的任何特定关系R中的任意两个元组t1和t2中,只要t1X=t2X,则称为“x函数决定y”或“y函数取决于x”,表示为XY。第6章,关系数据理论,注释:1。函数依赖不是指关系模式的一个或某些关系满足的约束,而是指关系模式的所有关系都必须满足的约束。2.功能依赖是语义范畴的一个概念。功能依

7、赖只能根据数据的语义来确定。例如,“姓名和年龄”的功能依赖性只能在不允许同名同姓的情况下建立。例如,规定不允许同名同姓的人出现,功能取决于“姓名年龄”。插入的元组必须满足指定的函数依赖关系。如果存在相同的名称,元组将被拒绝加载。6.2规范化,6.2.1功能依赖,第6章关系数据理论,6.2规范化,6.2.1功能依赖,第6章关系数据理论,学生(学生编号,姓名,性别,出生日期,籍贯,班级编号,班级名称,班级编号,班长姓名,专业名称,部门编号)班级编号是班级名称,因此“班级名称”的部分功能取决于(学生编号,班级编号),6.2规范化,6.2.1功能依赖,第6章关系数据理论,定义6.4对如果是这样,k被称

8、为候选键或R(U)的候选键。一般来说,所有候选键中的一个被选为主键。主键也称为主键或主键。定义了6.5对关系模式。包含在任何候选键中的属性称为主属性,不包含在任何候选键中的属性称为非主属性或非键属性。定义6.6对关系模式并设置XU。如果x不是R(U)的主键,但它是另一个关系模式的主键,那么x是外键或R(U)的外键。5.2规范化,5.2.3范式,1。关系模型有六个层次的范式:第一范式(简称1NF)、第二范式(简称2NF)、第三范式(简称3NF)、BC范式(简称BCNF)、第四范式(简称4NF)和第五范式(简称5NF)。范式之间的关系是:1nf 2 nf 3 nffbcnf 4 nf 5 nf。2

9、.关系模式的规范化:通过模式分解将一个低级模式的关系模式转换成几个高级模式的关系模式的过程。第6章,关系数据理论,6.2规范化,6.2.4 1NF,定义6.7如果关系模式的所有属性都是不可分的基本数据项,那么R(U)被称为第一范式,即R(U) 1NF。第一范式存在许多问题,如数据冗余过多、删除异常和插入异常。在第6章,关系数据理论,6.2规范化,6.2.4 2NF,6.8如果定义了R(U)1NF,并且每个非主属性的完整函数依赖于一个候选键,则R(U)被称为第二范式,即R(U)2NF。将一个1NF关系分解成多个2NF关系并不能完全消除关系模式中的各种异常情况和数据冗余。第6章,关系数据理论,6.2规范化,6.2.5 3NF,定义6.9如果假设关系模式R(U)2NF,并且每个非主要属性不转移其功能依赖于R(U)的候选键,那么R(U)被称为第三范式,即R(U)3NF。在将2NF关系分解成多个3NF关系之后,关系模式中的各种异常情况和数据冗余不能被完全消除。第6章,关系数据理论,6.2规范化,6.2.6 BCNF,第6章,关系数据理论,6.2规范化,6.2.6 BCNF,不存在依赖于代码的部分函数的属性和依赖于3NF和BCNF之间关系的传递函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论