第二章数据模型1_第1页
第二章数据模型1_第2页
第二章数据模型1_第3页
第二章数据模型1_第4页
第二章数据模型1_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 数据模型数据模型12数据模型的概念E-R模型3面向对象模型2.1 数据模型的概念数据模型的概念 在数据库中用数据模型这个工具来在数据库中用数据模型这个工具来抽象、表示抽象、表示和处理和处理现实世界中的数据和信息。通俗地讲数现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟据模型就是现实世界的模拟 数据模型应满足三方面要求数据模型应满足三方面要求: 能比较能比较真实地模拟真实地模拟现实世界现实世界 容易为人所容易为人所理解理解 便于在计算机上便于在计算机上实现实现2.1.1 数据的三个范畴数据的三个范畴 从事物的客观从事物的客观特性到计算机中特性到计算机中的数据表示,经的数

2、据表示,经历了三个阶段:历了三个阶段: 存在于人们头脑之外存在于人们头脑之外的客观世界的客观世界. . 现实世界在人们头脑现实世界在人们头脑中的反映,人们把它用中的反映,人们把它用文字和符号记载下来。文字和符号记载下来。 信息世界的信息在信息世界的信息在机器世界以数据形式机器世界以数据形式存储。存储。现实世界现实世界信息世界信息世界 概念模型概念模型机器世界机器世界DBMS支持的数据模型支持的数据模型转换转换认识抽象认识抽象2.1.1 数据的三个范畴数据的三个范畴1. 信息世界信息世界 相关术语相关术语 (1)(1)实体实体:客观存在并可相互区别的事物。:客观存在并可相互区别的事物。 实体可以

3、是具体的对象(一个学生、一辆汽车),实体可以是具体的对象(一个学生、一辆汽车),也可以是抽象的事件(一次借书,一次比赛)。也可以是抽象的事件(一次借书,一次比赛)。(2)(2)实体集实体集:性质相同的同类实体的集合。:性质相同的同类实体的集合。 如:全体学生,全国足球联赛的所有比赛。如:全体学生,全国足球联赛的所有比赛。(3)(3)属性属性:实体所具有的某一特性。:实体所具有的某一特性。 一个实体可以由若干个属性来刻画,每个属性有一个实体可以由若干个属性来刻画,每个属性有一个值域和类型。如:学生实体由学号、姓名等构成。一个值域和类型。如:学生实体由学号、姓名等构成。(4)(4)码码:唯一标识实

4、体的属性或属性集。:唯一标识实体的属性或属性集。 如:学号是学生实体的码。如:学号是学生实体的码。2.1.1 数据的三个范畴数据的三个范畴2.2.机器世界相关术语:机器世界相关术语:(1)(1)字段(数据项):字段(数据项):标记实体属性的命名单位,是标记实体属性的命名单位,是可以命名的最小信息单位,往往和属性名相同。可以命名的最小信息单位,往往和属性名相同。例如:学生有学号、姓名、年龄、性别等字段。例如:学生有学号、姓名、年龄、性别等字段。(2)(2)记录:记录:字段的有序集合称为记录。一般用一个记字段的有序集合称为记录。一般用一个记录描述一个实体。录描述一个实体。例如:学生记录:(学号,姓

5、名,年龄,性别)。例如:学生记录:(学号,姓名,年龄,性别)。(3)(3)文件:文件:同一类记录的汇集称为文件。文件是描述同一类记录的汇集称为文件。文件是描述实体集的。实体集的。例如:所有学生记录组成了一个学生文件。例如:所有学生记录组成了一个学生文件。(4)(4)码:码:能惟一标识文件中每个记录的字段或字段集,能惟一标识文件中每个记录的字段或字段集,与实体的码相对应。与实体的码相对应。例如:学生的学号可以作为学生记录的码。例如:学生的学号可以作为学生记录的码。机器世界和信息世界术语的对应关系机器世界和信息世界术语的对应关系 : : 信息世界信息世界 机器世界机器世界 实体实体记录记录 属性属

6、性字段(数据项)字段(数据项) 实体集实体集文件文件 码码.码码2.1.1 数据的三个范畴数据的三个范畴 以学生数据为例表示信息在三个世界中的有关术以学生数据为例表示信息在三个世界中的有关术语及其联系语及其联系 : :2.1.2 数据模型的组成要素及分类数据模型的组成要素及分类 数据模型是严格定义的概念的集数据模型是严格定义的概念的集合,这些概念精确地描述系统的静态特合,这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。性、动态特性和完整性约束条件。 数据结构数据结构 数据操作数据操作 完整性约束完整性约束2.1.2 数据模型的组成要素及分类数据模型的组成要素及分类1. 数据结构:数

