【问题标题】:How to understand whether a schema is in BCNF如何理解模式是否在 BCNF 中
【发布时间】:2016-01-24 12:06:17
【问题描述】:

我非常了解BCNF 的概念,所以有人给我这种格式的关系,比如

R = {P, Q, S}
F = {PQ->S, PS->Q, QS->P}

我可以很容易地说关系在 BCNF 中,因为左侧的所有键也是超级键。但是,如果我得到一个真实世界的问题,如下图所示:

那么我将如何确定此架构是否在BCNF 中?我将如何从模式中创建功能依赖关系,然后发现super keys?谁能给我一些解决这些问题的建议?

如果将架构​​转换为:

Code -> City, State
Flightnum -> .....
model -> ...
cid -> ....
Cid, flightnum, date -> ...

那么显然这不在 BCNF 中,但答案是以下模式是 BCNF,我无法理解他们是如何推导出方程的。

【问题讨论】:

  • 请提及您实际问题的功能依赖关系。

标签: mysql normalization database-normalization bcnf


【解决方案1】:

非正式地,如果模式的所有关系都在 BCNF 中,则该模式在 BCNF 中。

我将如何从架构创建功能依赖项。 . .

如果没有任何其他上下文,我会假设图像中带下划线的属性是主键中的属性。

所以我读到这张图片是这样说的

代码->城市,州 cid->名称,城市 等等。

这些是您的功能依赖项。

【讨论】:

    猜你喜欢
    • 2020-06-28
    • 2020-12-06
    • 2012-01-03
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多