当前课程知识点:数据库系统原理与开发 > 第4章 数据库设计与实现 > 4.2 E-R模型方法 > 4.2.1 E-R模型方法-1
大家好!
我是主讲教师陆鑫
下面我们开始学习数据库课程
第4.2小节 E-R模型方法——基本建模
本节学习目标如下
1)了解E-R模型用途
2)理解E-R模型中的实体、属性、联系
3)掌握E-R模型基本建模方法
下面开始学习E-R模型
一、E-R模型是什么?
E-R模型是“实体-联系模型”(Entity-Relationship Model)的简称
它是一种描述现实世界概念数据模型、逻辑数据模型的有效方法
E-R模型最早由美籍华人计算机科学家
Peter Chen(陈品山)于1976年提出
该模型方法在数据库设计领域
得到了广泛的使用
大部分数据库设计工具产品
均支持使用E-R模型方法
进行数据库概念数据模型与逻辑数据模型设计
二、E-R模型的基本元素
在E-R模型中
基本元素包括实体、属性、标识符和联系
1.实体
实体(Entity)是指问题域中存在的
人、事、物、地点等客观事物在逻辑层面的数据抽象
它用于描述事物的数据对象
如客户、交易、产品、订单等
例如 一个客户实体在E-R模型中
可以用如下图形符号表示
在E-R模型中
每个实体均采用方框符号来表示
并用实体名称命名
2.属性
属性是指描述实体特征的数据项
每个实体都具有1个或多个属性
例如 一个学生实体包含多个属性
可以用如下模型符号表示
在实体模型符号的方框中命名
该实体的各个属性名称
如学生实体的基本属性包含
学号、姓名、身份证号、性别、专业等
3.标识符
标识符是一种标识不同实体实例的属性
标识符可以是一个或多个属性
例如 学生实体
成绩表实体的标识符在模型中表示如下图所示
学生实体标识符
成绩表实体标识符
在模型图中
标识符是带有下划线或有特定标识符号的属性
如学生实体的标识符为学号
成绩表标识符为学号和课程号
标识符与关系中的主键类似
但它们也有区别
标识符与主键的区别是标识符是一个逻辑概念
主键是物理概念
4.联系
联系(Relationship)是指实体之间的联系
如“学生”与“成绩”的联系
“孩子”与“父亲”、“母亲”的联系等
实体联系在E-R模型图中的表示
如下图所示
联系中关联的实体数目称为联系度数
学生实体与成绩实体的联系度数为2
父亲、母亲、孩子的实体联系度数为3
练习 下面图中各个实体联系度数
分别是多少?
第1个实体联系度数为一元联系
第2个为二元联系
第3个为三元联系
三、实体-联系类型
二元实体联系的数量关系类型
有1对1(1:1)联系
1对多(1:N)联系
多对多(M:N)联系
以下分别给出这三类联系的实例
见下图所示
学生与学生证为1对1联系
班级与学生实体为1对多联系
教师与学生实体为多对多联系
在E-R模型中
二元实体之间的数量关系对应关系
采用实体符号旁边的数字1或M、N字母标记
上述实体之间的联系反映了一个给定实体有多少实例
与另一实体实例存在的数量对应关系
还可以采用术语基数(Cardinality)来表示
见下图所示
实体标记的最小数量值为最小基数
实体标记的最大数量值为最大基数
在实体之间除了需要反映了数量对应关系
有时还需要反映实体参与关系的必要性
即可选(optional)或强制(mandatory)
见下图所示
在二元实体联系中
若一端实体为强制参与
在模型符号上标记为短线
另一端实体为可选参与
在模型符号上标记为小圆圈
例如 导师、学生实体联系中
导师实体为强制参与
学生实体为可选参与
四、鸟足版本的E-R模型符号
在经典的数据库建模工具中
常用鸟足版本的E-R符号表示数据模型
见下图所示
在表示二元实体联系中
使用实体两端不同符号表示实体数量关系
联系参与性
如职员实体与工作证实体之间为1对1联系
班级实体与学生实体为1对多联系
教师实体与课程实体之间为多对多联系
鸟足版本的实体-联系符号含义
见下图所示
在图表中
第1个符号表示实体联系为可选参与
最小基数为0 最大基数为1
第2个符号表示实体联系为强制参与
最小基数为1 最大基数为1
第3个符号表示实体联系为可选参与
最小基数为0 最大基数为n
第4个符号表示实体联系为强制参与
最小基数为1 最大基数为n
五、E-R模型基本建模示例
例如 工程项目管理系统的E-R模型见下图所示
在该E-R模型图中
可以看到该系统有四个实体“部门表”
“员工表”、“项目表”、“任务表”
其中“部门表”实体与“员工表”实体之间为1对多联系
它们均为强制参与联系
“部门表”实体与“项目表”实体之间为为1对多联系
项目表实体为可选参与联系
“项目表”实体与“任务表”实体之间为1对多联系
它们均为强制参与联系
“员工表”实体与“任务表”实体之间为1对多联系
任务表实体为可选参与联系
好了,本节学习结束!
-1.1 数据库及其系统概念
-1.2 数据库技术发展
-1.3 数据库应用系统
-1.4 典型数据库管理系统
-1.5 PostgreSQL对象-关系数据库系统软件
-第1章 数据库系统概论--本章单元测试
-2.1 关系及其相关概念
-2.2 关系模型原理
-2.3 PostgreSQL数据库关系操作实践
-第2章 数据库关系模型--本章单元测试
-3.1 SQL语言概述
-3.2 数据定义SQL语句
-3.3 数据操纵SQL语句
-3.4 数据查询SQL语句
-3.5 数据控制SQL语句
-3.6 视图SQL语句
-3.7 PostgreSQL数据库SQL实践
-第3章 数据库操作SQL语言--本章单元测试
-4.1 数据库设计概述
-4.2 E-R模型方法
-4.3 数据库建模设计
-4.4 数据库规范化设计
-4.5 数据库设计模型SQL实现
-4.6 基于Power Designer的数据库设计建模实践
--4.6 基于Power Designer的数据库设计建模实践
-第4章 数据库设计与实现--本章单元测试
-5.1 数据库管理概述
-5.2 事务管理
--5.2 事务管理
-5.3 并发控制
-5.4 安全管理
-5.5 数据库备份与恢复
-5.6 PostgreSQL数据库管理项目实践
-第5章 数据库管理--本章单元测试
-6.1 数据库连接技术
-6.2 数据库存储过程
-6.3 数据库触发器
-6.4 数据库游标
-6.5 嵌入式SQL编程
-第6章 数据库应用编程--本章单元测试
-7.1 NoSQL数据库概述
-7.2 列存储数据库
-7.3 键值对数据库
-7.4 文档型数据库
-7.5 图形数据库
-7.6 HBase数据库项目实践
-第7章 NoSQL数据库技术--本章单元测试
-期末测试--期末测试