第13讲数据模型及范式_第1页
第13讲数据模型及范式_第2页
第13讲数据模型及范式_第3页
第13讲数据模型及范式_第4页
第13讲数据模型及范式_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 问题的提出问题的提出(重点,难点)(重点,难点) 数据模型数据模型(重点,难点)(重点,难点)课堂小结课堂小结第第13讲讲 数据模型和规范化数据模型和规范化.数据模型(续)数据模型分成两个不同的层次(1) 概念模型概念模型 也称信息模型,它是按用户的观点来对数据和也称信息模型,它是按用户的观点来对数据和信息建模。信息建模。 (2) 数据模型数据模型 主要包括网状模型、层次模型、关系模型等,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模它是按计算机系统的观点对数据建模。. 客观对象的抽象过程-两步抽象 现实世界中的客观对象抽象为概念模型;现实世界中的客观对象抽象为概

2、念模型; 把概念模型转换为某一把概念模型转换为某一DBMS支持的数据模型。支持的数据模型。 概念模型是现实世界到机器世界的一个中间层次。数据模型(续). 概念模型的用途 概念模型用于信息世界的建模概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次 是数据库设计的有力工具是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求 较强的语义表达能力,能够方便、直接地表达应用较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识中的各种语义知识 简单、清晰、易于用户理解简单、清晰、易

3、于用户理解数据模型-概念模型(续).实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型数据模型-概念模型的表示方法 .数据模型-信息世界基本概念(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2) 属性(Attribute) 实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。 (3)联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息

