第5讲 关系完整性规则和规范化要求
时间:2025-07-07
时间:2025-07-07
第5讲 关系完整性规则和规范化理论
1 关系完整性规则(掌握) 1 关系规范化的作用(了解)2 关系模式的规范化理论与方法(重点与难点)
教学目标 要求学生掌握关系模式的3个完整性规则 要求学生了解关系模式的设计问题,掌握函数依赖 和多值依赖的定义和含义,能够应用关系模式的范 式及关系模式的分解特性解决实际的关系数据库设 计问题…
教学要求&重点与难点 本讲的理论性和应用性都比较强,学生应 从概念着手,弄清概念之间的联系和作用。 了解关系数据库规范化理论及其在数据库 设计中的作用。 本讲的重点是函数依赖和范式,学生必须 掌握这些概念并能在实际问题中加以运用, 为以后设计关系数据库奠定一个良好基础。
章前导读关系数据库设计主要是关系模式设计。关系模式设 计的好坏将直接影响数据库的质量。 什么是好的关系模式?……
要求设计一个教学管理数据库,希望从该数据库中经常得 到下面的有关信息:学生学号,学生姓名,年龄,性别, 系别,系主任姓名,学生学习的课程号,该课程的成绩等。 该怎样设计该数据库的关系模式?
S(Sno,Sname,Sage,Sex,Dept,DN,Cno,Cname,Score)
不好的关系模式引发的问题引例:下表关系模型存在如下4方面的问题。 插入异常 删除异常 数据冗余 更新异常一个不好的关系模式——订货关系 订货单 号供应商代 码
供应商名称 华科电子有限公 司 华科电子有限公 司 湘江计算机公司
联系人 施宾彬 施宾彬 方胜力
商品名称 笔记本计算 机 激光打印机 笔记本计算 机
订货数 量 10 5 5
单价 9800 2800 1020 0
日期 2011.1.2 2011.1.2 2011.8.1 25
A20120 S001 1 A20120 S001 2 A20120 S002 3
二、关系的完整性规则1.实体完整性规则(关系的不变性)规则要求: 在任何关系的任何一个元组中,主键的值不能为空值、 也不能取重复的值。 目的:用于保证数据库表中的每一个元组都是惟一的。 请思考:下面的关系是否违反实体完整性规则?学号 03001 03102 03223 03001 姓名 马力刚 王萍华 王平 张华 李萍 性别 男 女 男 男 女 年龄 21 20 21 22 19 系编号 01 02 03 04 05
二、关系的完整性规则2.域完整性规则(用户定义完整性规则) 规则要求由用户根据实际情况,定义表中属性的取值范围 例如:性别只能是男和女、年龄不能为负值、成 绩在0—100之间等。
目的 用于保证给定字段中数据的有效性,即保证数据 的取值在有效的范围内。
二、关系的完整性规则3.参照完整性规则(引用完整性规则) 规则要求: “不引用不存在的实体”。即:不允许在一个 关系中引用另一个关系中不存在的元组。 目的 在
关系数据库中通常用外码来实现参照完整性 的,用于确保相关联的表间的数据保持一致。
以主表的主键( 请思考:下面两个关系是否违反参照完整性规则? primary key)值 系表(主表) 学生表(从表) 为外键 (Foreign Key)的表,可以通 过外键与主表进行 学号 姓名 性别 年龄 关联查询 系编号 系编号 系名 系主任 办公室 电话01 02 03 计算机 通信 电子 龚小勇 谭中华 袁 勇 205 207 210 6003 6025 6018 03001 03102 03223 马力刚 王萍华 王平 男 女 男 21 20 21 05 01
√ ×
上面两个关系存在着属性的引用,即学生关系引用了系关系的主码“系编号”
说明 从学生表的“系编号(外键)”的取值只能为两种情况:
若取非空值,则它必须是主表中存在的值。 取空值(null)。表明尚未给学生分配专业。Null不等于0或空字符串。
规范化问题 一个好的关系数据库模式,到底包括多少 个关系模式,而每个关系模式又应该包括 哪些属性(字段),这就是关系数据库设 计要解决的主要问题,或者说,这就是数 据库逻辑设计要解决的规范化问题
不好的关系模式引发的问题引例:下表关系模型存在如下4方面的问题。 插入异常 一个不好的关系模式——订货关系 删除异常 数据冗余 更新异常订货单号 A201201 A201202 A201203 供应商代 码 S001 S001 S002 供应商名称 华科电子有限公司 华科电子有限公司 湘江计算机公司 联系人 施宾彬 施宾彬 方胜力 商品名称 笔记本计算机 激光打印机 笔记本计算机 订货数量 10 5 5 单价 9800 2800 10200 日期 2011.1. 2 2011.1. 2 2011.8. 12
A201204A201205
S003S003
韦力电子实业公司韦力电子实业公司
周昌周昌
喷墨打印机交换机
52
4808500
2011.8. 12 112011-
上述订货关系模式的问题分析 插入异常 新发展了一个供应商,但没有订货,无法插 入该供应商信息。 删除异常 如果删除某些订货信息,则连供应商的信息 也会被删除。 数据冗余和更新异常 供应商的名称出现了重复。 如果某供应商更换了联系人,则所有的订货 信息都要更新,漏掉一处就会造成数据不一 12 致。
上述订货关系模式的问题的解决方法 对关系模式进行分解,分成两个表,上述异常 问题就完全解决了。
供应商关系供应商代 码
订货关系
供应商名 称 华科电子 有限公司 湘江计算 机公司 韦力电子 实业公司
联系人 施宾彬 方胜力 周昌
订货单 号
供应商 代码
商品 名称
S001 S002 S003
订 货 数 量 10
日期
单价
A20120 S001 1 A20120 S001 2 A20120 S002 3
笔记 本计 算机 激 …… 此处隐藏:755字,全部文档内容请下载后查看。喜欢就下载吧 ……