第二章数据模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
示例:学生的学号、姓名、生日、年龄、性别、住址等; 课程的课程号、课程名、学时、学分、开课学院等。
分类(按结构):简单属性(不可再分)、复合属性和子属性。 示例:复合—姓名(现用名、曾用名、英文名—子属性); 住址(省、市、区、街道、门牌号、邮政编码—子属性)。 分类(按取值):单值、多值、导出和空值(NULL)等属性。 示例:多值—任期(3年、5年);导出—生日导出年龄。 注意:实体用属性描述,实体型中的所有实体具有相同的 属性。
现实世界
信息世界
数据世界
经过大脑的 认识、抽象
经过转换
10
两类数据模型
抽 象
认 识
信息世界
现实世 界
概念模型
现实世界 概念模型 数据库设计人员完成
概念模型 逻辑模型 数据库设计人员完成
机器世界 DBMS支持的数据模型
逻辑模型 物理模型 由DBMS完成
现实世界中客观对象的抽象过程
11
1、概念模型的用途与要求
售货员与商品之间的联系。
17
联系的描述属性:联系也可以有描述属性(Description Attribute),用于记录联系的信息而非实体的信息。
示例:选课的成绩和学期;零售的数量和日期。 联系的识别:联系由参与的实体唯一确定。 示例:选课(学号、课程号);零售(售货员号、客户号、商 品条码)。
18
联系:用菱形表示,菱形框内写明联系名,并用无 向边分别与有关实体连接起来,同时在无向边旁标上联 系的类型(1:1,1:n或m:n)
键:用下划线表示。
16
4、联系和联系型 (1)联系(Relationship)
概念:二个或多个实体间的关联(Association)。 示例:选课是学生与课程之间的联系;门市零售是客 户、
33
(3)参与约束(Participation Constraints)
概念:是实体与联系之间的约束,即实体如何参与到联系
中。
分类:完全参与(Total Participation)和部分参与
(Partial Participation)。。
提示:用这种方式(约束)来说明现实系统中的某种规
定。
21
1N
NM
1N
如果规定:
①一个员工只能是一个部门的经理,而一个部门只有一个经
理,则该管理联系为1:1联系。
②一个员工可以是多个部门的经理,而一个部门只有一个经
理,则该管理联系为1:N联系。
③一个员工只能在一个部门工作,而一个部门有多个员工,
则该工作联系为N:1联系。
8
3、数据的约束条件
是一组完整性规则的集合。完整性规则是数 据模型中的数据及其联系所具有的约束规则,用 来限定数据库状态以及状态的变化,以保证数据 的正确。
9
二、概念模型(实体联系模型ERM)
事物与联系 事物: 对象、性质 联系: 共同、特殊
概念模型 实体: 对象、属性 实体分级: 总体、单体
数据模型 数据: 记录、项 数据分类: 型、值
两个实体型之间的联系
• 多对多联系(m:n)
– 实例
课程与学生之间的联系:
一门课程同时有若干个学生选修;
一个学生可以同时选修多门课程。
– 定义:
如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与之联 系,反之,对于实体集B中的每一个 实体,实体集A中也有m个实体 (m≥0)与之联系,则称实体集A与 实体B具有多对多联系,记为m:n。
②对于图中的1:N工作联系,说明:给定一个员工实体,即可 唯一地确定一个工作联系的实例。这时,工作联系可用员工的键 (员工号)唯一确定。
32
键约束的好处:前面曾经指出,联系由其所关联的多个
实体唯一确定。但对存在键约束的联系,只需用一个关联的 实体即可唯一地确定该联系。
扩展:多个实体间的联系也存在有键约束的情况。 示例:每个员工最多在一个部门工作,并且在一个地点。
(1)实体(Entity)
概念:一个现实世界中有别于其它对象的对象。 注意:可以是具体的、也可以是抽象的。 示例:某某学生、某某老师、某门课程
(2)实体型(Entity Set)
概念:同类实体的集合。在不混淆的情况下,简称 实体。
示例:学生、教师、课程
13
(3)属性(Attribute)
域(Domain):属性的取值范围。 概念:实体的特征或性质,即实体用属性描述。
14
(4)键(Key)
概念:又称“码”,具有唯一标识特性的一个或一组属性,
用于唯一标 识集合中的实体。 示例:学生的学号;课程的课程号;选课的学号及课程号。
分类(按属性个数):简单键、复合键。 候选键(Candidate Key):又称“候选码”,最小属性集合的键。 主键(Primary Key):又称“主码”,当存在多个候选键时, 需选定一个作为实体的主键。是描述实体的唯一标识。 示例:学生的指纹、眼波、学号等。
4
如何评价数据模型? 真实地描述现实系统 易于为一般用户所理解 易于计算机实现
实体联系数据模型的地位与作用? 实体联系模型(Entity Relationship Model,
ERM)是用得最多且最成熟的概念数据模型。 从数据库系统设计的角度看,ER模型主要用
于DB概念设计,是DB概念设计较常用的设计工具。
(1)比较真实地描述现实世界; (2)易为用户所理解; (3)易于在计算机上实现。
3
几个问题
为什么需要数据模型? 由于数据的定义与操作从应用程序中剥离出来,
交由DBMS来统一管理。于是DBMS需要采用某 种数据结构来定义、存储所要管理的数据。这种 狭义的数据结构类似于DBMS的数据模型。 数据模型含有哪些内容? 数据的静态结构 数据的动态操作(增加、删除、修改、查询) 数据的完整性约束(描述数据、数据之间联系、 数据语义及完整性限制)
(2)联系型(Relationship Set)
概念:相似的一组联系。联系型的实例(Instance)是联系 的集合。在不混淆的情况下,简称联系。
联系型的阶:一个联系型所关联的实体型的数量。阶为n 的联系型称为n元联系型。
示例:选课(二元联系);零售(三元联系)。 注:联系型用菱形图示。
5、联系型存在的各种情况
–实例
供应商、项目、零件三个实 体型。一个供应商可以供给多个 项目多种零件,每个项目可以使 用多个供应商供应的零件,每种 零件可由不同供应商供给。
供应商
m 供应
n
p
项目
零件
两个以上实体型间m:n联系
29
单个实体型内部的联系
•一对多联系
–实例
职工实体型内部具有领导与被 领导的联系,某一职工(干部) “领导”若干名职工,一个职工仅 被另外一个职工直接领导,这是一 对多的联系。
(1)二元(两个实体型之间的)联系(Binary Relationship); (2)三元(两个以上实体型之间的)联系(Ternary Relationship); (3)两个实体型之间可能有多个不同的联系;
19
示例:
(4)有时一个联系型所关联的是同一个实体型中的两个实体。
20
6、 实体联系模型的完整性约束
用给定的数据模型对数据的具体描述
7
一、数据模型的三要素 1、数据结构
用于描述系统的静态特性。数据结构不仅要描 述数据本身,还要描述数据之间的联系。数据结构 是刻画一个数据模型性质最重要的方面。
2、数据操作
用于描述系统的动态特性。包括操作及有关的 操作规则。数据库的主要操作有:插入Leabharlann Baidu删除、 修改和查询。
(1)联系型分类
①一对一联系(one-to-one,1:1)
②一对多联系(one-to-many,1:N)
③多对多联系(many-to-many,M:N)
定义:设联系型R关联实体型A和B。如果对应A中的每一个
实体,B中有且仅有一个实体与之关联,则称R是一对一联系 型, 简记作1 :1联系。如果对应A中的每一个实体,B中有n 个实体 (n>1)与之关联,则称R是一对多联系型,简记作1 :N 联系。 如果对应A中的每个实体,B中有n个实体(n>1)与之关 联,对应B中的每个实体,A中有m个实体(m>1)与之关联,则 称 R是多对多联系型,简记作M :N联系。
课程 m 选修
n 学生
m:n联系
26
两个以上实体型之间的联系
•实例
课程、教师与参考书三个 实体型。一门课程可以有若干 个教师讲授,使用若干本参考 书,每一个教师只讲授一门课 程,每一本参考书只供一门课 程使用。
课程 1 讲授
m
n
教师
参考书
两个以上实体型间1:n联系
28
两个以上实体型之间的联系
•两个以上实体型间的多对 多联系
一个班级中有若干名学生,
每个学生只在一个班级中学习。
– 定义:
如果对于实体集A中的每一个 实体,实体集B中有n个实体(n≥0) 与之联系,反之,对于实体集B中 的每一个实体,实体集A中至多只 有一个实体与之联系,则称实体集 A与实体集B有一对多联系,记为 1:n。
班级 1
组成 n 学生
1:n联系
25
• 概念模型的用途 – 概念模型用于信息世界的建模 – 是现实世界到机器世界的一个中间层次 – 是数据库设计的有力工具 – 数据库设计人员和用户之间进行交流的语言
• 对概念模型的基本要求 – 较强的语义表达能力 – 能够方便、直接地表达应用中的各种语义知识 – 简单、清晰、易于用户理解
12
2、信息世界中的基本概念
④一个员工可以在多个部门工作,而一个部门有多个员工,
则该工作联系为M:N联系。
22
两个实体型之间的联系
用图形来表示两个实体型之间的联系
实体型A 1 联系名
实体型A 1 联系名
实体型A m 联系名
1 实体型B
n 实体型B
n 实体型B
1:1联系
1:n联系
m:n联系
23
两个实体型之间的联系
• 一对一联系(1:1)
– 实例
一个班级只有一个班长 一个班长只在一个班中任职
– 定义:
如果对于实体集A中的每一个 实体,实体集B中至多有一个(也 可以没有)实体与之联系,反之亦 然,则称实体集A与实体集B具有
一对一联系,记为1:1 。
班级 1
班级-班长
1 班长
1:1联系
24
两个实体型之间的联系
• 一对多联系(1:n)
– 实例
15
3、概念模型的表示方法
概念模型是对信息世界建模,所以概念模型 应该能够方便、准确地表示出信息世界中的常用 概念。概念模型的表示方法很多,其中最为常用 的是P.P.S.Chen于1976年提出的实体-联系方法。 该方法用E-R图来描述现实世界的概念模型。
实体型:用矩形表示,矩形框内写明实体名;
属性:用椭圆表示,并用无向边将其与相应的实体 连接起来。
型 物理模型:是对数据最底层的抽象,描述数据在系统内
部的表示方式和存取方法,在磁盘或磁带上的存储方式
和存取方法。
概念数据模型只用于数据库设计, 数据模型用于DBMS的实现
6
数据模式 是对数据的结构、联系和约束的描述。
内模式
概念模式
外模式 外模式
用物理数据模型描述
用逻辑数据模型描述
数据模型是描述数据的手段,而数据模式是
职工
1
n
领导
单个实体型内部 1:n联系
30
(2)键约束或限制(Key Constraints)
说明:前面所述联系型中所关联实体间的三种对应关系,
实际上指的是一些约束,分别为:一对一约束、一对多约束和 多对多约束。
概念:键约束指的是,如果在一个联系R的实例中,其中一
个关联的实体A最多只能出现在一个联系实例中。
5
数据模型 是用来描述数据的一组概念和定义,是描
述数据的手段。
概念数据模型:面向用户,面向现实世界,它是按用户
的观点对数据和信息建模。与DBMS无关,如E-R模型。
数 据 模
逻辑模型:用户从数据库管理系统看到的数据模型,与 DBMS有关,如层次数据模型、网状数据模型、关系数据
模型。它是按计算机系统的观点对数据建模。
注意:只有1:1约束和1:N约束才存在键约束。 图示:键约束可用箭头表示(对于1:N约束,箭头应标在 1:n
的n方,表明给定一个该实体即可唯一确定其间的联系)。
31
①对于图中的1:1管理联系,说明:给定一个部门实体,即可 唯一地确定一个管理联系的实例。这时,管理联系可用部门的键 (部门号)唯一确定,这就是“键约束” 。
第二章 数 据 模 型
数据库原理与应用
1
本章主要内容
一、数据模型的三要素 二、概念数据模型(概念模型) 三、逻辑数据模型(数据模型) 四、数据库系统结构
2
由于计算机不可能直接处理现实世界中的具体事 物,所以人们必须事先把具体事物转换成计算机能 够处理的数据。在数据库中用数据模型这个工具来 抽象、表示和处理现实世界中的数据和信息。通俗 来讲,数据模型就是对现实世界的模拟、描述或表 示。数据模型应满足的三个要求:
分类(按结构):简单属性(不可再分)、复合属性和子属性。 示例:复合—姓名(现用名、曾用名、英文名—子属性); 住址(省、市、区、街道、门牌号、邮政编码—子属性)。 分类(按取值):单值、多值、导出和空值(NULL)等属性。 示例:多值—任期(3年、5年);导出—生日导出年龄。 注意:实体用属性描述,实体型中的所有实体具有相同的 属性。
现实世界
信息世界
数据世界
经过大脑的 认识、抽象
经过转换
10
两类数据模型
抽 象
认 识
信息世界
现实世 界
概念模型
现实世界 概念模型 数据库设计人员完成
概念模型 逻辑模型 数据库设计人员完成
机器世界 DBMS支持的数据模型
逻辑模型 物理模型 由DBMS完成
现实世界中客观对象的抽象过程
11
1、概念模型的用途与要求
售货员与商品之间的联系。
17
联系的描述属性:联系也可以有描述属性(Description Attribute),用于记录联系的信息而非实体的信息。
示例:选课的成绩和学期;零售的数量和日期。 联系的识别:联系由参与的实体唯一确定。 示例:选课(学号、课程号);零售(售货员号、客户号、商 品条码)。
18
联系:用菱形表示,菱形框内写明联系名,并用无 向边分别与有关实体连接起来,同时在无向边旁标上联 系的类型(1:1,1:n或m:n)
键:用下划线表示。
16
4、联系和联系型 (1)联系(Relationship)
概念:二个或多个实体间的关联(Association)。 示例:选课是学生与课程之间的联系;门市零售是客 户、
33
(3)参与约束(Participation Constraints)
概念:是实体与联系之间的约束,即实体如何参与到联系
中。
分类:完全参与(Total Participation)和部分参与
(Partial Participation)。。
提示:用这种方式(约束)来说明现实系统中的某种规
定。
21
1N
NM
1N
如果规定:
①一个员工只能是一个部门的经理,而一个部门只有一个经
理,则该管理联系为1:1联系。
②一个员工可以是多个部门的经理,而一个部门只有一个经
理,则该管理联系为1:N联系。
③一个员工只能在一个部门工作,而一个部门有多个员工,
则该工作联系为N:1联系。
8
3、数据的约束条件
是一组完整性规则的集合。完整性规则是数 据模型中的数据及其联系所具有的约束规则,用 来限定数据库状态以及状态的变化,以保证数据 的正确。
9
二、概念模型(实体联系模型ERM)
事物与联系 事物: 对象、性质 联系: 共同、特殊
概念模型 实体: 对象、属性 实体分级: 总体、单体
数据模型 数据: 记录、项 数据分类: 型、值
两个实体型之间的联系
• 多对多联系(m:n)
– 实例
课程与学生之间的联系:
一门课程同时有若干个学生选修;
一个学生可以同时选修多门课程。
– 定义:
如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与之联 系,反之,对于实体集B中的每一个 实体,实体集A中也有m个实体 (m≥0)与之联系,则称实体集A与 实体B具有多对多联系,记为m:n。
②对于图中的1:N工作联系,说明:给定一个员工实体,即可 唯一地确定一个工作联系的实例。这时,工作联系可用员工的键 (员工号)唯一确定。
32
键约束的好处:前面曾经指出,联系由其所关联的多个
实体唯一确定。但对存在键约束的联系,只需用一个关联的 实体即可唯一地确定该联系。
扩展:多个实体间的联系也存在有键约束的情况。 示例:每个员工最多在一个部门工作,并且在一个地点。
(1)实体(Entity)
概念:一个现实世界中有别于其它对象的对象。 注意:可以是具体的、也可以是抽象的。 示例:某某学生、某某老师、某门课程
(2)实体型(Entity Set)
概念:同类实体的集合。在不混淆的情况下,简称 实体。
示例:学生、教师、课程
13
(3)属性(Attribute)
域(Domain):属性的取值范围。 概念:实体的特征或性质,即实体用属性描述。
14
(4)键(Key)
概念:又称“码”,具有唯一标识特性的一个或一组属性,
用于唯一标 识集合中的实体。 示例:学生的学号;课程的课程号;选课的学号及课程号。
分类(按属性个数):简单键、复合键。 候选键(Candidate Key):又称“候选码”,最小属性集合的键。 主键(Primary Key):又称“主码”,当存在多个候选键时, 需选定一个作为实体的主键。是描述实体的唯一标识。 示例:学生的指纹、眼波、学号等。
4
如何评价数据模型? 真实地描述现实系统 易于为一般用户所理解 易于计算机实现
实体联系数据模型的地位与作用? 实体联系模型(Entity Relationship Model,
ERM)是用得最多且最成熟的概念数据模型。 从数据库系统设计的角度看,ER模型主要用
于DB概念设计,是DB概念设计较常用的设计工具。
(1)比较真实地描述现实世界; (2)易为用户所理解; (3)易于在计算机上实现。
3
几个问题
为什么需要数据模型? 由于数据的定义与操作从应用程序中剥离出来,
交由DBMS来统一管理。于是DBMS需要采用某 种数据结构来定义、存储所要管理的数据。这种 狭义的数据结构类似于DBMS的数据模型。 数据模型含有哪些内容? 数据的静态结构 数据的动态操作(增加、删除、修改、查询) 数据的完整性约束(描述数据、数据之间联系、 数据语义及完整性限制)
(2)联系型(Relationship Set)
概念:相似的一组联系。联系型的实例(Instance)是联系 的集合。在不混淆的情况下,简称联系。
联系型的阶:一个联系型所关联的实体型的数量。阶为n 的联系型称为n元联系型。
示例:选课(二元联系);零售(三元联系)。 注:联系型用菱形图示。
5、联系型存在的各种情况
–实例
供应商、项目、零件三个实 体型。一个供应商可以供给多个 项目多种零件,每个项目可以使 用多个供应商供应的零件,每种 零件可由不同供应商供给。
供应商
m 供应
n
p
项目
零件
两个以上实体型间m:n联系
29
单个实体型内部的联系
•一对多联系
–实例
职工实体型内部具有领导与被 领导的联系,某一职工(干部) “领导”若干名职工,一个职工仅 被另外一个职工直接领导,这是一 对多的联系。
(1)二元(两个实体型之间的)联系(Binary Relationship); (2)三元(两个以上实体型之间的)联系(Ternary Relationship); (3)两个实体型之间可能有多个不同的联系;
19
示例:
(4)有时一个联系型所关联的是同一个实体型中的两个实体。
20
6、 实体联系模型的完整性约束
用给定的数据模型对数据的具体描述
7
一、数据模型的三要素 1、数据结构
用于描述系统的静态特性。数据结构不仅要描 述数据本身,还要描述数据之间的联系。数据结构 是刻画一个数据模型性质最重要的方面。
2、数据操作
用于描述系统的动态特性。包括操作及有关的 操作规则。数据库的主要操作有:插入Leabharlann Baidu删除、 修改和查询。
(1)联系型分类
①一对一联系(one-to-one,1:1)
②一对多联系(one-to-many,1:N)
③多对多联系(many-to-many,M:N)
定义:设联系型R关联实体型A和B。如果对应A中的每一个
实体,B中有且仅有一个实体与之关联,则称R是一对一联系 型, 简记作1 :1联系。如果对应A中的每一个实体,B中有n 个实体 (n>1)与之关联,则称R是一对多联系型,简记作1 :N 联系。 如果对应A中的每个实体,B中有n个实体(n>1)与之关 联,对应B中的每个实体,A中有m个实体(m>1)与之关联,则 称 R是多对多联系型,简记作M :N联系。
课程 m 选修
n 学生
m:n联系
26
两个以上实体型之间的联系
•实例
课程、教师与参考书三个 实体型。一门课程可以有若干 个教师讲授,使用若干本参考 书,每一个教师只讲授一门课 程,每一本参考书只供一门课 程使用。
课程 1 讲授
m
n
教师
参考书
两个以上实体型间1:n联系
28
两个以上实体型之间的联系
•两个以上实体型间的多对 多联系
一个班级中有若干名学生,
每个学生只在一个班级中学习。
– 定义:
如果对于实体集A中的每一个 实体,实体集B中有n个实体(n≥0) 与之联系,反之,对于实体集B中 的每一个实体,实体集A中至多只 有一个实体与之联系,则称实体集 A与实体集B有一对多联系,记为 1:n。
班级 1
组成 n 学生
1:n联系
25
• 概念模型的用途 – 概念模型用于信息世界的建模 – 是现实世界到机器世界的一个中间层次 – 是数据库设计的有力工具 – 数据库设计人员和用户之间进行交流的语言
• 对概念模型的基本要求 – 较强的语义表达能力 – 能够方便、直接地表达应用中的各种语义知识 – 简单、清晰、易于用户理解
12
2、信息世界中的基本概念
④一个员工可以在多个部门工作,而一个部门有多个员工,
则该工作联系为M:N联系。
22
两个实体型之间的联系
用图形来表示两个实体型之间的联系
实体型A 1 联系名
实体型A 1 联系名
实体型A m 联系名
1 实体型B
n 实体型B
n 实体型B
1:1联系
1:n联系
m:n联系
23
两个实体型之间的联系
• 一对一联系(1:1)
– 实例
一个班级只有一个班长 一个班长只在一个班中任职
– 定义:
如果对于实体集A中的每一个 实体,实体集B中至多有一个(也 可以没有)实体与之联系,反之亦 然,则称实体集A与实体集B具有
一对一联系,记为1:1 。
班级 1
班级-班长
1 班长
1:1联系
24
两个实体型之间的联系
• 一对多联系(1:n)
– 实例
15
3、概念模型的表示方法
概念模型是对信息世界建模,所以概念模型 应该能够方便、准确地表示出信息世界中的常用 概念。概念模型的表示方法很多,其中最为常用 的是P.P.S.Chen于1976年提出的实体-联系方法。 该方法用E-R图来描述现实世界的概念模型。
实体型:用矩形表示,矩形框内写明实体名;
属性:用椭圆表示,并用无向边将其与相应的实体 连接起来。
型 物理模型:是对数据最底层的抽象,描述数据在系统内
部的表示方式和存取方法,在磁盘或磁带上的存储方式
和存取方法。
概念数据模型只用于数据库设计, 数据模型用于DBMS的实现
6
数据模式 是对数据的结构、联系和约束的描述。
内模式
概念模式
外模式 外模式
用物理数据模型描述
用逻辑数据模型描述
数据模型是描述数据的手段,而数据模式是
职工
1
n
领导
单个实体型内部 1:n联系
30
(2)键约束或限制(Key Constraints)
说明:前面所述联系型中所关联实体间的三种对应关系,
实际上指的是一些约束,分别为:一对一约束、一对多约束和 多对多约束。
概念:键约束指的是,如果在一个联系R的实例中,其中一
个关联的实体A最多只能出现在一个联系实例中。
5
数据模型 是用来描述数据的一组概念和定义,是描
述数据的手段。
概念数据模型:面向用户,面向现实世界,它是按用户
的观点对数据和信息建模。与DBMS无关,如E-R模型。
数 据 模
逻辑模型:用户从数据库管理系统看到的数据模型,与 DBMS有关,如层次数据模型、网状数据模型、关系数据
模型。它是按计算机系统的观点对数据建模。
注意:只有1:1约束和1:N约束才存在键约束。 图示:键约束可用箭头表示(对于1:N约束,箭头应标在 1:n
的n方,表明给定一个该实体即可唯一确定其间的联系)。
31
①对于图中的1:1管理联系,说明:给定一个部门实体,即可 唯一地确定一个管理联系的实例。这时,管理联系可用部门的键 (部门号)唯一确定,这就是“键约束” 。
第二章 数 据 模 型
数据库原理与应用
1
本章主要内容
一、数据模型的三要素 二、概念数据模型(概念模型) 三、逻辑数据模型(数据模型) 四、数据库系统结构
2
由于计算机不可能直接处理现实世界中的具体事 物,所以人们必须事先把具体事物转换成计算机能 够处理的数据。在数据库中用数据模型这个工具来 抽象、表示和处理现实世界中的数据和信息。通俗 来讲,数据模型就是对现实世界的模拟、描述或表 示。数据模型应满足的三个要求: