西北意林新校大学 信息、工程学院 第6章关系数据理论
第6章 关系数据理论
6.1问题的提出 关条数据库逻辑设计 ·针对具体问题,如何构造一个适合于它的数据模 式,即应该构造几个关系模式,每个关系由哪些 属性组成。 ■设计任何一个数据库应用条统,不论是层次的、 网状的还是关系的,都会遇到如何构造合适的数 据模式即逻辑结构的问题 ■数据库逻辑设计的一个有力工具一关系数据库的 规范化理论。 An Introduction to Database System
An Introduction to Database System 6.1 问题的提出 关系数据库逻辑设计 ◼ 针对具体问题,如何构造一个适合于它的数据模 式,即应该构造几个关系模式,每个关系由哪些 属性组成。 ◼ 设计任何一个数据库应用系统,不论是层次的、 网状的还是关系的,都会遇到如何构造合适的数 据模式即逻辑结构的问题 ◼ 数据库逻辑设计的一个有力工具──关系数据库的 规范化理论
概念回顾 关系:表示实体,实体与实体间的联系。 ■从形式上看,它是一张二维表,是所涉及属性的笛 卡尔积的一个子集。 ■关系模式:关系的描述称为关系模式。 ■关系模式由五部分组成,即它是一个五元组: R(U,D,DOM,F) R: 关系名 0: 组成该关系的属性名集合 D; 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合 An Introduction to Database System
An Introduction to Database System 一、概念回顾 ◼ 关系:表示实体,实体与实体间的联系。 ◼ 从形式上看,它是一张二维表,是所涉及属性的笛 卡尔积的一个子集。 ◼ 关系模式:关系的描述称为关系模式。 ◼ 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合
二、关系模式的简化表示 ●关象模式R(U,D,DOM,F) 简化为一个三元组: R (U,F) 。当且仅当U上的一个关条r满足F时,【称为关条 模式R(U,F)的一个关系 An Introduction to Database System
An Introduction to Database System 二、关系模式的简化表示 ● 关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) ● 当且仅当U上的一个关系r 满足F时,r称为关系 模式 R(U, F)的一个关系
三、什么是数据依赖 ■数据依赖是一个关系内部属性与属性之间的一种约束 关系。这种约束关象是通过属性间值的相等与否体现 出来的数据间相关联系。 ■它是现实世界属性间相互联系的抽象,是数据内在的 性质,是语义的体现。 ■人们己经提出了许多种类型的数据依赖,其中最主要 的是: ■函数依赖(Functional Dependency,简记为FD) ■多值依赖(Multivalued Dependency,简记为MVD) An Introduction to Database System
An Introduction to Database System 三、什么是数据依赖 ◼ 数据依赖是一个关系内部属性与属性之间的一种约束 关系。这种约束关系是通过属性间值的相等与否体现 出来的数据间相关联系。 ◼ 它是现实世界属性间相互联系的抽象,是数据内在的 性质,是语义的体现。 ◼ 人们已经提出了许多种类型的数据依赖,其中最主要 的是: ◼ 函数依赖(Functional Dependency,简记为FD) ◼ 多值依赖(Multivalued Dependency,简记为MVD)
四、一个实例 例:建立一个描述学生情况的数据库,面临的对象有: 学生:用学号(Sno)描述, 系:用系名(Sdept)描述 系主任:用其姓名(Mname)描述 课程:用课程号(Cno)描述 成绩:Grade 假设用单一的关系模式$来表示,属性集合为: U=(Sno,Sdept,Mname,Cno,Grade An Introduction to Database System
An Introduction to Database System 四、一个实例 例:建立一个描述学生情况的数据库,面临的对象有: 学生:用学号(Sno)描述, 系:用系名(Sdept)描述 系主任:用其姓名(Mname)描述 课程:用课程号(Cno)描述 成绩:Grade 假设用单一的关系模式S来表示,属性集合为: U ={ Sno, Sdept, Mname, Cno, Grade }
一个实例(续) 由现实世界的已知事实得知: 1.一个系有若干学生,一个学生只属于一个系; 2.一个系只有一名(正职)主任; 3.一个学生可以选修多门课程,每门课程有若干学生 选修; 4.每个学生所学的每门课程都有一个成绩。 An Introduction to Database System
An Introduction to Database System 一个实例(续) 由现实世界的已知事实得知: ⒈ 一个系有若干学生, 一个学生只属于一个系; ⒉ 一个系只有一名(正职)主任; ⒊ 一个学生可以选修多门课程, 每门课程有若干学生 选修; ⒋ 每个学生所学的每门课程都有一个成绩
一个实例(续) 属性组U上的一组函数依赖F: F SnoSdept,Sdept-Mname, (Sno,Cno)→Grade} Sno Cno Grade Sdept Mname An Introduction to Database System
An Introduction to Database System 一个实例(续) 属性组U上的一组函数依赖F: F ={ Sno → Sdept, Sdept → Mname, (Sno, Cno) → Grade } Sno Cno Sdept Mname Grade
一个实例(续) ■如果只考虑函数依赖这一种数据依赖,就会得到描述 该数据库单一的关系模式: s〉 An Introduction to Database System
An Introduction to Database System 一个实例(续) ◼ 如果只考虑函数依赖这一种数据依赖,就会得到描述 该数据库单一的关系模式 : s
关系模式s中存在的问题 1.数据兄余太大 ■浪费大量的存储空间 例:学生所在的系和系主任的姓名重复出现 2.更新异样 ■数据冗余,更新数据时,维护数据完整性代价大, 容易造成数据不一致。 例:某条更换系主任后,系统必须修改与该系学生有关 的每一个元组 An Introduction to Database System
An Introduction to Database System 关系模式s中存在的问题 ⒈ 数据冗余太大 ◼ 浪费大量的存储空间 例:学生所在的系和系主任的姓名重复出现 2.更新异样 ◼ 数据冗余 ,更新数据时,维护数据完整性代价大, 容易造成数据不一致。 例:某系更换系主任后,系统必须修改与该系学生有关 的每一个元组