数据库设计与实现高级ER图
– 检查单由住院医生写明检查事项发给检查科室。检查科室执行 检查,载明检查结果并由检查医生签字返回住院医生。住院医 生将检查单黏贴在病历末尾。
– 医嘱单由治疗医生 /护士执行,记录执行结果并保存在执行科 室备查。
– 请画出相关数据概念模型。具体内容可以根据你对住院管理的 理解进行补充和调整。
2019 年11月12 日星期二
– 使用弱实体能更好地刻画现实语义 – 引入弱实体使 E-R图元素增多、复杂性增加
2019 年11月12 日星期二
数据库系统概念----E-R
9
3.1弱实体vs属性
? 使用实体的属性,还是使用弱实体?
– 如果不研究属性和其它属性 /联系/实体之间的 联系, 应该使用属性
– 如果需要研究属性和其它属性 /联系/实体之间 的联系, 则需要将属性实体化,必要时使用 弱实体
– 对一个具体系统,是否可能同时关注一个事物不同层 次的实体型?
2019 年11月12 日星期二
12
3.2继承
? 实体型的层次
– 同一系统可能会同时关注一个事物不同层次的实体型 – 例如:在学校系统中,教务方面愿意把在校人员看做
教师和学生,而图书馆方面更愿意统一看作在校人员
人员
学生
借阅
上课
图书
教师
? 某些属性实体化之后,实体可以独立标识,如电话; ? 某些属性实体化之后,实体自身无标识属性,如账户交易;
– 属性实体化后,不能独立标识,形成弱实体 ? 弱实体定义
– 没有足够属性标识的实体,称为弱实体 – 反之称为强实体 – 弱实体需要依赖属主实体而存在,不能独立存在
2019 年11月12 日星期二
账户
AccrualRec
date
AccName
accrual
Transaction
Eno
EName
LineNo
date
dealnum
银行职员
? 问题:如何表示上述联系?
– 按E-R图的原则,联系是实体与实体之间的联系
– 不能是实体和属性之间、属性和属性之间的联系
2019 年11月12 日星期二
数据库系统概念----E-R
讲授
课程
? 思考:
– 如何刻画不同层次实体型之间的关系?
2019 年11月12 日星期二
13
3.2继承
? ISA联系
– E-R图使用ISA联系表示不同层次实体型之间的关系 – ISA联系本质是继承关系 – ISA联系使用标有“ISA”字样的三角形来表示
数据库系统概念----E-R
4
3.1弱实体
? 引入弱实体后的 E-R图: – 有效解决了属性实体化后缺少标识问题
accno AccName
账户
交易记录
利息记录
date accrual
计息
操作
Байду номын сангаас
银行职员
LineNo
date dealnum
Eno
EName
2019 年11月12 日星期二
数据库系统概念----E-R
? 练习:
–请画出银行账户的E-R图,通过增加标识属性,使交 易记录等属性实体化为强实体
–请和使用弱实体的方案比较,哪种方案更好?
2019 年11月12 日星期二
数据库系统概念----E-R
8
3.1实体化:弱实体vs强实体
? 实体化为弱实体vs增加标识属性成为强实体
– 增加标识属性实际上是进行了实现相关的设 计工作。在分析阶段进行设计工作会限制设 计阶段设计方案的选择。
账户
交易记录
LineNo date
dealnum
2019 年11月12 日星期二
数据库系统概念----E-R
7
3.1属性实体化方法
? 属性实体化
–属性实体化后,如果有标识属性,自然成为强实体 –属性实体化后,如果没有标志性属性,有两种办法处
理:
? 1、将属性实体化为弱实体 ? 2、通过增加标识属性,使属性实体化为强实体
2
3.1弱实体
? 上述问题的表示方法:
– 属性实体化 – 交易记录、利息记录属性实体化之后,实体无法独立
标识
– 行号、日期都只能在一个账户内分辨多值属性,缺少 全局标识
accno
账户
AccName
Transaction
AccrualRec Eno
date accrual EName
LineNo
date
5
3.1弱实体
? 弱实体
– 没有足够属性标识的实体,称为弱实体, – 反之称为强实体
? 标志性联系
– 弱实体和属主实体之间的联系是存在依赖联系 – 弱实体和属主实体间的存在依赖联系,称作实体的标
志性联系 – 标识性联系:多对一、全部参与,一般不命名 – 标识性联系在E-R图中以双边框菱形表示
accno AccName
2019 年11月12 日星期二
数据库系统概念----E-R
10
3.1练习
? 请绘制医院系统住院部分的E-R图
– 医院为住院病人建立病历。病历首页记录病人住院相关的基本 信息;病历主体由住院期间每次诊疗的记录顺序排列组成。
– 诊疗记录由诊疗时间、诊疗情况记录组成,并要由进行当次诊 疗的住院医生签字。诊疗可发出检查单、治疗医嘱单,需要记 录诊疗和检查单、医嘱单的关系。
账户
交易记录
LineNo date
dealnum
2019 年11月12 日星期二
数据库系统概念----E-R
6
3.1弱实体
? 分辨符
– 弱实体在特定属主实体内的标识属性,称作 分辨符
– 在全局范围内,弱实体的标识由属主实体的 主码和弱实体的分辨符共同组成
– 分辨符在E-R图中用虚下划线表示
accno AccName
3高级E-R模型
? 本章主要讨论
– 3.1弱实体 – 3.2继承 – 3.3聚集 – 3.4E-R图的元素表示 – 3.5概念模型设计过程
2019 年11月12 日星期二
1
3.1弱实体
? 背景示例:在银行系统中,希望研究:
– 账户的交易记录与柜员之间的联系 – 账户的交易与利息之间的联系
accno
数据库系统概念----E-R
11
3.2继承
? 实体型的层次
– 实体型:现实世界同类事物特征和性质的抽象 – 同一事物抽象层次的不同,形成了不同层次的实体型 – 例如:同一个人,可以被看作是本科生、学生、
person 等等
? 思考:
– 对一个具体系统中人的研究,应该抽象到哪个层次? 本科生?学生?还是person?
dealnum
银行职员
2019 年11月12 日星期二
数据库系统概念----E-R
3
3.1弱实体
? 弱实体提出的背景 – 存在一些场景,需要研究:
? 一个实体的属性与其它实体之间的关系 ? 或者属性之间相互的关联关系
– E-R图中联系是实体与实体之间的联系 – 在研究属性参与的联系时,需要进行属性实体化