第3讲关系数据库原理(关系的完整性和规范化)_第1页
第3讲关系数据库原理(关系的完整性和规范化)_第2页
第3讲关系数据库原理(关系的完整性和规范化)_第3页
第3讲关系数据库原理(关系的完整性和规范化)_第4页
第3讲关系数据库原理(关系的完整性和规范化)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

SQL

Server2005第1章 关系数据库原理——关系的完整性和关系的规范化主讲人:段利文第3讲第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化2复习什么是关键字/码/键?什么是主关键字/主码/主键?ER图转化为关系模式的原则是什么?答:是能用来惟一标识元组的属性或属性组合。答:被指定为关键字的候选关键字,称为~。答:(1)每个实体转换为一个关系。每个联系也转换成一个关系。有相同码的关系可以合并。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化3复习关系应具备什么性质?答:(1)关系中每一个属性值都是不可分解的。关系中不允许出现相同的行。关系中不允许出现相同的列。关系中没有行序、没有列序。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化4第1章 关系数据库原理——关系的完整性规则、规范化教学内容关系的完整性规则实体完整性、参照完整性、域完整性函数依赖完全函数依赖、部分函数依赖、传递函数依赖关系的规范化第一范式、第二范式、第三范式第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化5第1章 关系数据库原理——关系的完整性规则、规范化学习目标认知目标:理解关系的完整性规则了解函数依赖、关系规范化的含义理解三种范式的定义能力目标:能判别关系的范式类别 (重点、难点)能进行范式的分解(重点、难点)第3讲一、关系的完整性规则定义是对关系的某种约束条件。目的用于保证关系数据库中数据的正确性和可靠性。类型实体完整性规则参照完整性规则(引用完整性规则

)域完整性规则(用户自定义完整性规则)是关系模型必须满足的完整性约束条件。第1章关系数据库原理—关系的完整性规则、关系的规范化6第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化7一、关系的完整性规则1.实体完整性规则规则要求:在任何关系的任何一个元组中,主键的值不能为空

值、也不能取重复的值。目的:用于保证数据库表中的每一个元组都是惟

一的。请思考:下面的关系是否违反实体完整性规则?学号姓名性别年龄系编号03001马力刚男210103102王萍华女200203223王平男2103张华男220403001李萍女1905第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化8一、关系的完整性规则2.域完整性规则(用户定义完整性规则)规则要求由用户根据实际情况,定义表中属性的取值范围例如:性别只能是男和女、年龄不能为负值、成绩在0—100之间等。目的用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化9一、关系的完整性规则3.参照完整性规则(引用完整性规则)规则要求:“不引用不存在的实体”。即:不允许在一个关系中引用另一个关系中不存在的元组。目的用于确保相关联的表间的数据保持一致。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化10一、关系的完整性规则3.参照完整性规则(引用完整性规则)请思考:下面两个关系是否违反参照完整性规则?

系表(主表) 学生表(从表)说明从表的“系编号(外键)”的取值只能为两种情况:若取非空值,则它必须是主表中存在的值。取空值(null)。表明尚未给学生分配专业。Null不等于0或空字符串。学号姓名性别年龄系编号03001马力刚男210103102王萍华女2003223王平男2105系编号系名系主任办公室电话01计算机龚小勇205600302通信谭中华207602503电子袁

勇2106018第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化11二、函数依赖1.概念、类型函数依赖是指关系中各属性或属性组之间的相互依赖关系。它是关系规范化的理论基础。函数依赖的定义给定一个关系模式R,X和Y都是R的属性或属性组,对于X的每

个确定值在任何时刻Y只有一个确定的值与之对应,则称“X函数决定Y”,或称为“Y函数依赖于X”,X称为决定因素,记为:

X→Y。函数依赖的类型完全函数依赖部分函数依赖传递函数依赖第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化12二、函数依赖2.完全函数依赖定义如果属性Y函数依赖于复合属性X,且不与X的任何子集函数相依赖,则称“Y完全函数依赖于

X”。示例有如下的关系模式:生产(工厂编号,产品编号,计划数量)“工厂编号+产品编号”

→“计划数量”,是完全函数依赖。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化13二、函数依赖3.部分函数依赖(局部依赖)定义对于一个函数依赖:X→Y,如果存在Z∈X(Z

属于X),且有Z→Y成立,则称“Y部分函数依赖于X”。示例有如下的关系模式SCD(学号,姓名,课程号,成绩,系名,系主任)主码为复合码:学号+课程号“姓名、系名、系主任”与主码是部分函数依赖第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化14二、函数依赖4.传递函数依赖定义在关系模式中,如果X→Y(不能Y→X),Y→Z,

若存在X→Z ,则称“Z传递依赖于X”。示例有如下的关系模式SD(学号,姓名,系名,系主任)“学号→系名,系名→系主任”,则系主任传递依赖

