现实世界的语义 ①一个系有若千学生,但一个学生只属于一个系 今②一个系只有一名负责人 ③一个学生可以选修多门课程,每门课程有若干 学生选修 ④每个学生学习每一门课程有一个成绩 An Introduction to Database System
❖现实世界的语义: ❖①一个系有若干学生,但一个学生只属于一个系 ❖②一个系只有一名负责人 ❖③一个学生可以选修多门课程,每门课程有若干 学生选修 ❖④每个学生学习每一门课程有一个成绩 An Introduction to Database System
数据依赖对关系模式的影响(续) F={Sno→ Sdept, Sdept→ Mname, (Sno, Cname)→ Grade} SI no Cname G rade Sdept Mname An Introduction to Database System
An Introduction to Database System 数据依赖对关系模式的影响(续) Sno Cname Sdept Mname Grade F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade }
数据依赖对关系模式的影响(续) 令某一时刻关系模式 student的一个实例如下: sno saep mname cho grade S1计算机系 张明 C1 S2计算机系 张明 C1 9 50 S3计算机系 张明 C1 88 S4计算机系 张明 C1 70 S5计算机系 张明 C1 78
An Introduction to Database System 数据依赖对关系模式的影响(续) ❖ 某一时刻关系模式student的一个实例如下: sno sdept mname cno grade S1 S2 S3 S4 S5 . . . 计算机系 计算机系 计算机系 计算机系 计算机系 . . . 张明 张明 张明 张明 张明 . . . C1 C1 C1 C1 C1 . . . 95 90 88 70 78 . .
分析学生关系模式R(S#,SD,MN,CN,G) 这个关系模式存在如下三个问题: 令1刚成立系,无学生,系名和系主任无法插入,插入异常 令2学生全毕业,删学生同时也把主任删除,删除异常 ◆3数据冗余和更新,兄余太大。 令系主任姓名重复出现,次数与该系学生数相同,数据冗余。 方面浪费存储空间,另一方面当更新数据库中的数据时, 系统要付出很大的代价来维护数据库的完整性。 An Introduction to Database System
An Introduction to Database System ❖ 分析学生关系模式R(S#,SD,MN,CN,G) ❖ 这个关系模式存在如下三个问题: ❖ 1.刚成立系,无学生,系名和系主任无法插入,插入异常 ❖ 2.学生全毕业,删学生同时也把主任删除,删除异常 ❖ 3.数据冗余和更新,冗余太大。 ❖ 系主任姓名重复出现,次数与该系学生数相同,数据冗余。 一方面浪费存储空间,另一方面当更新数据库中的数据时, 系统要付出很大的代价来维护数据库的完整性
数据依赖对关系模式的影响(续) 结论: ■ Student关系模式不是一个好的模式。 “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适的数据依赖 An Introduction to Database System
An Introduction to Database System 数据依赖对关系模式的影响(续) 结论: ◼ Student关系模式不是一个好的模式。 ◼ “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适的数据依赖