2017 第2章 实体联系模型(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

概念模型-- ER模型
是现实世界到机器世界的一个中间层次,概念模型中 最常用的是ER模型(实体联系)模型
ER模型创始人: Peter Chen (陳品山)
– 1983至今任职于Louisiana State University. – Harvard大学博士, – 曾在MIT, UCLA, Harvard工作. – Entity-Relationship (ER 模型)是计算机软件领域
数据模型
现实 世界
信息 世界
机器 世界
E-R模型基本概念
概念模型:也称信息模型,它按用户的观点对数据 和信息进行建模,用于信息世界,它强调语义表达 能力,是现实世界到信息世界的第一次抽象,是用 户和数据库设计人员之间进行交流的语言。
数据模型:用于机器世界,是按计算机系统的观点 对数据建模,它需要有严格的形式化定义,且常常 要加上一些限制和规定,以便机器实现
商店编号 商店名 地址
商店
购物
m
顾客号 姓名 电话
顾客
n
消费金额 日期
基本E-R模型-实例
例4:设计一个图书馆数据库,此数据库对每个借阅者保 存读者记录,包括:读者号、姓名、地址、性别、年龄、 单位。对每本书存有:书号、书名、作者、出版社。对每 本被借出的书存有:书号、读者号、借出日期和应还日期。 每本图书可以具有多种图书类别,每种图书类别可以包含 多本图书。
家属实体集
张林,… 李玲,…
职工号+家属姓名
02,李四,…
李玲,… 王强,…
重名
03,王二,…
王强,… 孙梅,…
重名
扩展的E-R模型--弱实体
弱实体的表示
职工号
年龄
姓名
1:n联系
全参与 部分码
双线框
主卡号
开卡时间
姓名
主信用卡 1
隶属 n
附属信用卡
姓名
性别 出生年月
附卡号
姓名 开卡时间
扩展的E-R模型--类层次
➢ 可以看作是一个概括,即超类是对子类进行概括而得到的 ➢ 概括是自底向上的设计过程,根据实体间共同具有的特 征,将多个实体集综合成一个较高层次的实体集。 ➢ 实体集间存在的共性通过概括来表达。
扩展的E-R模型--类层次
定义在ISA联系上的两种约束关系
➢Overlap约束:Overlap约束用来指定两个子类之 间是否允许包含同一实体
属性(Attribute):实体一般具有若干特征,称之为 实体的属性。例如:学生具有学号、姓名等属性
域(Domain):一个属性可能取值的范围称为这个 属性的域。例如:性别的域值只能为“男”或“女”
E-R模型基本概念
候选码:能够唯一标识实体的属性或最小属性组 称为候选码,可能存在多个候选码,设计者必须 指明一个候选码做主码(关键字)。
➢ 例子:三个实体型之间的联系
m 教师
课程 1
讲授
一对多
n 参考书
n 项目
供应商 m
供应
多对多
p 零件
E-R模型基本概念
单个实体型内的联系
➢ 例如:高数、离散数学是数据结构的先导课,数据结 构是操作系统、数据库原理的先导课。
➢ 又如:职工实体集内的实体有领导和被领导的关系, 经理也是职工,经理要领导多个职工,而一个职工仅 被一个经理领导。
基本E-R模型-实例
例1:假定开发某工厂物资管理系统,业务调查后 得到如下的问题描述。一个仓库可以存放多种零件, 一种零件可以存放在多个仓库中;一个仓库有多名 职工当保管员,一个职工只能在一个仓库工作,每 个仓库有一名主任。仓库存放由许多供应商为一些 项目提供的多种零件,一个项目可以有多个供应商 提供多种零件,一个供应商可供给多个项目多种零 件,每种零件由不同的供应商提供给多个项目。
基本E-R模型
学号 姓名
专业
学生
m
选修
n 课程
课程号 课程名
学时
基本E-R模型
联系的属性
学号 姓名
专业
学生 m
成绩 ?
选修 n
课程
学时 课程号 课程名
学号 姓名 学生
专业
m
选修
n 课程
成绩 ?
学时 课程号 课程名
基本E-R模型
联系的属性
学号 姓名 学生
专业
m 选修
n 课程
成绩
课程号 课程名 学时
借出日期
读者号
姓名 地址
书号
书名
读者
借阅
m
n
图书
m
性别 年龄 单位 应还日期 作者 出版社
隶属
n
图书类别
类别号 类别名
扩展的E-R模型
学号 姓名
学生
住处
教师
如何表示?
本科生
研究生
教授(副)
是否四级
研究方向 培养类型
研究方向 指导人数
软件开发中,实际使用的ER模型有更丰富的语义, 介绍扩展ER的一些内容,扩展ER表示有所不同
学号 姓名 住处
学生
职称 职工号 姓名
教师
研究方向
ISA
本科生
n
研究生
ISA 指导 1 教授(副)
是否四级
研究方向 培养类型
指导人数 研究方向
扩展的E-R模型--类层次
ISA联系可以从两个方面来看
➢ 可以看作是一个特化,即子类是经过超类特化而得到的 ➢ 特化是自顶向下的设计过程:对初始实体集求精,产生 一系列不同层次的实体子集, ➢ 在此过程中,实体间的区别被明显地表达出来。
第二章 概念模型
课程安排
E-R模型基本概念 基本E-R模型 扩展的E-R模型 E-R模型设计技巧-实体与属性 E-R模型设计技巧-实体与联系
E-R模型基本概念
模型:是描述数据的概念集合。按应用的不同目的 分为两类:概念模型、数据模型。
图表、文 件等文字形 式表示
概念模型
基本E-R模型-实例
供应商
m
n
供应
项目
仓库 1 工作 n 职工
m
存放
pn
1n
领导
零件
一仓个库仓存库放有可由多以许名存多放职供多工应种当商零保为件管一,员些一,项种一目零个提件职供可工的只以多能存种在放零一在件个多,仓个一 仓库个库工项作中目;,可每以个有仓多库个有供一应名商主提任供。多种零件,一个供应商可 供给多个项目多种零件,每种零件由不同的供应商提供 给多个项目。
学号
姓名 学生
性别 专业
实体型(Entity type):具有相同属性的实体具有 共同的特征和性质,用实体名及其属性集合来抽 象、刻画同类实体,称为实体型。
E-R模型基本概念
实体集(Entity set):同型实体的集合 联系(Relationship ):现实世界的事物之间是有
联系的,这种联系在信息世界中反映为: ➢实体型(集)之间的联系 ➢实体型(集)内部的联系 两个实体型之间的联系 ➢一对一联系(1:1)例如:部门、经理 ➢一对多联系(1:n)例如:部门、雇员 ➢多对多联系(m:n)例如:学生、课程
Leabharlann Baidu
1
设有 教研室名
n 教研室
地址
课程号
学时
课程名
课程 n 选修 m
1 属于
n 学生
n 指导 1
工作 1 n
教师
电话号 指导人数 研究方向
成绩
学号 姓名 住处 是否四级 年龄
职工号 姓名 职称
基本E-R模型-实例
例3:假设一个商店有多个顾客购物,一个顾客可以到多 个商店购物,顾客每次去商店购物有一个消费金额和日期 (规定每个顾客在每个商店里最多消费一次)。
职工
1 职工—家属
n
家属
扩展的E-R模型--弱实体
弱实体的两个特点 ➢特点2:弱实体不一定有自己的码
• 例如:家属实体集可能有姓名、性别、出生年月等信 息,但这些信息不足以标识一个家属(不同职工的家属 有可能会重名)。
• 所有者实体的码+弱实体的某一属性=标识一个弱实体
职工实体集 01,张三,…
课程
m
n
先导课
职工
1
n
领导
基本E-R模型
实体-联系模型(简称E-R模型)是由P.P.Chen于 1976年首先提出的。
E-R模型通过E-R图表示实体集及实体集之间的联 系,用于实现数据的第一次抽象,即把现实世界 转换为信息世界。
E-R模型是按用户的观点对数据和信息进行建模, 是用户和数据库设计人员之间进行交流的语言。
基本E-R模型-实例
供应商号 电话号 仓库号 电话号
姓名
地址 账号 供应商
m
供应量 n
供应
项目
面积
仓库
m 存放 p
n 零件
职工号 姓名
1 工作 n 职工
1n 库存量
领导
年龄 职称
编号
预算
零件号 规格 描述
开工日期
名称 单价
基本E-R模型-实例
供应商号 电话号 仓库号 电话号
姓名
地址 账号 供应商
E-R模型基本概念
A
B
一对一
A
B
一对多
A
B
多对一
A
B
多对多
E-R模型基本概念
部门
1 设有
1 经理
部门 1
拥有 n
雇员
学生
m 选修
n 课程
E-R模型基本概念
两个以上实体型之间的联系
➢ 也存在一对一、一对多和多对多的联系
➢ 一对多:若实体型E1,E2,…,En存在联系,对于实体型 Ej(j=1,2,…,i-1,i+1,…,n)中的给定实体,最多只和Ei中的一 个实体相联系,则我们说Ei与E1,E2,…,Ei-1,Ei+1,…,En之 间的联系是一对多的。
弱实体
➢ 现实世界有一种特殊的联系,这种联系代表实体间的所 有关系。例如:职工和家属的关系
➢ 弱实体是依赖于其它实体存在而存在的实体
强实体集
弱实体集
扩展的E-R模型--弱实体
弱实体的两个特点
➢特点1:弱实体不能独立存在,它 总是依附于某一所有者实体,即强 实体(owner实体)。
• 强实体集与弱实体集之间必须是一对 多联系,弱实体必须是全部参与
新实体的属性为参与联系的实体的属性和联系的 属性的并
新实体参与联系
扩展的E-R模型--聚合
存在四个实体集(大学、研究所、公司、科研项目) 和两个联系(合作、承担),其中合作是建立在大学、 研究所和公司之间的联系
具有较强的语义表达能力,简单、清晰、易于用 户理解。
基本E-R模型
实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的
实体型连接起来。 联系:用菱形表示,菱形框内写明联系名,并用
无向边分别与实体型连接起来,同时在无向边旁 边表上联系的类型(1:1,1:n,m:n)。
引用率最高的论文之一。 – 根据对1,000个计算机科学领域教授的调查,最初
的ER模型论文被选为计算机科学38篇最具影响力 的论文之一。
E-R模型基本概念
概念模型是现实世界到机器世界的一个中间层次, 概念模型中最常用的是E-R模型,介绍E-R (实体联 系)模型中的主要概念。
实体(Entity):客观存在并可以相互区分的事物叫 实体。(例如:一个个学生、一辆辆轿车)
学生
m (0,100)
选修
n (3,6)
课程
扩展的E-R模型--参加约束
实体的参与度
➢ 部分参与:min=0,不是实体集中的每个实体都参与联系 ➢ 全参与:min>0,实体集中的每个实体都参与联系
学生 m
选修 n
课程
职工号
电话 姓名
课号
学分
课时
教授 m 讲授 1 课程
扩展的E-R模型--弱实体
➢Covering约束:Covering约束用来指定子类中所 有的实体是否包含超类中的所有实体
扩展的E-R模型--聚合
联系描述的是多个实体集间的关联,只有实体才 能参与联系,不允许联系参与联系,但实际应用 中往往有时需要联系参与联系
把联系看成由参与联系的实体组合而成的新实体, 这种新实体称为参与联系的实体的聚合
扩展的E-R模型--参加约束
实体的参与度
➢ 实体参与联系的最小和最大次数
➢ 例如:规定每位学生最少选三门课,最 多六门课,则学生在选修联系中的参与 度表示为 (3,6)。
➢ 规定有些课程可以无人选,但任一门课 程最多允许100人选,则课程的参与度 为 (0,100)。
➢ 表示为(min,max),0<=min<=max max>=1
基本E-R模型-实例
课程
n 选修 m

1 1

n
班级
1
属于
n
学生
n 指导 1
设有
n
教研室
1
工作
n
教师
每其每个中个系 教 有 学班有研教生若室授选干有和若若副干班学干教课级生授教程和每师教,人每研各门室带课若由干若名干研学究生选生修
基本E-R模型-实例
系名 地址 电话号
班名 人数

1 有
n 班级
例子:学校中的学生可分为研究生和本科生 实体集研究生和本科生称为实体集学生的子类 从语义上来讲,子类中的每一个实体同时也是超类
中的一个实体,子类中实体属性必须包含所有的超 类实体集的属性,也就是说,子类将继承超类的属 性 超类/子类联系称之为ISA联系 表示
扩展的E-R模型--类层次
m
供应量 n
供应
项目
面积
仓库
m 存放 p
n 零件
职工号 姓名
年龄
1 工作 n 职工
职称
1n 库存量
领导
职工电话号?
编号
预算
零件号 规格 描述
开工日期
名称 单价
基本E-R模型-实例
例2:开发学校信息管理系统。学校中有若干系, 每个系有若干班级和教研室,每个教研室有若干 教师,其中有教授和副教授每人各带若干名研究 生,每个班有若干学生,每个学生选若干课程, 每门课由若干学生选修。
相关文档
最新文档