4、世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系中反映为实体内部的联系和实体之间的联系. 实体型 用矩形表示,矩形框内写明实体名。 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来数据模型-概念模型的表示方法 学生学生教师教师学生学生学号学号年龄年龄性别性别姓名姓名.联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的边分别与有关实体连接起来,同时在无向边旁标上联系的类型(类型(1:1、1:n或或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。

5、联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来系连接起来数据模型-概念模型的表示方法 .一对一联系 班级与班长之间的联系:班级与班长之间的联系: 一个班级只有一个正班长一个班级只有一个正班长 一个班长只在一个班中任职一个班长只在一个班中任职数据模型-两个实体之间的联系 .一对多联系 班级与学生之间的联系:班级与学生之间的联系: 一个班级中有若干名学生,一个班级中有若干名学生, 每个学生只在一个班级中学习每个学生只在一个班级中学习数据模型-两个实体之间的联系 .多对多联系(m:n) 课程与学生之

6、间的联系:课程与学生之间的联系: 一门课程同时有若干个学生选修一门课程同时有若干个学生选修 一个学生可以同时选修多门课程一个学生可以同时选修多门课程数据模型-两个实体之间的联系 .数据模型-概念模型的表示方法 班级班级班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级学生学生1n1:n联系联系.数据模型-概念模型的表示方法 课程课程选修选修学生学生mn成绩成绩.数据模型-E-R图实例 学校有若干系组成;每个系有若干教研室和若干学生,班级组成;并开设多门课程;每个教研室有多名教师组成;每个教师有自己的研究方向和所教授的课程;每个班级有若干学生组成。 每个学生需要修学多门

7、课程,每个教师可以教授多门课程,一门课程可以有多个教师讲解,每个教师开设的课程必须同时有多个学生选课。. 在这个例子中,我们看到,现实世界中存在许多事物。例如,学生学生、教师教师、教研室教研室、系系、班级班级、课程课程等,这些都是客观存在的实体。这些实体并不是孤立存在的,不同的实体之间是有联系的,这种联系也是客观存在的。 比如,教师属于某个系的某个教研室,而且只能隶属于一个教研室,学生和教师通过选修课程建立联系。请同学们画出教学管理系统的E-R模型图。数据模型-E-R图实例 .学生学生课程课程班级班级系系教研室教研室教师教师学号学号班级号班级号姓名姓名班级号班级号选修选修成绩成绩课程号课程号学

8、号学号课程号课程号系号系号系号系号系号系号教研室号教研室号教研室号教研室号教师号教师号教学教学课程号课程号教师号教师号实体-关系图。实体:学生、教师、教研室、系、班级、课程.该教学管理系统中的关系数据模型的实体类型:系(系号,系名,电话,地址)教研室(教研室号,教研室名,人数, 电话,地址,系号)课程(课程号,课程名, 学分,开课系号) 授课(授课编号,教师编号,课程号)班级(班号,班名,人数, 电话,系号)学生(学号,姓名,性别,年龄, 班号)教师(教师编号,姓名, 性别, 教研室号,电话,地址)选课(学号,授课编号, 成绩)数据模型-E-R图实例 .关系(Relation) 一个关系对应通

9、常说的一张表。元组(Tuple) 表中的一行即为一个元组。属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名。关系模型- 基本概念 .主键(码)(Key) 表中的某个属性组,它可以唯一确定一个元组。域(Domain) 属性的取值范围。分量 元组中的一个属性值。关系模型- 基本概念 .关系模式 对关系的描述 关系名(属性1,属性2,属性n)例如,描述学生的关系模式为:学生(学号,姓名,年龄,性别,系,年级)关系模型- 基本概念 .关系数据库逻辑设计关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具关系数据库的规范化理论关系规范-

10、问题的提出 .学校数据库的语义:学校数据库的语义: 一个系有若干学生, 一个学生只属于一个系; 一个系的学生住在同一住处; 一个学生可以选修多门课程, 每门课程有若干学生选修; 每个学生所学的每门课程都有一个成绩。关系规范-问题的提出.关系规范-问题的提出例如 ,描述学校的数据库:学生的学号(Sno)、所在系(Sdept)学生住处(Sloc)、课程号(Cno)成绩(Grade)单一的关系模式 : Student Student(Sno, Sdept, Mname, Cname, Grade ). 数据冗余太大 浪费大量的存储空间 例:每一个系的学生住处重复出现 更新异常(Update Anom

11、alies) 数据冗余 ,更新数据时,维护数据完整性代价大。例:某系更换学生住处后,系统必须修改与该系学生有关的每一个元组数据模型-关系模式存在的问题. 插入异常(Insertion Anomalies) 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其该系的住处的信息存入数据库。 删除异常(Deletion Anomalies) 不该删除的数据被删除了 例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其学生住处的信息也丢掉了。数据模型-关系模式存在的问题.结论: Student关系模式不是一个好的模式。 “好”的模式:不会发生插入异常、删除

12、异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适的数据依赖。数据模型-关系模式存在的问题. 规范化理论 是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。关系规范化 . 1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。关系规范化-1NF. 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。Student关系模式符合1NF 但是满足第一范式的关系模式并不一定是一个好的关系模式。关系规范化-1NF. 2NF

13、的定义若关系模式R1NF,并且每一个非主非主属性都完全完全函数依赖于R的码,则R2NF。例:Student(Sno, Sdept, Sloc, Cno, Grade) 1NF关系规范化-2NF.例: 关系模式 Student(Sno, Sdept, Sloc, Cno, Grade) 函数依赖包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc关系规范化-2NF. Student的码为(Sno, Cno) Student满足第一范式。 非主属性Sdept和Sloc部分函

14、数依赖于码(Sno, Cno)关系规范化-2NFSnoCnoGradeSdeptSlocStudent. Student(Sno, Sdept, Sloc, Cno, Grade) 不属于2NF分解关系模式Student SC(Sno, Cno, Grade) 2NF SL(Sno, Sdept, Sloc) 2NF关系规范化-2NF. 若R3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。 如果R3NF,则R也是2NF。 SC( Sno, Cno, Grade) 3NF SL(Sno, Sdept, Sloc) 2NF关系规范化-3NF.在 2NF关系模式SL(Sno, Sdept, Sloc)中存在 函数依赖: SnoSdept SdeptSloc SnoSlocSloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。关系规范化-3NF. 关系规范化-3NFn原因原因 Sdept、 Sloc部分函数依赖于码。n解决方法解决方法 SLC分解为两个关系模式,以消除这些部分函数依赖 SC(Sno, Cno, Grade) SL(Sno, Sdept, Sloc). 解决方法把SL分解为两个关系模式,以消除传递函数依赖: SD(Sno, Sdept) DL(Sdept, Sloc)SD的码为Sno, DL的码为Sdept。关系规范化-3NF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论