于学号。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化15三、关系的规范化引在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相

同的,为了区分关系模式的优劣,人们常常把

关系模式分为各种不同等级的范式。第3讲三、关系的规范化1.

概念和范式的类型类型第一范式(1NF)第二范式(2NF)第三范式(3NF)……关系规范化的概念将低级范式转换为若干个高级范式过程。低第1章关系数据库原理—关系的完整性规则、关系的规范化16高第3讲三、关系的规范化2.第一范式(1NF)定义如果关系模式R的所有属性的值域中第一个值都是不可

再分解值,则称R是属于1NF模式。第一范式是对关系的最低要求。示例:判断哪一张表是1NF?第1章关系数据库原理—关系的完整性规则、关系的规范化17第3讲三、关系的规范化2.第一范式(1NF)第一范式可能存在的问题:数据冗余:如各位老师的信息重复。插入异常:如果要插入刘老师的个人信息,但刘老师未开

课,会造成缺关键字“学号”、“课程号”。删除异常:当要删除 课程号=“C3”

的元组,会丢失李老师的信息。修改量大。第1章关系数据库原理—关系的完整性规则、关系的规范化18学号课程号成绩教师教师年龄办公室01C190王342-1401C278周451-0102C185王342-1403C357李273-1503C277周451-0104C183王342-14第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化19三、关系的规范化3.第二范式(2NF)定义如果关系模式R为第一范式,且R中每个非主属性完全

函数依赖于R的主码(复合码),则称R为2NF模式。示例下列关系模式是1NF,是否是2NF?为什么?SCD(学号,姓名,课程号,成绩,系名,系主任)主码为复合码:学号+课程号解决方法:消除部分函数依赖。不是。因为:“姓名、系名、系主任”与主码是部分函数依赖(即:只依赖于学号)第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化20三、关系的规范化3.第二范式(2NF)分解为2NF的方法:把关系模式中对主码完全函数依赖的非主属性与决定它们的主码放在一个关系模式中。把对主码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中。检查分解后的新模式,如果仍不是2NF,则继续按照前面的方法进行分解,直到达到要求。关系模式SCD的分解结果如下:SC(学号,课程号,成绩)SD(学号,姓名,系名,系主任)第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化21三、关系的规范化4.第三范式(3NF)定义如果关系模式R为第二范式,且R中每个非主属

性都不传递函数依赖于R的某个候选码,则称R为3NF模式。示例下列关系模式是2NF,是否为3NF?为什么?

SD(学号,姓名,系名,系主任)解决方法:消除传递函数依赖。不是。因为:学号→系名,系名→系主任,存在传递依赖关系。第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化22三、关系的规范化4.第三范式(3NF)分解为3NF的方法:把直接对主码函数依赖的非主属性与决定它们的主码放在一个关系模式中。把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中。检查分解后的新模式,如果不是3NF,则继续按照前面

的方法进行分解,直到达到要求。关系模式SD的分解结果如下:SD(学号,姓名,系名)SD(系名,系主任)第3讲三、关系的规范化5.各范式间的关系各范式之间的关系第1章关系数据库原理—关系的完整性规则、关系的规范化23第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化24四、综合应用实例:假设某商业集团数据库中有1个关系模式R(商店编号,商品编号,数量,部门编号,负责人)。如果规定:(1)每个商店的每种商品只在一个部门销售。

(2)每个商店的每个部门只有一个负责人。

(3)每个商店的每种商品只有一个库存数量。写出关系模式R的基本函数依赖集找出关系模式R的候选码。关系模式R最高已经达到第几范式?为什么?如果R不属于3NF,请将R分解成3NF。第3讲四、综合应用分析与解答:1.

基本的函数依赖有:(商店编号+商品编号)→部门编号(商店编号+部门编号)→负责人(商店编号+商品编号)→数量2.

由题意,上面的函数依赖可知“商店编号

”是主属性,商品编号也是主属性,由这两个属性,可以确定关系元组的所有属性,所以R的候选码是:商店编号+商品编号。第1章关系数据库原理—关系的完整性规则、关系的规范化25第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化26四、综合应用分析与解答:R(商店编号,商品编号,数量,部门编号,负

责人) 最高已达到2NF。因为负责人是码的传递依赖。要达到3NF,必须消除非主属性对码的传

递依赖。对R分解后的两个模式如下:R1(商店编号,商品编号,数量,部门编号)R2(部门编号,负责人)第3讲第1章关系数据库原理—关系的完整性规则、关系的规范化27本课小结关系的完整性规则实体完整性/参照完整性/域完整性范式的类型1NF、2NF、3NF各范式间的关系:1NF中的每个属性值是不可再分的,它是关系模式的最低要求。消除1NF中的部分函数依赖

温馨提示

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

评论

0/150

提交评论