【问题标题】:Question about 3rd Normal Form关于第三范式的问题
【发布时间】:2023-03-21 14:38:01
【问题描述】:

下表:

EmpId  State   Zip
1       FL   342008
2       CA   342001

不是第三范式,因为 状态取决于主要 key(EmpId) 传递。

所以,如果我这样打破它: (EmpId,State) (State,PIN)

它在 3NF 中。

我也可以像这样打破它: (EmpId,状态) (EmpId,PIN) 它将再次处于 3NF 中。

但在第二种情况下, 存在信息冗余,因为 例如

1  FL
2  FL

1 342008
2 342008

第二次分解违反了哪个性质?

【问题讨论】:

  • “PIN”是指“Zip”列吗?
  • 这是作业吗?如果是这样,请标记它。
  • 这不是家庭作业。我正在通过自学自学数据库。

标签: entity-relationship relational relational-database third-normal-form


【解决方案1】:

如前所述,存在冗余,因为可以通过邮政编码推断州,因此,您应该以这种方式拥有表格:

EmpId Zip
1     342008

Zip    State
342008 FL

总是想什么取决于什么。当然,已经有一个standard process to normalize based on set theory。 This 也可以帮到你。

【讨论】:

    【解决方案2】:

    这并不能直接解决您的问题,但严格来说,state 列是多余的,因为它可以从邮政编码派生(尽管您显示的是六位数的邮政编码,这在美国。)您可以按 EmpID 和 ZIP 分解表格,将 State 单独留在查找表中。

    【讨论】:

      【解决方案3】:

      为了直接解决所提出的问题,违反的属性是 FFD(对密钥的完全功能依赖)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-13
        • 2011-07-31
        • 2021-11-21
        • 2011-04-15
        • 1970-01-01
        • 2021-08-14
        • 2015-09-08
        相关资源
        最近更新 更多