没有合适的资源?快使用搜索试试~ 我知道了~
面向对象系统分析与设计,第八章的 7 、8题 答案
资源详情
资源评论
资源推荐
第八章 问题与习题
7.考虑下面的各个 3NF 关系列表。这些关系是从几个独立的规范化
活动中开发来的。
PATIENT(Paent -ID, Room_ Number, Admit _Date, Address)
ROOM(Room-Number, Phone, Daily_ Rate)
PATIENT(Paent -Number, Treatment_ Descripon, Address)
TREATMENT(Treatment-ID, Descripon, cost)
PHYSICIAN(Physician-ID, Name, Department)
PHYSICIAN(Physician-ID, Name, Supervisor-ID)
a. 将这些关系合并为一组总的 3NF 关系。做出并说明你认为对解决你在合并过程中识别
的任何潜在问题的必要假设。
b. 为你 a 部分的答案绘制一个类图。
解:a.合并后列表:
( 1 ) PATIENT(Paent -ID, Room_ Number, Admit _Date, Treatment_ Descripon, Hospital
_Address, Permanent _Address)
在两个病人(PATIENT)列表中,Paent _ID 与 Paent _Number 具有相同的功能属性,并
且都充当主键,可以把它们看成同义词。所以选择其中任意一个作为主键即可。
一般情况下,病人都是在医院接受治疗,所以会涉及医院住址;特殊情况下,也可能有的
病人因为经济情况,或者是考虑到有利于病人迅速康复的环境因素,可能允许一些病
人在家中接受治疗。此时就会涉及到病人的家庭住址,以防病人病情严重时,医生可
以及时到达,并给予抢救。
(2)ROOM(Room-Number, Phone, Daily_ Rate)
(3)TREATMENT(Treatment-ID, Descripon, cost)
(4)PHYSICIAN(Physician-ID, Name, Department ,Supervisor-ID)
但 是 , 假设 每 个 部门 ( Department )有 且 只有一 个 监督人 员 ( Supervisor ),那 么
Supervisor-ID 函数依赖于 Department,即 Department——>Supervisor-ID。
如此看来,医生(PHYSICIAN)列表属于 2NF 而不属于 3NF,因此可以将其分解为满足 3NF
的两个列表。如下所示:
PHYSICIAN(Physician-ID, Name, Department)
Department Supervisor (Department, Supervisor-ID)
zjf0923
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0