数据库原理与应用教案-第二章.ppt_第1页
数据库原理与应用教案-第二章.ppt_第2页
数据库原理与应用教案-第二章.ppt_第3页
数据库原理与应用教案-第二章.ppt_第4页
数据库原理与应用教案-第二章.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

2019/5/17,数据库原理与应用,1,数据库原理与应用,主讲:闫静 南京航空航天大学,2019/5/17,数据库原理与应用,2,第二章 数据模型,概述 实体联系模型 层次模型 网状模型 关系模型,2019/5/17,数据库原理与应用,3,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟 数据模型应满足三方面要求 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现,2019/5/17,数据库原理与应用,4,数据模型,数据模型分成两个不同的层次 (1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计 (2)数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现,2019/5/17,数据库原理与应用,5,数据模型,数据模型的组成要素 数据结构是所研究的对象类型的集合; 1.与数据类型、内容、性质有关的对象; 2.与数据之间联系有关的对象。 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合。包括操作及有关的操作规则(检索和更新两类); 数据的约束条件是完整性规则的集合。 数据及其联系所具有的制约和依存规则。,2019/5/17,6,数据模型,概念模型,将客观对象抽象成为一种不依赖具体计算机系统的信息结构。,信息世界 概念模型,机器 世界 DBMS支持的数据模型,2019/5/17,数据库原理与应用,7,数据模型,概念模型的作用 概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识 简单、清晰、易于用户理解。,2019/5/17,数据库原理与应用,8,数据模型,信息世界中的基本概念 (1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 例:职员实体属性: (职员号、姓名、性别、出生日期、职称) (3) 码(Key) 唯一标识实体的属性集称为码。,2019/5/17,数据库原理与应用,9,数据模型,(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画的同类实体 例:学生实体型: 学生(学号,姓名,年龄,性别,系、年级) (6) 实体集(Entity Set) 同型实体的集合称为实体集 (7) 联系(Relationship),2019/5/17,数据库原理与应用,10,数据模型,现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系 两个实体间的联系: 一对一;一对多;多对多。,2019/5/17,数据库原理与应用,11,数据模型,2019/5/17,数据库原理与应用,12,数据模型,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例 班级与班长之间的联系: 一个班级只有一个正班长 一个班长只在一个班中任职,2019/5/17,数据库原理与应用,13,数据模型,一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n 实例 班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习,2019/5/17,数据库原理与应用,14,数据模型,多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系。记为m:n 实例 课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程,2019/5/17,数据库原理与应用,15,数据模型,多个实体间的联系,一对多,多对多,2019/5/17,数据库原理与应用,16,数据模型,概念模型的表示方法ER图(Entity-Relationship Approach) P.P.S.Chen于1976年提出 ER方法表示的概念模型也称为E-R模型 ER图三要素 实体型 用矩形表示,矩形框内写明实体名。,教师,学生,2019/5/17,数据库原理与应用,17,数据模型,属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,学号,年龄,性别,姓名,2019/5/17,数据库原理与应用,18,数据模型,联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,2019/5/17,数据库原理与应用,19,数据模型,表示实体型, 框内写实体名。,表示实体的属性,表示实体间的联系,连接各部分,2019/5/17,数据库原理与应用,20,数据模型,联系的表示方法示例,2019/5/17,数据库原理与应用,21,数据模型,联系的表示方法示例(续),2019/5/17,数据库原理与应用,22,数据模型,联系属性的表示方法,学 生,课 程,2019/5/17,数据库原理与应用,23,实体联系模型举例,一个工厂管理系统运行模式如下: 一个雇员只在一个部门工作,一个部门可以有多个雇员。 一个雇员可以参加一个以上的项目,每个项目常需要多个人参加。 每个项目必须确定一个负责人,一个人可以负责多个项目。 一个供应商可以为若干个项目供应零件,每个项目可以从不同的供应商那里采购零件,每个项目需要多种零件。 系统还保存各个供应商可以提供的各种零件与数量。 一种零件还可以由其它几种零件组装而成。 购买的零件存放在仓库里,一个仓库存放多种零件,一种零件也可以存放在不同的仓库当中。,2019/5/17,数据库原理与应用,24,实体联系模型举例,(1)现场调查,确定系统的运行模式和相关流程 (2)确定实体类型 (3)确定联系类型 (4)根据实体类型和联系类型画出ER图,2019/5/17,数据库原理与应用,25,实体联系模型举例,2019/5/17,数据库原理与应用,26,实体联系模型举例,部门,雇员,项目,供应商,仓库,零件,2019/5/17,数据库原理与应用,27,常用的数据模型,实体联系方法是抽象和描述现实世界的有力工具。用ER图表示的概念模型独立于具体的DBMS所支持的数据模型,是各种数据模型的共同基础。 常用的数据模型 层次模型 网状模型 关系模型 对象模型,2019/5/17,数据库原理与应用,28,常用的数据模型,层次模型 满足下面两个条件的基本层次联系的集合为层次模型。 1. 有且只有一个结点没有双亲结点,这个结点称为根结点 2. 根以外的其它结点有且只有一个双亲结点,2019/5/17,数据库原理与应用,29,常用的数据模型,层次模型 有且仅有一个结点无双亲,这个结点称为根结点。 其它结点有且仅有一个双亲。,2019/5/17,数据库原理与应用,30,常用的数据模型,特点 结点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在,2019/5/17,数据库原理与应用,31,层次模型的数据结构,多对多联系在层次模型中的表示 用层次模型间接表示多对多联系 方法 将多对多联系分解成一对多联系 分解方法 冗余结点法 虚拟结点法,2019/5/17,数据库原理与应用,32,常用的数据模型,层次模型的完整性约束 无相应的双亲结点值就不能插入子女结点值 如果删除双亲结点值,则相应的子女结点值也被同时删除 更新操作时,应更新所有相应记录,以保证数据的一致性,2019/5/17,数据库原理与应用,33,常用的数据模型,与文件系统的数据管理方式相比,层次模型是一个飞跃,用户和设计者面对的是逻辑数据而不是物理数据,用户不必花费大量的精力考虑数据的物理细节。逻辑数据与物理数据之间的转换由DBMS完成。 层次模型有两个缺点:一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。,2019/5/17,数据库原理与应用,34,常用的数据模型,常用的数据模型 层次模型 网状模型 关系模型 对象模型 满足下面两个条件的基本层次联系的集合为网状模型。 1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲,2019/5/17,数据库原理与应用,35,常用的数据模型,有一个以上的结点没有双亲。 结点可以有多于一个的双亲。,网状数据模型,2019/5/17,数据库原理与应用,36,常用的数据模型,网状模型的特点是记录之间联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。 网状模型的缺点是结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 DDL、DML语言复杂,用户不容易使用,网状模型的优缺点,2019/5/17,数据库原理与应用,37,常用的数据模型,常用的数据模型 层次模型 网状模型 关系模型 对象模型 关系数据模型 关系模型(relational model)的主要特征是用二维表格表达实体集。 与前两种模型相比,数据结构简单,容易为初学者理解。,2019/5/17,数据库原理与应用,38,常用的数据模型,关系模型是由若干个关系模式组成的集合。 关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。,PART模式 (P#,PNAME,COLOR,WEIGHT) PROJECT模式 (J#,JNAME,DATE) SUPPLIER模式 (S#,SNAME,SADDR) P_P模式 (J#,P#,TOTAL) P_S模式 (P#,S#,QUANTITY),关系数据模型举例(1),2019/5/17,数据库原理与应用,39,常用的数据模型,关系数据模型举例(2),一个关系模型的逻辑结构是一张二维表,它由行和列组成。,江苏 山东 北京 北京 山西,20 19 18 19 21,计科 信息 数学 计科 物理,男 女 女 男 男,李勇 刘成 王明 张力 杨晓东,95001 95002 95003 95004 95700,籍贯,年龄,系别,性别,姓名,学号,学生 登记表,关系名,主码,属性(列),属性名,数据模型,2019/5/17,数据库原理与应用,40,常用的数据模型,关系:一个关系对应于一张表。 元组:表中的一行称为一个元组。 属性:表中的一列称为属性。 主码:唯一标识一个元组的某个属性组。 域: 属性的取值范围。 分量:元组中的一个属性值。 关系模式:对关系的描述。 关系名(属性名1,属性名2,属性名n),学生(学号,姓名,性别,系别,年龄,籍贯),2019/5/17,数据库原理与应用,41,常用的数据模型,实体及实体间的联系的表示方法 实体型: 属性: 一对一联系:隐含在实体对应的关系中。 一对多联系:隐含在实体对应的关系中。 多对多联系:直接用关系表示。,直接用关系模式表示。,2019/5/17,数据库原理与应用,42,常用的数据模型,例1:系、学生之间的一对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 系 (系号,系名,办公地点) 例2:学生、课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),外关键字,2019/5/17,数据库原理与应用,43,常用的数据模型,关系模型的数据操纵 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 常用的关系操作包括并、交、差、选择、投影、连接等查询操作和插入、删除、更新操作 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干” 关系模型的完整性约束 实体完整性 参照完整性 用户定义的完整性,2019/5/17,数据库原理与应用,44,常用的数据模型,关系数据模型的优缺点 建立在严格的数学概念的基础上 概念单一。数据结构简单、清晰,用户易懂易用 实体和各类联系都用关系来表示。 对数据的检索结果也是关系。 关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作,2019/5/17,数据库原理与应用,45,常用的数据模型,关系数据模型的缺点 存取路径对用户透明导致查询效率往往不如非关系数据模型 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度,2019/5/17,数据库原理与应用,46,常用的数据模型,典型的关系数据库系统 ORACLE SYBASE INFORMIX DB/2 COBASE PBASE EasyBase DM/2 OpenBase,2019/5/17,数据库原理与应用,47,常用的数据模型,常用的数据模型 层次模型 网状模型 关系模型 对象模型 对象数据模型 对象(object)是现实世界中实体的模型化,与实体概念相仿,但远比实体复杂。 将属性集和方法集相同的所有对象组合在一起,构成了一个类(class)。,2019/5/17,数据库原理与应用,48,2019/5/17,数据库原理与应用,49,关系操作,在关系数据模型中,每个操作的对象和结果仍为关系 关系操作的运算 普通的集合运算 并、交、差 删除部分关系的运算 选择、投影 合并两个关系元组的运算 连接、积,2019/5/17,数据库原理与应用,50,关系操作 并Union (),R和S的并,RS,是在R或S或两者中的元素的集合 一个元素在并集中只出现一次 R和S必须同类型(属性集相同、次序相同,但属性名可以不同),2019/5/17,数据库原理与应用,51,关系操作 交Intersect (),R和S的交,RS,是在R和S中都存在的元素的集合 一个元素在交集中只出现一次 R和S必须同类型(属性集相同、次序相同,但属性名可以不同),2019/5/17,数据库原理与应用,52,关系操作 差Minus (-),R和S的差,R-S,是在R中而不在S中的元素的集合 R和S必须同类型(属性集相同、次序相同,但属性名可以不同),2019/5/17,数据库原理与应用,53,关系操作投影Projection(),从关系R中选择若干属性组成新的关系 A1,A2,An(R),表示从R中选择属性集A1,A2,An组成新的关系 列的运算 投影运算的结果中,也要去除可能的重复元组 例: ssex,sage(student),2019/5/17,数据库原理与应用,54,2019/5/17,数据库原理与应用,55,2019/5/17,数据库原理与应用,56,关系操作选择Selection(),从关系R中选择符合条件的元组构成新的关系 C(R),表示从R中选择满足条件(使逻辑表达式C为真)的元组 行的运算 例: sage = 23 AND sdep = CS(student) 例:列出CS系的学号及姓名 sno,sname(sdep = CS(student) ),2019/5/17,数据库原理与应用,57,sdep = IS(student),2019/5/17,数据库原理与应用,58,关系操作笛卡儿积(),关系R、S的笛卡儿积是两个关系的元组对的集合所组成的新关系 RS: 属性是R和S的组合(有重复) 元组是R和S所有元组的可能

温馨提示

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

评论

0/150

提交评论