第4章数据库技术及应用(编辑修改稿)内容摘要:

依赖的关系 :学生住宿的 ‚ 楼号 ‛ 依赖于 ‚ 学号 ‛ ,学生应交的住宿费是由 ‚ 楼号 ‛ 决定的,即 ‚ 收费 ‛ 依赖于‚ 楼号 ‛ , ‚ 楼号 ‛ 依赖于 ‚ 学号 ‛ 、而 ‚ 收费 ‛ 又依赖于‚ 楼号 ‛ 学号 楼号 收费 100 2 500 120 4 600 130 2 500 150 8 800 180 2 500 学生住宿收费表 (有传递依赖的关系) 学号  楼号 楼号  收费 所以, 学号  收费 t 学号 楼号 楼号 收费1 0 0 2 2 5 0 01 2 0 4 4 6 0 01 3 0 2 2 5 0 01 5 0 8 8 8 0 01 8 0 2 2 5 0 0进行分解,可以 消除传递依赖 下一页 上一页 第 50/共 67页 关系规范化 —— 范式 关系规范化有不同的标准,将规范标准称之为范式。 可以把范式看成是用范式定义消除数据冗余的程度。 范式分为:  第一范式 ——1NF  第二范式 ——2NF  第三范式 ——3NF  BoyceCodd范式 ——BCNF  第四范式 ——4NF  第五范式 ——5NF 它们满足下列关系: 5NF  4NF  BCNF  3NF  2NF  1NF 下一页 上一页 第 51/共 67页 非规范化关系 表中具有复合数据项和多值数据项的都不是规范化的表。 职工号 姓 名 工 资 基本工资 职务工资 工龄工资 职工号 姓 名 学历 系办公地址 毕业年份 系名 职称 001 002 张强 李刚 教授 讲师 计算机 1205 大学 研究生 1963 1982 电信 2204 大学 1989 复合数据项 多值数据项 下一页 上一页 第 52/共 67页 转化非规范化关系举例 表中具有复合数据项和多值数据项的都不是规范化的表。 职工号 姓 名 基本工资 职务工资 工龄工资 职工号 姓 名 学历 系办公地址 毕业年份 系名 职称 001 002 张强 李刚 教授 讲师 计算机 1205 大学 1963 电信 2204 大学 1989 消除复合数据项 消除多值数据项 研究生 1982 001 张强 教授 计算机 1205 下一页 上一页 第 53/共 67页 第一范式 —— 1NF 定义:所有符合关系定义(二维表格)的关系被称为规范关系,或称为第一范式,记为 1NF。 或曰: 每个属性都必须是原子值,即仅仅是一个简单值而不含内部结构。 如果关系模式 R的每个关系的各个属性值都是基本数据项,则称 R为第一范式。 下一页 上一页 第 54/共 67页 第一范式的讨论 关系 BORROW虽然满足了 1NF,但还存在不规范的问题。 数据冗余 一个学生要借 10本书,他的有关信息要重复存放 10次; 插入问题 若某学生没借过书,则有关信息无法插入;因为,作为主关键字(借书证号,书号)的 ‚ 书号 ‛ 无值; 删除问题 若某学生归还了借阅的全部图书,则有关他的信息将全被删除(丢失)。 结论: 作为关系模式来说,在某些应用中,只满足 1NF还不够,还要进一步规范化。 下一页 上一页 第 55/共 67页 第二范式 —— 2NF 如果 R是 1NF,并且每个非主属性都完全函数依赖于关键字, 则称 R为第二范式,记为 2NF。 关系 BORROW不是第二范式,因为其属性 ‚ 姓名 ‛ 、‚ 单位 ‛ 、 ‚ 住址 ‛ 、 ‚ 书名 ‛ 都不完全函数依赖于唯一的候选关键字 {借书证号,书号 }。 作下列投影运算,就可将其分解为 2NF的关系: READER = 借书证号、姓名、单位、住址( BORROW) BOOK =  书号、书名( BORROW) BORROW =  借书证号、书号、日期( BORROW) 下一页 上一页 第 56/共 67页 2NF的关系( a) READER关系 借书证号 姓 名 单 位 住 址 8612101 陆华 自控 86 女生宿舍 206 0621 张山 自控教研室 花园路 312号 8612103 何白 自控 86 女生宿舍 206 8603211 李维 自控 86 男生宿舍 101 书号 书 名 6201 自控原理 3104 数据处理 5112 晶体管电路 0116 机械制造 0229 金相分析 2NF的关系 BOOK 下一页 上一页 第 57/共 67页 2NF的关系( c)关系 BORROW 借书证号 书 号 日 期 8612102 6201 0621 6201 0621 3104 0621 5112 8612103 5112 8603211 0116 8603211 0229 下一页 上一页 第 58/共 67页 关系 BICYCLE 品 名 厂 家 厂 长 产地 年产量 单 价 黄山牌 26男车 黄山自行车厂 刘同利 合肥 20200 黄山牌 26坤车 黄山自行车厂 刘同利 合肥 23000 红旗牌 24坤车 海河自行车厂 王山 天津 76000 大象牌 28男车 生发自行车厂 丁三元 广州 10000 大象牌 28加重 生发自行车厂 丁三元 广州 50000 大象牌 28跑车 生发自行车厂 丁三元 广州 10000 大象牌 26男车 生发自行车厂 丁三元 广州 30000 大象牌 26坤车 生发自行车厂 丁三元 广州 50000 大象牌 24坤车 生发自行车厂 丁三元 广州 10000 下一页 上一页 第 59/共 67页 第三范式 —— 3NF 如果关系模式 R满足 2NF,且它的任何一个非主属性都不传递依赖于任何候选关键字,则称 R为第三范式,记为 3NF。 例关系 BICYCLE满足第二范式,但不满足第三范式,因为: t t 品名  厂家, 厂家  厂长 去掉其中的传递依赖关系,即可得到满足第三范式的关系。 例如,新关系 BICYCLE和( c)新关系BICYCLE_PLANT。 t t 品名  厂家, 厂家  产地 下一页 上一页 第 60/共 67页 第三范式 —— 3NF 举例 品 名 厂 家 厂 长 产地 年产量 单 价 黄山牌 26男车 黄山自行车厂 刘同利 合肥 20200 黄山牌 26坤车 黄山自行车厂 刘同利 合肥 23000 红旗牌 24坤车 海河自行车厂 王山 天津 76000 大象牌 28男车 生发自行车厂 丁三元 广州 10000 大象牌 28加重 生发自行车厂 丁三元 广州 50000 大象牌 28跑车 生发自行车厂 丁三元 广州 10000 大象牌 26男车 生发自行车厂 丁三元 广州 30000 大象牌 26坤车 生发自行车厂 丁三元 广州 50000 大象牌 24坤车 生发自行车厂 丁三元 广州 10000 (a)关系 BICYCLE 下一页 上一页 第 61/共 67页 第三范式 —— 3NF 举例 经投影操作: BICYCLE= 品名、厂家、年产量、单价( BICYCLE) 得: 品 名 厂 家 年产量 单 价 黄山牌 26男车 黄山自行车厂 20200 黄山牌 26坤车 黄山自行车厂 23000 红旗牌 24坤车 海河自行车厂 76000 大象牌 28男车 生发自行车厂 10000 大象牌 28加重 生发自行车厂 50000 大象牌 28跑车 生发自行车厂 10000 大象牌 26男车 生发自行车厂 30000 大象牌 26坤车 生发自行车厂 50000 大象牌 24坤车 生发自行车厂 10000 (b)新关系 BICYCLE 下一页 上一页 第 62/共 67页 第三范式 —— 3NF 举例 经投影操作: BICYCLE_PLANT=厂家 ,厂长 ,产地 (BICYCLE),得 厂 家 厂 长 产 地 黄山自行车厂 刘同利 合肥 海河自行车厂 王山 天津 生发自行车厂 丁三元 广州 (c)新关系 BICYCLE_PLANT 新关系 (b)BICYCLE和 (c)BICYCLE_PLANT 满足第三范式的关系。 下一页 上一页 第 63/共 67页 综合举例 SCT关系 SCT关系是由 S(学号)、 C(课程号), GRADE(成绩)、 TNAME(教师姓名)、 TAGE(教师年龄)、 OFFICE(办公室)属性组成。 SCT是 1NF,而不是 2NF。 因为( S, C)是 SCT的候选关键字, TNAME是非主属性, C是( S, C)的一个真子集,CTNAME。 S C GRADE TNAME TAGE OFFICE S1 C1 90 周 45 301 S1 C2 91 刘 39 302 S1 C3 85 刘 39 30 S1 C4 87 王 51 301 S2 C1 92 周 45 301 S3 C1 75 周 45 301 S3 C2 56 刘 39 302 SCT关系 (学生课程教师关系) 下一页 上一页 第 64/共 67页 SCT从 1NF分解为 2NF 将 SCT关系分解为两个子关系 SC和 CT,即 SC( S, C,GRADE)、 CT( C, TNAME, TAGE, OFFICE),即得到两个 2NF关系。 S C GRADE S1 C1 90 S1 C2 91 S1 C3 85 S1 C4 87 S2 C1 92 S3 C1 75。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。