数据模型(由PDF转换)_第1页
数据模型(由PDF转换)_第2页
数据模型(由PDF转换)_第3页
数据模型(由PDF转换)_第4页
数据模型(由PDF转换)_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 数据库系统概述课件制作:刘双印老师1.3数据模型数据模型1.3.1数据模型及分类数据模型及分类1.3.2数据模型组成要素数据模型组成要素1.3.3概念模型概念模型1.3.4常见的数据模型常见的数据模型第一章 数据库系统概述课件制作:刘双印老师1.3.1数据模型及分类模 型:是对现实世界中某个对象特征的模拟和抽象。数据模型:数据库中采用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型是现实世界的模拟。数据模型分类:概念模型、逻辑模型和物理模型第一章 数据库系统概述概念模型又称信息模型,它是独立于计算机系统、完全按用户的观点来对数据和信息建模的,是对现实世界的第一

2、层抽象。最常见:实体联系模型即ER图课件制作:刘双印老师数据模型分类概念模型逻辑模型物理模型课件制作:刘双印老师数据模型分类概念模型逻辑模型物理模型第一章 数据库系统概述逻辑模型又称结构数据模型,简称数据模型。它是直接面向DB的逻辑结构,是对现实世界的第二层抽象;是数据库系统的核心和基础。最常见的有:层次模型(Hierarchicalmodel)、网状模型(Networkmodel)、关系模型(relationalmodel)、面向对象模型(ObjectOrientedmodel)、对象关系模型(Objectrelationalmodel)等第一章 数据库系统概述课件制作:刘双印老师物理模型是

3、对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。物理模型的具体实现是DBMS的任务,数据库设计人员要了解和选择物理模型,一般用户不必考虑物理级的细节。概念模型逻辑模型物理模型2008.9.2信计、信管数据模型分类DBMS支持的数据模型课件制作:刘双印老师数据模型抽象转换的过程:现实世界人的认识抽象概念模型转换第一章 数据库系统概述信息世界机器世界第一章 数据库系统概述课件制作:刘双印老师第一章 数据库系统概述课件制作:刘双印老师1.3.2数据模型组成要素数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、

4、动态特性和完整性约束条件。所以该模型由下面三部分组成:数据结构数据操作数据完整性约束第一章 数据库系统概述课件制作:刘双印老师1.3.2数据模型组成要素数据结构数据操作数据完整性约束数据结构是描述组成数据库的数据对象的类型、内容、性质等,以及描述对象之间的联系。数据结构是所描述的对象类型的集合,是对系统静态特性的描述。第一章 数据库系统概述课件制作:刘双印老师1.3.2数据模型组成要素数据结构数据操作数据完整性约束数据操作是指数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作符号、操作规则、及实现操作语言的定义。主要有:查询和更新(插入、删除、修改)两大类操作.课件制作:刘双印老师1

5、.3.2数据模型组成要素数据结构数据操作数据完整性约束第一章 数据库系统概述数据完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则。第一章 数据库系统概述课件制作:刘双印老师 1.3.3概念模型 是站在用户的角度对现实世界进行模拟和抽象的。 概念模型用于对信息世界建模,是对现实世界的第一层抽象。 是数据库设计人员和用户之间进行交流的语言。 概念模型应该简单、清晰、易于用户理解 常用的概念模型有:实体联系模型(ER)、 语义对象模型第一章 数据库系统概述课件制作:刘双印老师1.信息世界的基本概念(1)实体:客观存在并可以相互区别的事物 。例如:学生、

6、教师都分别可看作一个实体,并且都是人类实体集的一部分。(2)实体集:同类型实体的集合(3)属性:实体所具有的某一特性。例如:学生的属性有学号、姓名、性别、籍贯、专业等属性。(4)键(码):能唯一标识实体的属性集,例如:学生的学号(5)型与值:用实体名及其属性名来抽象同类实体为型型:学生(学号、姓名、性别)值: (94001,张平,男)类似于程序设计中变量的类型与值的关系(6)域:属性的取值范围,例如:学生的属性成绩的取值范围(成绩101)学号姓名年龄性别系年级99032秦占军19男电子系299097薛 伟21女机械298035刘敬东19女机械300159宋四全18男外语1第一章 数据库系统概述

7、课件制作:刘双印老师 (7) 实体型(Entity Type) :具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型实体型实体值学号姓名年龄性别系年级99032秦占军19男电子系299097薛 伟21女机械298035刘敬东19女机械300159宋四全18男外语1第一章 数据库系统概述课件制作:刘双印老师属性型与值属性的型属性的值属性的型与属性的值第一章 数据库系统概述课件制作:刘双印老师 (8) 联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。一对一联系(1:1)一对多联系

8、(1:n)多对多联系(m:n)第一章 数据库系统概述课件制作:刘双印老师 一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例班级与正班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任正班长职务班级任职班长111:1联系第一章 数据库系统概述课件制作:刘双印老师 一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n 实例班级与学生之间的联系:一个班级中

9、有若干名学生,每个学生只在一个班级中学习第一章 数据库系统概述课件制作:刘双印老师 多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集 A与实体 B具有多对多联系。记为m:n 实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程第一章 数据库系统概述班级1任职1班长1:1联系课程m选修n学生m:n联系班级1学习n学生1:n联系课件制作:刘双印老师例:两个实体型间的联系有:第一章 数据库系统概述课件制作:刘双印老师多个实体型间的联系 多个实体

10、型间的一对一联系 多个实体型间的多对多联系 多个实体型间的一对多联系 若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei1,Ei+1,.,En之间的联系是一对多的。第一章 数据库系统概述课件制作:刘双印老师例:多个实体一对多联系:课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程教师参考书讲授np使用k参考mof第一章 数据库系统概述课件制作:刘双印

11、老师m零件p项目例:多个实体间多对多的联系供应商n供应第一章 数据库系统概述课件制作:刘双印老师同一实体集内各实体间的联系 一对多联系 实例职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系 一对一联系 多对多联系第一章 数据库系统概述领导 同一实体集内一对多联系n 1 课件制作:刘双印老师例:同一实体集内一对多联系职工第一章 数据库系统概述课件制作:刘双印老师2.概念模型的表示方法 概念模型的表示方法很多 实体联系方法(ER方法) 用ER图来描述现实世界的概念模型 ER方法也称为ER模型或ER图第一章 数据库系统概述课件制作

12、:刘双印老师 ER图 实体型 用矩形表示,矩形框内写明实体名。教师学生第一章 数据库系统概述课件制作:刘双印老师 姓名性别年龄工龄工种级别文化程度属性ER图(续) 属性 用椭圆形表示,椭圆形框内写明属性名,并用无向边将其与相应的实体连接起来实体型工人实体与属性间的连线第一章 数据库系统概述课件制作:刘双印老师 ER图(续) 联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来第一章 数据库系统概述课件

13、制作:刘双印老师例:建立一个关于学生和班级的概念模型学生的属性有:学号、姓名、出生年月、系名、宿舍区班级的属性有:班号、专业名、系名、人数、入校年份画出其ER图。学生班级属于学号姓名出生年月系名宿舍区班号专业号人数专业名入校年份Nn11第一章 数据库系统概述教师m 讲授 n 课程课程号课程名学时上课时间教室职务出生日期调入日期专业电话性别姓名职工号教师和课程关系的ER图课件制作:刘双印老师例:画出教师和课程关系的ER图第一章 数据库系统概述课件制作:刘双印老师例:画出车间主任和工人关系的ER图工人车间主任车间主任1n工人实体间联系的表示车间主任和工人关系的ER图菱形表示实体间的联系实体与联系的

14、连线第一章 数据库系统概述课件制作:刘双印老师例 :画出学生选修课程的 ER图学生课程学号姓名系别选修课程名先修课主讲老师成绩mn第一章 数据库系统概述课件制作:刘双印老师E-R方法(二)E-R图的设计设计E-R图的步骤:(1)确定实体、属性和实体间的联系,画出用户视图的局部E-R图;(2)综合各个用户的局部E-R图,产生反映数据库整体概念的总体E-R图。例: 某企业有:物资、销售、劳动人事管理部门,物资管理部门负责产品所需的零件采购,以及对全部零件的仓库保管;销售管理部门负责产品的销售;劳动人事管理部门管理职工人事关系及职工与产品的关系。第一章 数据库系统概述课件制作:刘双印老师例、学校中有

15、若干系,每个系有若干班级和教研室,每个 教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用ER图画出此学校的概念模型。(注:ER图中可以省掉实体的属性)学校系班级招收设置包含1学生拥有1其他教师研究生选修1教授1教授2选修2拥有2包含21下设nmn课程n11n1n1n11教研室nnmnn正副教授 m1指导nmn第一章 数据库系统概述课件制作:刘双印老师课程n 课程号课程名学时上课时间教室出生日期调入日期职务专业电话姓名性别职工号管理管理系姓名性别学号出生日期入学日期宿舍号地点主任电话系名系号 1 编排n m n 教师m

16、 讲授 n 学生m 选修1 n 教务管理ER图第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(一)1从E-R图导出关系数据模型的原则(1) E-R图中的每个实体,对应一个关系。该关系具有属性实体的全部属性实体的关键字第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(二)1从E-R图导出关系数据模型的原则(2) E-R图中的一个联系对应一个关系。该关系具有属性联系的属性该联系相关的实体的关键字若联系为1:1,任何一个实体的关键字;若联系为1:n,n端实体的关键字;若联系为m:n,各个实体的关键字。第一章 数据库系统概述课件制作:刘双印老师校长学校任职姓名

17、性别年龄职称校名地址电话概念模型向关系模型的转换1、1:1先将两个实体分别转换两个关系模式,然后在任意一个关系模式中加入另一个关系模式的键和联系类型的属性。任职年月11第一章 数据库系统概述课件制作:刘双印老师学校(校名,地址,电话)校长(姓名,性别,年龄,职称,任职学校,任职年月)或者:学校(校名,地址,电话,校长名,任职年月)校长(姓名,性别,年龄,职称)2、1:N先将两个实体分别转换为两个关系模式,然后在N端实体转换的关系模式中加入1端实体转换的关系模式的键和联系类型的属性。学生(学号,姓名,性别,年龄,班号)/代表N端实体班级(班号,院系,人数)/代表端实体3、M:N先将两个实体分别转

18、换为两个关系模式,然后将联系类型转换为第三个关系模式,其属性由两端实体的键和联系类型的属性构成。第一章 数据库系统概述课件制作:刘双印老师学生课程学生课程学号姓名性别年龄课程号 课程名教师成绩MN学生(学号,姓名,性别,年龄)课程(课程号,课程名,教师)学生学习课程(学号,课程号,成绩)/两端实体的键第一章 数据库系统概述课件制作:刘双印老师学生班级属于N1学号姓名出生年月系名宿舍区班号专业号入校年份人数专业名学生(学号、姓名、出生年月、系名、宿舍区、班号)班级(班号、专业号、专业名、人数、入校年份)第一章 数据库系统概述课件制作:刘双印老师社团院系学号出生年月宿舍区属于属于班号专业名人数入校

19、年份社团名成立年份地点人数系名人数系办公地点 1 学生N 参加M N N 1 班级N 属于1 入会年份第一章 数据库系统概述课件制作:刘双印老师例:根据上述的ER图,将其转换为对应的关系模式。解答:首先分别先将每个实体分别转换为关系模式。其次根据实体联系类型进行二次转换。最后得到的关系模式如下:学生(学号,出生年月,系名,班号,宿舍区)班级(班号,专业名,系名,人数,入校年份)院系(系名,系办公室地点,人数)社团(社团名,成立年份,地点,人数)参加(学号,社团名,入会年份)第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(三)2. 从E-R图导出关系数据模型的实例职工负责参

20、加nm1n产品供应商供应产品零件npm供应量天数(b)(a)第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(五)又如下图:职工领导1n民意测验(a)mn班级零部件班主任1管理1班主任费姓名性别年龄职称班级名人数教室装配(c)(b)第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(六)(a)对应的关系数据模型为:职工(工号,姓名,年龄,性别,职称,工资,领导者工号, 民意测验)工号姓名年龄性别职称工资领导者工号民意测验1马一民35男工 人7903称 职2李格利42女技术员8983不称职3审 平23女工程师7858基本称职4王立强37男高 工9843称 职

21、5石 武45男工 人8208基本称职第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(七)为加深理解,下表列出若干职工:第一章 数据库系统概述课件制作:刘双印老师从E-R图导出关系数据模型(八)图(b)对应的数据模型为:零部件(零部件号,零部件名,型号,单价,部件号,零件号)注意:实体、联系转换为关系模式的方法并不唯一。图 (c)的关系模式可以是:班主任(姓名,性别,年龄,职称,班主任费)班级(班级名,人数,教室)管理(姓名,班级名)或:班主任(姓名,班级名,性别,年龄,职称,班主任费)班级(班级名,人数,教室)或:班主任(姓名,性别,年龄,职称,班主任费)班级(班级名,姓

22、名,人数,教室)第一章 数据库系统概述课件制作:刘双印老师1.3.3常用数据模型层次模型网状模型关系模型第一章 数据库系统概述课件制作:刘双印老师一、层次模型数据结构数据操作完整性约束层次模型的优缺点第一章 数据库系统概述课件制作:刘双印老师 1层次模型的数据结构 最早出现的数据模型,采用层次模型的数据库的典型代表是IBM公司的IMS数据库管理系统, 现实世界中,许多实体间都表现层次关系,如家族关系,行政机构等。 用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。 在树中,每个结点表示一个记录类型,结点间的连线表示记录类型间的关系,每个记录类型可包含若干个字段,记录类型描述的是实体,字

