五、数据依赖对关系模式的影响 例:描述学校的数据库 学生的学号(Sno)、所在系( Sdept) 系主任姓名( Mname)、课程名( Cname) 成绩( grade) 单一的关系模式: Student<U、F> U=I Sno, Sdept, Mname Cname grade An Introduction to Database System
An Introduction to Database System 五、数据依赖对关系模式的影响 例:描述学校的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student <U、F> U ={ Sno, Sdept, Mname, Cname, Grade }
数据依赖对关系模式的影响(续) 学校数据库的语义: 1.一个系有若干学生,一个学生只属于一个系; 个系只有一名主任; 3.一个学生可以选修多门课程,每门课程有若干学 生选修 4.每个学生所学的每门课程都有一个成绩。 An Introduction to Database Sy
An Introduction to Database System 数据依赖对关系模式的影响(续) 学校数据库的语义: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系只有一名主任; ⒊ 一个学生可以选修多门课程, 每门课程有若干学 生选修; ⒋ 每个学生所学的每门课程都有一个成绩
数据依赖对关系模式的影响(续) 属性组U上的一组函数依赖F: F={Sno→ Sdept, Sdept→ Mname, (Sno, Cname)→ Grade} SI no Cname Grade Sdept Mname An Introduction to Database System
An Introduction to Database System 数据依赖对关系模式的影响(续) 属性组U上的一组函数依赖F: F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade } Sno Cname Sdept Mname Grade
关系模式 Student<U,F>中存在的问题 据冗余太大 ■浪费大量的存储空间 例:每一个系主任的姓名重复出现 2.更新异常( Update Anomalies) ■数据冗余,更新数据时,维护数据完整性代价大。 例:某系更换系主任后,系统必须修改与该系学生有 关的每一个元组 An Introduction to Database Sy
An Introduction to Database System 关系模式Student<U, F>中存在的问题 ⒈ 数据冗余太大 ◼ 浪费大量的存储空间 例:每一个系主任的姓名重复出现 ⒉ 更新异常(Update Anomalies) ◼ 数据冗余 ,更新数据时,维护数据完整性代价大。 例:某系更换系主任后,系统必须修改与该系学生有 关的每一个元组
关系模式 Student<U,F>中存在的问题 3.插入异常( Insertion anomalies) 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这 个系及其系主任的信息存入数据库 4.删除异常( Deletion anoma|ies) ■不该删除的数据不得不删 例,如果某个系的学生全部毕业了,我们在删除该系 学生信息的同时,把这个系及其系主任的信息也丢掉 An Introduction to Database System
An Introduction to Database System 关系模式Student<U, F>中存在的问题 ⒊ 插入异常(Insertion Anomalies) ◼ 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这 个系及其系主任的信息存入数据库。 ⒋ 删除异常(Deletion Anomalies) ◼ 不该删除的数据不得不删 例,如果某个系的学生全部毕业了, 我们在删除该系 学生信息的同时,把这个系及其系主任的信息也丢掉 了