是关系数据库可逆的分解



这个问题来自关系数据库的设计理论。

我们知道,消除异常的接受方法冗余更新和删除异常)是分解系。分解的目的是用几个不表现出异常的关系替代关系。还有一些条件,例如 bcnf 3NF 和将数据库分解为该形式的算法。

那么,我们通常可以说分解过程总是可逆的(即能够恢复DB的初始状态)?如果是,理论上如何证明它?

a模式的"分解"是一个模式的集合,每个模式都有其属性的子集。通常,模式伴随着约束。"无损"分解是一个在其中组件中的值是原始属性上的投影,则组件将其回到原始内容。(有损分解的组件的连接实际上具有原始行的适当超集。)当且仅当某个连接依赖性成立时,分解是无损的。

因此归一化是关于 nonloss 分解。

虽然我们很草率,但在我们都知道这是非斜坡的时候,只是谈论"分解"。

有时我们会发现设计是错误的,因为它不仅是原始的,因此我们想使用有损耗的分解,因为它记录了更多的数据库状态。(我们可能会注意到它正常化,但不是原始版本的标准化版本。)

任何大学/大学教科书都将使这些定义和属性清晰,甚至可能概述证明。有关证明,请参见《爱丽丝书》,《 AbiteBoul》,《赫尔&》的数据库基础。Vianu。

最新更新