7、据结构:( (最重要最重要) ) 描述数据库的组成对象以及对象之间的联系描述数据库的组成对象以及对象之间的联系: :A.A.与数据类型、内容、性质有关的对象与数据类型、内容、性质有关的对象B.B.与数据之间联系有关的对象与数据之间联系有关的对象 数据模型的命名一般是由数据结构决定的,数据模型的命名一般是由数据结构决定的,如网状、层状、关系。如网状、层状、关系。 数据结构是对系统数据结构是对系统静态特性静态特性的描述。的描述。2.1.2 数据模型的组成要素及分类数据模型的组成要素及分类2. 数据操作:数据操作: 指对数据库中各种对象的实例允许执行的操作指对数据库中各种对象的实例允许执行的操作的集

8、合,包括操作和相关的操作规则。操作分的集合,包括操作和相关的操作规则。操作分为两大类:为两大类:检索和更新检索和更新( (删除、插入、修改删除、插入、修改) )。 对数据模型来说,要求定义这些操作的确切含对数据模型来说,要求定义这些操作的确切含义、操作符号、操作规则义、操作符号、操作规则( (如优先级别如优先级别) )以及实以及实现操作的语言。现操作的语言。 数据操作是对系统数据操作是对系统动态特性动态特性的描述。的描述。2.1.2 数据模型的组成要素及分类数据模型的组成要素及分类3. 完整性约束:完整性约束: 一组完整性规则的集合。一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其

9、联完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。保证数据的正确性、有效性和相容性。2.1.2 数据模型的组成要素及分类数据模型的组成要素及分类数据模型分为两大类(分属两个不同的层次)数据模型分为两大类(分属两个不同的层次)(1) (1) 概念模型概念模型 也称信息模型也称信息模型 按用户的观点来对数据和信息建模,用于数按用户的观点来对数据和信息建模,用于数据库设计(据库设计(E-RE-R图和图和UMLUML对象模型对象

10、模型)。)。 (2) (2) 结构化数据模型结构化数据模型 对数据最底层的抽象,直接面向数据库的逻对数据最底层的抽象,直接面向数据库的逻辑结构,是现实世界的第二层次抽象,描述数据辑结构,是现实世界的第二层次抽象,描述数据在系统内部的表示和存取方法,在磁盘或磁带上在系统内部的表示和存取方法,在磁盘或磁带上的存储方式和存取方法。的存储方式和存取方法。2.2 E-R模型模型2.2.1 2.2.1 基本概念基本概念(1)(1)实体:实体:现实世界中客观存在并可相互区别的事物。现实世界中客观存在并可相互区别的事物。(2)(2)属性:属性:实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。 (3

11、)(3)码(码(keykey):):唯一表示实体的属性集称为码。唯一表示实体的属性集称为码。(4)(4)域(域(DomainDomain):):属性的取值范围。属性的取值范围。(5 5)实体集:)实体集:具有相同特征或能用同样特征描述的实体集合。具有相同特征或能用同样特征描述的实体集合。 组成实体集的各实体称为实体集的外延。组成实体集的各实体称为实体集的外延。例如:某单位所有员工称为实体集例如:某单位所有员工称为实体集EmployeeEmployee的外延。的外延。(6 6)实体型:)实体型:具有相同属性的实体必然具有共同的特征和性质。具有相同属性的实体必然具有共同的特征和性质。用实体名及其属

12、性名集合来抽象和刻画同类实体,称为实体用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。型。例如:员工(员工编号、姓名、部门、性别、年龄、职称)就例如:员工(员工编号、姓名、部门、性别、年龄、职称)就是一个实体型。是一个实体型。2.2.1 基本概念基本概念(7 7)联系)联系: 实体内部的联系:实体内部的联系:组成实体的各属性之间的组成实体的各属性之间的联系联系(如:学号姓名)(如:学号姓名)。 实体之间的联系:实体之间的联系:不同实体集之间的联系。不同实体集之间的联系。 两个实体型之间的联系可分为三类:两个实体型之间的联系可分为三类: 1对对1联系联系(1:1) 1对多联系对多联系(1

13、:n) 多对多联系多对多联系(m:n)2.2.1 基本概念基本概念 1对对1联系:联系: 定义:若对于实体集定义:若对于实体集A A中的每一个实体,实中的每一个实体,实体集体集B B中中至多至多有一个实有一个实体与之联系,反之亦体与之联系,反之亦然,则称实体集然,则称实体集A A与实与实体集体集B B具有一对一联系,具有一对一联系,记为记为1:11:1。 例:部门例:部门-负责人负责人实体型实体型A联系名联系名实体型实体型B11位于位于部门部门负责人负责人112.2.1 基本概念基本概念 1 1对多联系对多联系: : 定义:若对于实体集定义:若对于实体集A A中中的每一个实体,实体集的每一个实

14、体,实体集B B中有中有n n个个实体实体(n0)(n0)与之与之联系,反之,对于实体集联系,反之,对于实体集B B中的每一个实体,实体中的每一个实体,实体集集A A中中至多至多只有一个实体只有一个实体与之联系,则称实体集与之联系,则称实体集A A与实体集与实体集B B具有一对多联具有一对多联系,记为系,记为1:n1:n。 例:部门例:部门-员工员工实体型实体型A联系名联系名实体型实体型B1n属于属于部门部门员工员工1N2.2.1 基本概念基本概念 多对多联系多对多联系: 定义:若对于实体集定义:若对于实体集A A中的每一个实体,实体中的每一个实体,实体集集B B中有中有n n个个实体实体(n

15、0)(n0)与之联系,反之,对于与之联系,反之,对于对于实体集对于实体集B B中的每一中的每一个实体,实体集个实体,实体集A A中也中也有有m m个个实体实体(m0)(m0)与之与之联系,则称实体集联系,则称实体集A A与与实体集实体集B B具有多对多联具有多对多联系,记为系,记为m:nm:n。 例:学生例:学生-课程课程实体型实体型B实体型实体型A联系名联系名mn选课选课学生学生课程课程MN2.2.1 基本概念基本概念 同一实体集内的各实体之间也存在着一对一、同一实体集内的各实体之间也存在着一对一、一对多和多对多的联系一对多和多对多的联系.员工员工领导领导1n同一实体集内一对多联系同一实体集

16、内一对多联系员工员工配偶配偶11同一实体集内一对一联系同一实体集内一对一联系2.2.1 基本概念基本概念 一般地,两个以上实体型之间也存在着一对一、一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系一对多和多对多的联系.学生学生教师教师课程课程选课选课mnn三个实体型之间的多对多关系三个实体型之间的多对多关系(8 8)弱实体集:)弱实体集: 在描述实体的过程中,有些实体集的属性可能在描述实体的过程中,有些实体集的属性可能不足以形成主码,需要依赖其他实体集中的部分不足以形成主码,需要依赖其他实体集中的部分属性。这样的实体集叫做弱实体集,不需要依赖属性。这样的实体集叫做弱实体集,不需要

17、依赖其他的实体的实体集称为强实体集。其他的实体的实体集称为强实体集。 例如一个单位的员工实体集例如一个单位的员工实体集EmployeeEmployee与工作履与工作履历实体集历实体集CareerCareer,则工作履历实体集,则工作履历实体集CareerCareer是以是以职工存在为前提的,即工作履历实体集职工存在为前提的,即工作履历实体集CareerCareer是是弱实体集。弱实体集。 2.2.1 基本概念基本概念2.2.2 E-R图设计图设计 用用E-R图来描述现实世界的概念模型。图来描述现实世界的概念模型。 E-R图提供了表示实体集、属性和联系的方法。图提供了表示实体集、属性和联系的方法

18、。矩形框表示实体矩形框表示实体椭圆形表示属性椭圆形表示属性菱形表示联系菱形表示联系连接实体型与联系类型,也可用于表示实体与属性的联系连接实体型与联系类型,也可用于表示实体与属性的联系并注明种类;对构成码的属性,在属性名下画一横线表示并注明种类;对构成码的属性,在属性名下画一横线表示。注:用虚边矩形和虚边菱形分别表示弱实体和弱实体之间的联系。注:用虚边矩形和虚边菱形分别表示弱实体和弱实体之间的联系。2.2.2 E-R图设计图设计 确定实体类型确定实体类型:几个实体类型及相应的实体名:几个实体类型及相应的实体名 确定联系类型确定联系类型:各实体类型之间是否有联系,是:各实体类型之间是否有联系,是何

19、种联系类型及相应的联系名何种联系类型及相应的联系名. . 连接实体类型和联系类型,组合成连接实体类型和联系类型,组合成E-RE-R图图 确定实体类型和联系类型的属性确定实体类型和联系类型的属性 确定实体类型的码确定实体类型的码 例:学生选修课程例:学生选修课程学生学生课程课程选修选修姓名姓名学号学号系别系别成绩成绩用矩形表用矩形表示实体示实体用椭圆表示实体用椭圆表示实体的属性的属性用无向边把用无向边把实体与其属实体与其属性连接起来性连接起来用菱形表示实体用菱形表示实体间的联系间的联系实体与联系用线段连实体与联系用线段连接并注明类型接并注明类型mn课程号课程号课程名课程名学分学分2.2.2 E-

