我正在努力研究这个模型,并找出以下有关它的问题:
PATIENT_VISIT的候选键是什么?
如果有多个候选键,请从候选键中选择一个主键。
根据选择的主键,PATIENT_VISIT中存在哪些正常形式违规?
开发一种消除正常形式违规的解决方案 您的解决方案是无损连接分解吗?
您的解决方案是否依赖于保留?如果没有,依赖性保存如何 实现?这是BCNF的修订解决方案吗?
提供满足以下所有三个条件的解决方案:(1)在BCNF中,(2)是依赖性保留,(3)是无损连接分解
+---------+------------+------------+
| Patient | Hospital | Doctor |
+---------+------------+------------+
| Smith | Methodist | D. Cooley |
| Lee | St. Luke's | Z. Zhang |
| Marks | Methodist | D. Cooley |
| Marks | St. Luke's | W. Lowe |
| Lou | Hermann R. | Duke |
+---------+------------+------------+
此外,假设存在以下语义规则。
答案 0 :(得分:1)
{Patient,Doctor}是候选键。唯一的另一个可能的关键是{患者,医院,医生},但由于FD医生⟶医院,这并不是最小的;它是一个超级钥匙,但不是候选钥匙。
摸拟;只有一个候选键。
由于传递依赖(FD)医生⟶医院,模式不在BCNF中。 (表的每个属性在功能上由键,整个键以及除键之外的任何键确定。)
PD {Patient,Doctor},DH {Doctor,Hospital}。这是无损分解。
此解决方案是依赖性保留。
见4.