23、段描述实体的属性。 如要存取某一记录型的记录,可以从根结点起,按有向树层次向下查找。课件制作:刘双印老师例:层次模型有向树的示意图: A B C D E F 第一章 数据库系统概述其中:结点A为根结点,D,F,F为叶结点,B,C为兄结点层次模型有向树的示意图第一章 数据库系统概述课件制作:刘双印老师例:教员学生层次模型的例子:层次模型的特征(1)只有根结点没有双亲,除根结点以外其它节点有且仅有一个双亲结点(2)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。系号 系名成绩教研室名姓名系办公地点学生 学号 姓名研究方向教研室 教研室号

24、教员 职工号第一章 数据库系统概述课件制作:刘双印老师 2.层次模型的数据操纵与数据完整性约束 数据操纵:主要有查询、插入、删除和修改, 进行插入、删除和修改操作时要满足层次模型的完整性约束: 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值; 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除; 修改操作时,应修改所有相应的记录,以保证数据的一致性。第一章 数据库系统概述课件制作:刘双印老师 3.层次模型的优缺点 优点:(1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。(2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现

25、实世界中许多实体间的联系本来就呈现出一种很自然的层次关系, 如表示行政层次,家族关系很方便。(3)它提供了良好的数据完整性支持。第一章 数据库系统概述课件制作:刘双印老师 层次模型的缺点:(1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。(2)对数据的插入和删除的操作限制太多。(3)查询子女结点必须通过双亲结点。第一章 数据库系统概述课件制作:刘双印老师二、网状模型数据结构数据操作完整性约束层次模型的优缺点第一章 数据库系统概述课件制作:刘双印老师1、网状模型数据结构 现实世界中事物之间的联系更多是非层次关系

26、的,用网状模型可以清晰的表示这种非层次关系。 20世纪70年代,数据系统语言研究会CODASYL下属的数据库任务组DBTG提出了一个系统方案,DBTG系统,成为了网状模型的代表。 网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。第一章 数据库系统概述课件制作:刘双印老师网状模型的特征(1)有一个以上的结点没有双亲;(2)至少有一个结点可以有多于一个双亲。 即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。 网状模型中每个结点表示一个记录型(实体),每

27、个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系。第一章 数据库系统概述课件制作:刘双印老师例:学生选课数据库的网状模型第一章 数据库系统概述课件制作:刘双印老师2.网状模型的数据操纵与完整性约束数据操纵:主要包括查询、插入、删除和修改数据。 插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。 删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。 修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此,修改操作时

28、只需更新指定记录即可。 它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。第一章 数据库系统概述课件制作:刘双印老师 3.网状模型的优缺点 优点主要有:(1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。(2)具有良好的性能和存储效率 缺点主要有:(1)结构复杂,其DDL语言极其复杂。(2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。第一章 数据库系统概述课件制作:刘双印老师三、关系模型数据结构数据操作完整性约束层次模型的优缺点第一章 数据库系统概述课件制作:刘双印老师1、关系模型数据结构1970年IBM公司E.

29、F.Codd首次提出了关系模型。为此获得了1981年的图灵奖。 关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、MSSQLServer、DB2等都是关系数据库系统。 关系模型的数据结构是一个“二维表框架”组成的集合,关系模型用二维表表示实体集及其属性,用二维表描述实体集间的联系。第一章 数据库系统概述课件制作:刘双印老师关系模型中主要术语: 关系:一张表 元组:表中的一行 属性:表中的一列 主码:表中的某个属性组,它可以唯一确定一个元组 域:属性的取值范围 分量:元组中的一个属性值

30、关系模式:对关系的描述。表示为:关系名(属性1,属性2,属性n)学 号姓 名性 别年 龄系别年 级第一章 数据库系统概述课件制作:刘双印老师 注意: 在关系模型中,实体是用关系来表示的,如: 学生(学号,姓名,性别,年龄,系别,年级) 课程(课程号,课程名,课时) 实体间的关系也是用关系来表示的,如: 学生和课程之间的关系 选课关系(学号,课程号,成绩)第一章 数据库系统概述课件制作:刘双印老师例:教学数据库的关系模型及其实例,包含五个关系:教师关系T:学生关系S:课程关系C:选课关系SC:授课关系TC:分别对应五张表:TNO 教师号 TN 姓名 SEX 性别 AGE 年龄 PROF 职称 SAL 工资 COMM 岗位津贴 DEPT 系别 T1

温馨提示

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

评论

0/150

提交评论