第2章 数据模型与概念模型
• 概念模型(E-R图):
思考题:某公司的业务活动统计 。 任务:要求统计公司各部门承担的工程项目及职工参与工程项 目情况。 分析: 一、实体集及属性: 实体集有:部门、职工、工程项目。 • 部门有部门号、部门名称两个属性; • 职工有职工号、姓名、性别属性; • 工程项目有工程号、工程名两个属性; 二、联系 • 每个部门承担多个工程项目,每个工程项目属于一个部门。 • 每个部门有多名职工,每一名职工只能属于一个部门。 • 每个职工可参与多个工程项目,且每个工程项目有多名职工参 与。 • 职工参与项目有参与时间。
计算机中对信息的表示和处理与计算机软硬件有关,
描述的数据不便于直接在计算机上实现,必须经过数字
化处理,转换成适合特定计算机系统(主要是DBMS)的
形式描述,形成计算机能够表示和处理的数据,这时就
进入了信息的计算机世界,或机器世界、数据世界。
下面就是一个学生-课程系统:
姓名 性别 年龄 所在院系
学号
2. 信息世界 通过对现实世界中事物及联系的认识,经过选择、 命名、分类等分析后形成印象和概念,并用一定形式加 以抽象描述,就进入信息世界。 如:
张三、李四是学生,分为一类,构成学生实体集,选择部分特 征并命名,描述为: 学生(学号、姓名、性别、年龄、所在院系) 数据库原理、数据结构是课程,分为一类,构成课程实体集, 选择部分特征并命名,描述为: 课程(课程号、课程名、学分)
(4) 域(Domain) 属性的取值范围称为属性的域。
2. 实体联系的类型 (1)两个实体集之间的联系 1) 一对一联系(1:1):设有两个实体集A和B,对于A 中的每一个实体, B中至多有一个实体与之联系; 反之亦然。 工厂 2) 一对多联系(1:n 1 ):设有两个实体集A和B,对于A 的每一个实体, B中有一个或多个实体与之联系; 负责 而对于B的每一个实体,A中至多有一个实体与之联 1 职工 学校 系。 厂长 3) 多对多联系(m:n):设有两个实体集 A和B,对于A 1 m 的每一个实体,B中有一个或多个实体与之联系; 参加 工作 反之亦然。 n n 一对一的联系是一对多联系的特例,一对多的联系是 体育团体 教师 多对多联系的特例
型:名称-学分,数据类型-实型,宽度-3,值域-[0,10]
值:三门课程学分数据项的值分别是:3.5 、3.5 、 3.0
(2) 记录(Record):是实例的数据表示。记录有型和值 之分:
学号 姓名 年龄 年龄 所在系 记录的型是结构,由数据项的型构成;
如学生信息中记录的型是学号,姓名,性别,年龄, 10025个数据项组成 20 李四 女 数学 所在院系
一个实体集内部实体间存在一对一,一对多,或多对多的 联系,如领导者与职工间的联系。
职工号 1001 n 领导 1002 1003 …… 姓名 职务
职工 1
张三
李四 王五 ……
经理
员工 员工 ……
二、 概念模型的表示方法(Entity- Relationship)
1) 用长方形表示实体集,长方形内写明 实体集名。 学号 姓名
学号 1001
1002 1003
姓名 张三
李四 王五
年龄 男
女 女
年龄 18
20 19
所在系 计算机
数学 计算机
在现在的多数数据库管理系统,一个物理文件往 往可包含多记录集合。
4、数据模型: 现实世界的事物反映到计算机世界中就形成了文件的 记录结构和记录,事物间的联系形成不同文件间的记录
联系,记录结构及其记录联系的数据化结果就是数据模
转化 数据化
计算机世界 数据模型
2.1.2
概念模型及其表示
模型:对现实世界的抽象和模拟(概念模型、数据模 型)。 概念模型:是对信息世界管理的对象、属性及联系等 信息的描述形式。 概念模型不依赖计算机及DBMS,它是现实世界的 真实、全面反映。
2.1.2
概念模型及其表示
一、 概念模型的基本概念
如某个学生(张三)、某门课程(数据库原理) 等,分为事物实体和概念实体。
(2) 实体的特征
每个实体都有自己的诸多特征。 学生的特征:学号、姓名、性别、年龄、所在院系、 身高、体重等。 课程的特征:课程号、课程名、学分、先导课等。
每个实体都是通过这些特征来描述的,利用实体 的特征可以区别不同的实体。
在信息世界中: 实体的特征在头脑中形成知识称为属性 如:(1001,张三,男, 18, 计算机)分别对应属性为:
(学号、姓名、性别、年龄、所在院系)
实体通过其属性表示称为实例 如: (1001,张三,男, 18, 计算机)和 (KC05,数据
库原理,3.5)都是实例 实例只含实体的部分特征; 实体与实例不同,如“张三”是实体, (1001,张三, 男, 18, 计算机)是实例
课程名 数据结构 数据库原理 软件工程
学分 3.5 3.5 3
学号 1001 1001 1002
课程号 成绩 Kc01 Kc02 Kc01 80 75 85
在计算机世界中,信息世界的属性、实例、对象描 述为:
(1) 数据项(Item):是对象属性的数据表示。数据项有型 和值之分,型是通过名称、数据类型、宽度和值域等 来描述。 如数据项学分:
学生 n 选课 m 课程
课程名
学分
案例一:学生运动会成绩统计 任务:要求统计班级和运动员的成绩 分析: 一、实体集及属性 (1)实体集:班级、运动员、项目 (2)班级属性:班级号、班级名、专业、人数 (3)运动员属性:运动员号,姓名,性别,年龄 (4) 比赛项目属性:项目号,名称,比赛地点 二、联系 (5)每个班级有若干运动员,运动员只能属于一个班, (6)每名运动员可参加多项比赛,每个项目可有多人参加 (7)要求能够公布每个比赛项目的运动员成绩
第2章 数据模型与概念模型
2.1 概念模型及其表示
2.1.1 信息的三种世界及其描述 2.1.2 概念模型的基本概念 2.1.3 概念模型的表示方法
2.2 常见的数据模型
2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 数据模型概述 层次模型 网状模型 关系模型 面向对象数据模型 对象关系数据模型
2.1
概念模型
数据库系统最基本任务:
收集现实世界中存在的信息
组织存储到计算机
提供给用户使用。
2.1.1
信息的三种世界及其描述
信息的三种世界:
指将客观世界中存在的信息转换
为计算机所能接受的数据形式所经
历的三个阶段,分别是:
现实世界 信息世界
计算机世界
不同阶段信息的存在形态或描述形 式不同
同类实例的集合称为对象; 实体集之间的联系用对象联系表示,上例对象联系 表示为,学生与课程对象间“选课“联系。
信息世界通过概念模型、过程模型和状态模型反 映现实世界,它要求对现实世界中的事物、事物间的 联系和事物的变化情况准确、如实、全面地表示。 概念模型:是通过对象、属性和联系对现实世界和 事物及联系给出静态的描述,而概念模型一般用E- R图(Entity-Relationship Approach)来表示。
数据库是根据概念模型经过进一步转换来设计的。
过程模型和状态模型:着重描述对事物的变化,是 软件设计的基础,反应了软件的基本功能,但对数据 库的设计有重要参考作用。
学号
姓名
性别
学生
年龄
所在院系
n
成绩
选课
m
课程
课程号
课程名
学分
学生-课程的概念模型(E-R图)
3. 信息的计算机世界 概念模型是对现实世界信息的一种抽象描述,这种形式
学生(学号,姓名,性别,年龄,所
学生 n 成绩 选课 m 课程
在院系)
课程(课程号,课程名,学分)
选课(学号,课程号,成绩) 数据模型(逻辑模式)
课程号
课程名
学分
概念模型
学生
学号 1001 1002
姓名
年龄
张三
李四
男
女
年龄 18 20
所在系
计算机
数学
1003
王五
女
19
计算机
课程
选课
课程号 Kc01 Kc02 Kc03
1. 概念模型涉及的基本概念 (1) 对象(Object)和实例(Instance) 对象: 是实体集的抽象,现实世界中具有相同性质、服从相同 规则的一类事物(概念)的抽象称为对象。
实例:是实体的抽象,对象中的每一个具体的事物(实体)为 该对象的实例。
有些地方也直接用实体集和实体来表示对象和实例
(2) 属性(Attribute) 属性为实体的某一方面特征的抽象表示。
(3) 码、主码(Primary Key)和次码(Secondary Key)
码能够惟一标识一个实体的属性或属性组,码又 称关键字,如:
学生:学号,姓名,性别,年龄,所在院系 课程:课程号,课程名,学分
码可以不唯一。可选取其中一个为主码,其余码 称为候选码。 码可以是属性或属性组,若是属性组,则不能含 多余(最小性)的属性。 不能惟一标识实体的属性叫次码。如班级、成绩。
(2) 多实体集之间的联系
1) 多实体集之间的一对多联系。
设实体集E1,…En,对于实体集Ej(j=1,… n)中的
一个给定实体, Ej中的一个实体与其它实体集中一 个或多个实体联系,而其他实体集Ei(ij)中的一个实 体只与Ej中一个实体联系,则称Ej与E1…,En之间的 联系是一对多的。
课程 1
信息的三种世界术语的对应关系表
现实世界 信息世界 计算机世界
实体 特征 实体集 实体间的联系
实例 属性 对象 对象间的联系 概念模型
记录 数据项 数据或文件 数据间的联系 数据模型