20、R图设计图设计-ER图实例图实例举例:为仓库管理设计一个举例:为仓库管理设计一个E-R模型,该仓库主要管理零模型,该仓库主要管理零件的入库、出库和采购等事项;仓库根据需要向外面厂件的入库、出库和采购等事项;仓库根据需要向外面厂家(供应商)订购零件,而许多工程项目需要仓库供应家(供应商)订购零件,而许多工程项目需要仓库供应零件;一个仓库有多个保管员。零件;一个仓库有多个保管员。实体有:实体有: 仓库:仓库:属性有仓库号、仓库面积、电话号码。属性有仓库号、仓库面积、电话号码。 零件:零件:属性有零件号、名称、规格、单价、描述。属性有零件号、名称、规格、单价、描述。 供应商:供应商:属性有供应商号、

21、姓名、地址、电话号码、帐属性有供应商号、姓名、地址、电话号码、帐号。号。 项目:项目:属性有项目号、预算、开工日期。属性有项目号、预算、开工日期。 职工:职工:属性有职工号、姓名、年龄、职称。属性有职工号、姓名、年龄、职称。2.2.2 E-R图设计图设计-ER图实例图实例实体之间的联系如下:实体之间的联系如下: 一个仓库可以存放多种零件,一种零件可以存一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,某种零件在某个仓库中的数放在多个仓库中,某种零件在某个仓库中的数量用库存量描述。量用库存量描述。仓库仓库:零件零件 m : n仓库仓库:职工职工1:n职工实体集之间职工实体集之间1:n供应商

22、供应商:项目项目:零件零件 m : n :p 一个仓库有多个职工当仓库保管员,一个职工一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。只能在一个仓库工作。 职工之间具有领导被领导的关系,即仓库主任职工之间具有领导被领导的关系,即仓库主任领导若干保管员。领导若干保管员。 一个供应商可以供给若干项目多种零件,每个一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。件可由不同供应商供给。2.2.2 E-R图设计图设计-ER图实例图实例 如果某个部门的概念模型中涉及的实体和实体属如果某个部门的概念模型

23、中涉及的实体和实体属性较多,可以把实体及其属性在另一个图上画出。性较多,可以把实体及其属性在另一个图上画出。实体及其属性图实体及其属性图仓库仓库仓库号仓库号面积面积电话号电话号2.2.2 E-R图设计图设计-ER图实例图实例供应商供应商项目项目零件零件供应供应供应量供应量库存库存仓库仓库库存量库存量职工职工领导领导工作工作nmpmn1n1n实体及其联系图实体及其联系图2.2.2 E-R图设计图设计-ER图实例图实例【例【例2.12.1】某电力公司的配电物资存放在仓库中,假某电力公司的配电物资存放在仓库中,假设一个仓库可以存放多种物资,一种配电物资只设一个仓库可以存放多种物资,一种配电物资只能存

24、放在一个仓库中;一个配电抢修工程可能需能存放在一个仓库中;一个配电抢修工程可能需要多种配电物资,一种配电物资可以应用到多个要多种配电物资,一种配电物资可以应用到多个抢修工程中。仓库包含仓库编号、仓库名称仓库抢修工程中。仓库包含仓库编号、仓库名称仓库面积等属性,配电物资包含物资编号、物资名称、面积等属性,配电物资包含物资编号、物资名称、单价、规格、数量等属性,抢修工程包含工程编单价、规格、数量等属性,抢修工程包含工程编号、工程名称、工程开始日期、工程结束日期、号、工程名称、工程开始日期、工程结束日期、工程状态(工程是否完工)等属性,某一抢修工工程状态(工程是否完工)等属性,某一抢修工程领取某配电

25、物资时,必须标明领取数量、领取程领取某配电物资时,必须标明领取数量、领取日期、领取部门。日期、领取部门。 【例【例2.22.2】某工厂有若干车间及仓库,一个车间可以某工厂有若干车间及仓库,一个车间可以生产多种零件,每种零件只能在一个车间生产,生产多种零件,每种零件只能在一个车间生产,一种零件可以组装在不同产品中,一种产品需要一种零件可以组装在不同产品中,一种产品需要多种零件,每种零件和产品都只能存放在一个仓多种零件,每种零件和产品都只能存放在一个仓库中;车间有工人,工人有家属。库中;车间有工人,工人有家属。各实体的属性为:各实体的属性为:车间:车间:车间号、车间主任姓名、地址和电话;车间号、车间主任姓名、地址和电话;工人:工人:工号、姓名、年龄、性别、工种;工号、姓名、年龄、性别、工种;工厂

温馨提示

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

评论

0/150

提交评论