4.关系模式R(A,B,C,D,E) (1)如果存在函数依赖A→B,BC→D,DE→A,列出R所有的候选码,并给出相应过程。 (2)如果存在函数依赖A→B,BC→D,DE→A,R属于3NF,还是BCNF。 5.请解释为什么事务非正常结束会影响数据库的正确性。 6.什么样的并发调度是正确的调度? 7.考虑如下调度,说明这些调度集合之间的包含关系。 (1)正确的调度。 (2.)可串行化调度。 (3)遵循两阶段封锁的调度。 (4)串行调度。
时间: 2024-04-05 10:35:43 浏览: 511
狂学数据库之关系模式的设计问题及数据的函数依赖
1.
根据给出的函数依赖:
A→B,BC→D,DE→A
首先,我们可以通过 A→B 推导出 ABD,因为 ABD 中包含了 B,所以 ABD 是候选码。
然后,我们可以通过 BC→D 推导出 ABCD,因为 ABCD 中包含了 BC,所以 ABCD 是候选码。
最后,我们可以通过 DE→A 推导出 ADE,因为 ADE 中包含了 DE,所以 ADE 是候选码。
因此,R 的所有候选码为 ABD、ABCD 和 ADE。
2.
如果存在函数依赖 A→B 和 BC→D,DE→A,R 属于 3NF,但不一定属于 BCNF。
因为 R 中存在非平凡函数依赖 BC→D,而 BC 不是任何一个候选码的子集,所以 R 不满足 BCNF。
5.
事务非正常结束可能会导致数据库的正确性受到影响,因为在事务执行期间,如果发生了故障或错误,可能会导致事务只执行了一部分,而这部分操作可能已经对数据库产生了影响,但是由于事务没有完整地执行,这些影响可能没有被正确地记录下来,从而导致数据库出现不一致的情况。
6.
正确的并发调度应该满足以下条件:
- 串行等价性:并发执行的结果应该与串行执行的结果一致。
- 可恢复性:如果发生故障,系统应该能够恢复到正确的状态。
- 无死锁:并发执行不应该导致死锁。
7.
调度集合之间的包含关系如下:
正确的调度 ⊃ 可串行化调度 ⊃ 遵循两阶段封锁的调度 ⊃ 串行调度
其中,“⊃”表示包含关系,即左边的调度集合包含右边的调度集合。
阅读全文