第2章 数据模型与概念模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 信息的三种世界及其描述
1. 信息的现实世界
要管理的客观存在的各种事物、事务之间的相互联 系及事物的发生、变化过程。 (1)实体(Entity) 现实世界中存在的可以相互区分的事物或概念。 (2) 实体的特征(Entity Characteristic)
每个实体都有自己的特征,利用实体的特征可以区 别不同的实体。 (3) 实体集及实体集间的联系(Relation) 具有相同特征或能用同样特征描述的实体的集合。
2.3.5 面向对象关系数据模型
6. 类的继承性 1)单继承 2)多重继承 优点: 1)是建模的的有力工具,提供了对现实世界描述 2)继承性提供了信息重用机制 7. 滞后联编 8. 对象的嵌套
2.3.6 对象关系数据模型
1. 对象关系数据模型的概念 对象关系数据模型使用二维表表示数据,它包括 关系表和对象表两种。关系表属于关系模型,关 系的属性对应于表的列,关系的元组对应于表的 行,关系模型装不支持方法。对象表属于面向对 象数据模型,支持面向对象的基本功能,对象的 类抽象对应二维表,类的实例(对象)对应于表 中的行,类的属性对应于表的列,通过对象可调 用方法。
学号
姓名
年龄
班级
选课
040011
040012 040013 课程号 C20 C32
王刚
李力 田红
20
21 20
04(2)
04(2) 04(3) 课程号 C20 课程名 数据库 成绩 67
课程名 成绩 数据库 86 软件工程 75
课程
1 讲授 m n n
供应商
m 供应 p
教师
参考书
项目
零件
2.2.2
概念模型的表示方法
1) 用长方形表示实体集,长方形内写明实体集名。 2) 用椭圆形表示实体集的属性,并用线段将其与相应的实 体集连接起来。 3) 用菱形表示实体集间的联系,菱形内写上联系名,用线 段分别与有关实体集连接起来,在线段旁标出联系的类型。 如果联系具有属性,则该属性仍用椭圆框表示,仍需要用 线段将属性与其联系连接起来。
• 关系操作主要包括数据查询和插入、删除、修改数据。 • 关系中的数据操作是集合操作。 • 关系操作语言都是高度非过程的语言 • 关系的完整性约束条件包括三类:实体完整性、参照 完整性和用户定义的完整性。
3. 关系模型与非关系模型比较
1) 关系数据模型建立在严格的数学基础之上。 2) 关系数据模型的概念单一,容易理解。 3) 关系数据模型的存取路径对用户隐蔽。 4) 关系模型中的数据联系是靠数据冗余实现的。
码能够惟一标识一个实体;不能惟一标识实体的属性叫次码。
(4) 域(Domain)
属性的取值范围称为属性的域。
2. 实体联系的类型
(1) 两个实体集之间的联系
1) 一对一联系(1:1):设有两个实体集A和B,对于 A中的每一个实体, B中至多有一个实体与之联系; 反之亦然。 2) 一对多联系(1:n):设有两个实体集A和B,对 于A的每一个实体,B中有一个或多个实体与之联 系;而对于B的每一个实体,A中至多有一个实体 与之联系。 3) 多对多联系(m:n):设有两个实体集A和B,对 于A的每一个实体,B中有一个或多个实体与之联 系;反之亦然。
2.3.3 网状数据模型
1. 网状模型的数据结构
(1) 网状模型结构的基本特征
1) 有一个以上的结点没有双亲。2) 结点可以有多于一个的双亲。
(2) 网状模型的数据表示方法
1) 使用记录和记录值表示实体集和实体;每个结点表示一个记录, 每个记录包含若干个字段。 2) 联系(系)用结点间的有向线段表示。每个有向线段表示一个记录 间的一对多的联系。
20 20
92003 92004
数据库 人工智能
2. 层次模型的完整性约束条件
(1) 在进行插入记录值操作时,如果没有指明相应 的双亲记录值(首记录值),则不能插入子女 记录值(属记录值)。 (2) 进行删除记录操作时,如果删除双亲记录值 (首记录值),则相应的子女结点值(属记录 值)也同时被删除。 (3) 进行修改记录操作时,应修改所有相应记录, 以保证数据的一致性。
学生
学号
姓名
性别
年龄
所在系
2.3
常见的数据模型
2.3.1 数据模型概述
1. 数据模型的三要素
1) 数据结构:所研究的对象类型的集合。包括与数据类型、内容、 性质有关的对象;与数据之间联系有关的对象。 2) 数据操作:对数据库中各种数据对象允许执行的操作集合。包 括操作对象和有关的操作规则两部分。 3) 数据约束条件:一组数据完整性规则的集合。
1. 关系模型的数据结构
(1) 关系模型中的主要术语
1) 关系。一个关系对应通常所说的一张二维表。 2) 元组。表中的一行称为一个元组。 3) 属性。表中的一列称为一个属性。 4) 主码。表中的某个属性或属性组,值可以惟一地确定一个元组, 且属性组中不含多余的属性。 5) 域。属性的取值范围称为域。 6) 分量。元组中的一个属性值称为分量。 7) 关系模式。关系的型称为关系模式,是对关系的描述。
相互联系数据化的结果就是数据模型。
4. 现实世界、信息世界和计算机 世界的关系
信息的三种世界术语的对应关系表 现实世界 实体 特征 实体集 信息世界 实例 属性 对象或实体型 计算机世界 记录 数据项 数据或文件
实体间的联系
对象间的联系
概念模型
数据间的联系
数据模型
现实世界、信息世界和计算机 世界的关系
• 关系表的属性不支持数组类型,更不支持可变长的数 组类型。对于一些数据个数不确定的信息,关系表只 能独立新建表的方法解决。对象表增加了数组类型, 用户可以使用可变长的数组类型保存记录中数据个数 不一样的属性数据。
学生-选课的对象表
学号 姓名 年龄 班级 课程名 数据库 040011 040012 040013 王刚 20 21 20 04(2) 04(2) 04(3) 成绩 72
3. 信息的计算机世界
1) 数据项(Item):对象属性的数据表示。 2) 记录(Record):实例的数据表示。记录有型和值 之分:记录的型是结构,由数据项的型构成;记录 的值表示对象中的一个实例,它的分量是数据项值。 3) 文件(File):对象的数据表示,同类记录的集合。
4) 数据模型(Data Model):现实世界中的事物和
教学院系数据模型 院系 院系编号 院系名称 办公地点
教研室 教研室编号 教研室 教师
职工号 姓名
学号 专业方向
姓名
年龄
学生
教学院系数据库的一个实例
D10 计算机系 9号楼
C01 C02 92001 92002 王海 张铮 电器 自动化
硬件教研室 软件教研室
00001 00002 许明 陈真
王平 李丽
2. 常见的数据模型
层次模型、网状模型和关系模型。 在非关系模型中,实体集用记录 表示,实体的属性对应记录的数据项 (或字段)。实体集之间的联系转换 成两两记录之间的联系。非关系模型 中数据结构的单位是基本层次联系。 Ri
Lij
Rj
2.3.2
层次数据模型
1. 层次模型的数据结构
(1) 层次模型的定义
2. 信息世界
在信息世界中:实体的特征在头脑中形成的知识 称为属性;实体通过其属性表示称为实例;同类实例 的集合称为对象,对象即实体集中的实体用属性表示
得出的信息集合;实体集之间的联系用对象联系表示。
信息世界通过概念模型、过程模型和状态模型反映现
实世界,它要求对现实世界中的事物、事物间的联系
和事物的变化情况准确、如实、全面地表示。
2. 对象表的数据类型和表结构特点 (1)对象表的属性支持复合数据类型
关系表强调属性数据只能是不可分割的简单数据项,复 合数据是不允许出现的。对象表的数据可以是基本项, 也可以是组合数据项
学生信息的对象表结构
家庭联系人 学号 姓名 年龄 班级 姓名 与学生关系 电话 单位
(2)对象表的属性支持可变长数组类型
信息的三个世界的联系和转换过程
现实世界 事物及联系
系统分析 信息化
信息世界 信息模型
数据库设计 计算机世界 数据化
源自文库
数据模型
2.2 概念模型及其表示
概念模型是对信息世界的管理对象、属性及联系等信息的描述形式。 概念模型不依赖计算机及DBMS,它是现实世界的真实全面反映。
2.2.1 概念模型的基本概念
R1 R2 R1 R1 R2
L1
R3
L2
L1
R2
L2
L1
R3
L2
L3
R4
2. 网状模型的完整性约束条件
1) 支持记录码的概念。码即惟一标识记录的 数据项的集合。 2) 保证一个联系中双亲记录和子女记录之间是 一对多的联系。 3) 可以支持双亲记录和子女记录之间某些约束 条件。
2.3.4
关系数据模型
1) 有且仅有一个结点没有双亲结点,这个结点称为根结点。 2) 除根结点之外的其他结点有且只有一个双亲结点。
(2)层次模型的数据表示方法
实体集使用记录表示;记录型包含若干个字段;记录值表 示实体;记录之间的联系使用基本层次联系表示。
(3) 层次模型的特点
层次模型像一棵倒立的树,只有一个根结点,有若干个叶结 点,结点的双亲是惟一的。
2.3.5 面向对象数据模型
1. 面向对象数据模型的概念 1)对象与对象标识 2)封装 3)类 4)类层次 5)消息 2. 对象结构与对象标识 1)对象结构 (1)属性集合 (2)方法集合 (3)消息集合 2)对象标识
2.3.5 面向对象数据模型
2)对象标识 1)值标识 2)名标识 3)内标识 3.封装 1)封装可以提高数据的独立性 2)封装可以提高应用程序的可靠性 3)封装会影响数据的查询功能 4.类的概念 5.类的层次结构
C语言
软件工程 数据库 数据库 软件工程
87
76 67 86 75
李力 田红
(3)对象表的属性支持嵌入表数据类型
对象表中的属性,不仅可以是复合数据、数组数据等带结 构的数据,还可以是嵌套表,信息结构更复杂、更丰富。 嵌套表有行和列,表的长短与具体元组有关。
课程号 C20 C11 C32 课程名 数据库 C语言 软件工程 成绩 72 87 76
1. 概念模型涉及的基本概念 (1) 对象(Object)和实例(Instance)
现实世界中具有相同性质、服从相同规则的一类事物(概念) 的抽象称为对象。对象中的每一个具体的事物(实体)为该对象 的实例。
(2) 属性(Attribute)
属性为实体的某一方面特征的抽象表示。
(3) 主码(Primary Key)和次码(Secondary Key)
两个实体集之间的联系
工厂
1
学校
1
职工
m
负责
1 厂长
工作
n 教师
参加
n 体育团体
两个实体集联系的例子
(2) 多实体集之间的联系
1) 多实体集之间的一对多联系。 设实体集E1,…En,对于实体集Ej(j=1,… n)中的一个给定 实体,最多只和其他实体集Ei(ij)中的一个实体相联系,则 称Ej与E1…,En之间的联系是一对多的。 2) 多实体集之间的多对多联系。 在两个以上的多个实体集之间,当一个实体集与其他实 体集之间均存在多对多联系,而其他实体集之间没有联系 时,这种联系称为多实体集间的多对多联系。
(2) 关系模型中的数据全部用关系表示 关系模式一般的表示是: 关系名(属性1,属性2,…,属性n).
关系术语 关系名
一般术语
学生学籍表
学 号 姓 名 性 别
男
年 龄
20
所在系
计算机系
00001 王平
00002 李丽
00010 张晓刚 … …
女
男 …
20
19 …
计算机系
数学系 …
2. 关系操作和完整性约束条件
数据库系统原理 及应用
机械工业出版社
2015-5-7
第2章 数据模型与概念模型
2.1 信息的三种世界及其描述 2.2 概念模型及其表示
2.2.1 概念模型的基本概念 2.2.2 概念模型的表示方法
2.3 常见的数据模型
2.3.1 数据模型概述 2.3.2 层次数据模型 2.3.3 网状数据模型 2.3.4 关系数据模型 2.3.6 对象关系数据模型