【发布时间】:2011-04-24 16:39:46
【问题描述】:
有人可以向我解释一下关系模式中的无损连接属性是什么意思吗?
是否能够在关系分解过程中保持信息/数据的语义,同时进行规范化?
【问题讨论】:
标签: join relational-database database-normalization natural-join
有人可以向我解释一下关系模式中的无损连接属性是什么意思吗?
是否能够在关系分解过程中保持信息/数据的语义,同时进行规范化?
【问题讨论】:
标签: join relational-database database-normalization natural-join
@Falcon - 你是对的 - 但这是一个更实质的定义......
无损连接属性是规范化支持的分解功能。它是一种确保原始关系的任何实例都可以从较小关系中的对应实例中识别出来的能力。
【讨论】:
lossless中的loss这个词是指信息的丢失,而不是元组的丢失
这个ppt presentation 可能会有所帮助。
【讨论】:
R1, ... 是 R 加入时的无损分解。
(R1, ... 是 R在一组 FD 下的无损分解(函数依赖)F 是 不同的属性。即当 R1, . ..是R的无损分解,满足F中的FD。)
【讨论】:
无损意味着在没有损失的情况下运行。 换句话说,保留一切。
数据库拥有这个特性很重要。
正式定义
R 成为一个关系模式。F 成为R 的一组函数依赖。R的分解。如果F+ 中至少有以下函数依赖项之一,则分解是R 的无损连接分解
1) R1 ∩ R2 -> R1
2) R1 ∩ R2 -> R2
简单来说……
R1 ∩ R2 -> R1
R1 ∩ R2 -> R2
如果R 被拆分为R1 和R2,为了使分解无损,那么至少两者之一应该成立。
在R1 和R2 上投影并重新加入,会产生您开始时的关系。
来源: https://en.wikipedia.org/wiki/Lossless-Join_Decomposition
【讨论】: