@ 《数据库原理及应用》 第8章数据库设计理论 新疆大学 软件学院 张灵飞 nickzhlf@163.com 2025年2月24日星期一 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 新疆大学 软件学院 张灵飞 nickzhlf@163.com 2025年2月24日星期一 《数据库原理及应用》 第8章 数据库设计理论
本章内容 1 关系模式设计问题 2 函数依赖 3 模式分解 4 规范化 5 *多值依赖 6 *连接依赖 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 1 Click to add Title 关系模式设计问题 2 Click to add Title 函数依赖 23 Click to add Title 模式分解 14 Click to add Title 规范化 15 Click to add Title *多值依赖 26 Click to add Title *连接依赖
数据库设计问题 ■如何构造一个合适的数据库模式? ◆应该构造几个关系模式? ◆每个关系应该由哪些属性组成? ■思考:教务管理数据库模式? ■数据库逻辑设计的工具 ◆关系数据库的规范化理论 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 如何构造一个合适的数据库模式? ◆应该构造几个关系模式? ◆每个关系应该由哪些属性组成? ◼ 思考:教务管理数据库模式? ◼ 数据库逻辑设计的工具 ◆关系数据库的规范化理论
数据库设计问题 ■关系模式的五元组表示:R(U,D,DOM,F) ◆R:关系名 ◆U:组成该关系的属性名集合 ◆D:属性组U中属性所来自的域 ◆DOM:属性向域的映象集合 ◆F:属性间数据的依赖关系集合 ■关系模式的简化三元组表示:R(U,F) ■数据依赖举例 ◆医生姓名、医生职称、医生年龄与医生编号之间的关系? 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 关系模式的五元组表示: R(U, D, DOM, F) ◆R:关系名 ◆U:组成该关系的属性名集合 ◆D:属性组U中属性所来自的域 ◆DOM:属性向域的映象集合 ◆F:属性间数据的依赖关系集合 ◼ 关系模式的简化三元组表示: R(U, F) ◼ 数据依赖举例 ◆医生姓名、医生职称、医生年龄与医生编号之间的关系?
设计问题 不好的模式举例 ■关系模式实例 Dname Dlevel Dsalary Pname Fsum 罗晓 主任医师 3200 张珍 ¥30.00 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 35.00 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 关系模式实例 ◆设有一个医生与患者之间的就诊关系模式R(Dname,Dlevel, Dsal,Pname,Fsum),其属性分别表示医生姓名、医生职称 级别、医生工资、患者姓名、诊治费用。 ◼ R上的语义: ◆假设医生和患者的姓名分别都是唯一的。 ◆医生与患者之间是多对多的关系,即医生可以为不同的患者看病, 同时患者可以选择不同的医生。假设同一名患者不看相同的医生, 即可以选择Dname和Pname作为就诊关系模式R的主键。 ◆一位患者每次就诊都有一个花销总金额。 ◆每位医生具有相应的职称级别。 ◆职称级别决定了医生的工资金额。 Dname Dlevel Dsalary Pname Fsum 罗晓 主任医师 3200 张珍 ¥30.00 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 ¥35.00
设计问题 不好的模式举例 ■ 可以确定以下函数依赖: F ={Dname,Pname)Fsum, DnameDlevel, Dlevel-→Dsal} Dname Pname Fsum Dlevel Dsal 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 可以确定以下函数依赖: F = { {Dname,Pname}→Fsum, Dname→Dlevel, Dlevel→Dsal } Dname Pname Dlevel Dsal Fsum
设计问题 不好的模式举例 ■ 就诊模式R存在的问题(虽然只有5个属性): ◆数据冗余:浪费存储空间,引起异常。 ◆操作异常: ●更新异常(Update Anomalies)。 ●删除异常(Delete Anomalies)。 ●插入异常(Insert Anomalies)。 因此,就诊关系模式R不是一个好的关系模式。 Dname Dlevel Dsalary Pname Fsum 罗晓 主任医师 3200 张珍 ¥30.00 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 ¥35.00 新疆大学软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 就诊模式R存在的问题(虽然只有5个属性): ◆数据冗余:浪费存储空间,引起异常。 ◆操作异常: ⚫ 更新异常(Update Anomalies)。 ⚫ 删除异常(Delete Anomalies)。 ⚫ 插入异常(Insert Anomalies)。 ◼ 因此,就诊关系模式R不是一个好的关系模式。 Dname Dlevel Dsalary Pname Fsum 罗晓 主任医师 3200 张珍 ¥30.00 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 ¥35.00
设计问题 不好的模式举例 ■ 消除冗余和异常现象(模式分解) ◆R1(Dname,Dlevel) Dname Dlevel Dsalary Pname Fsum ◆R2(Dlevel,Dsal) 罗晓 主任医师 3200 张珍 ¥30.00 R3 (Dname,Pname,Fsur 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 ¥35.00 (a)R1的实例 (6)R2的武别 (c》R3的卖列 Dname Dlevel Dlevel Dialary Dname Pname Faum 罗说 兰任居用 制主任是师 2800 可说 张珍 30.00 杨动 主任师 主任思师 3200 杨动 张珍 0.00 对克翅 主治三师 主治三生 2400 杨的 刘景 55.00 杨动 张粉 8.00 对点翅 李秀 ¥75.00 罗迷 等信相 35.00
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 消除冗余和异常现象(模式分解) ◆R1(Dname,Dlevel) ◆R2(Dlevel,Dsal) ◆R3(Dname,Pname,Fsum) Dname Dlevel Dsalary Pname Fsum 罗晓 主任医师 3200 张珍 ¥30.00 杨勋 副主任医师 2800 张珍 ¥50.00 杨勋 副主任医师 2800 刘景 ¥55.00 杨勋 副主任医师 2800 张柳 ¥58.00 邓英超 主治医师 2400 李秀 ¥75.00 罗晓 主任医师 3200 傅伟相 ¥35.00
本章内容 关系模式设计问题 函数依赖 3 模式分解 规范化 *多值依赖 *连接依赖 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 1 Click to add Title 关系模式设计问题 2 Click to add Title 函数依赖 23 Click to add Title 模式分解 14 Click to add Title 规范化 15 Click to add Title *多值依赖 26 Click to add Title *连接依赖
函数依赖 数据依赖 ■什么是数据依赖? ◆是现实世界属性间相互联系的抽象 ◆是数据内在的性质 ◆是语义的体现 ■数据依赖的类型 ◆函数依赖(Functional Dependency,简记为FD) ◆多值依赖(Multivalued Dependency,简记为MVD) 新疆大学软件学院 爱,激情,进取,感恩 2025年2月24日10时29分
新疆大学 软件学院 爱,激情, 进取,感恩 2025年2月24日10时29分 ◼ 什么是数据依赖? ◆是现实世界属性间相互联系的抽象 ◆是数据内在的性质 ◆是语义的体现 ◼ 数据依赖的类型 ◆函数依赖(Functional Dependency,简记为FD) ◆多值依赖(Multivalued Dependency,简记为MVD)