0

我有以下带 FDS 的关系数据库:R1 (ABCDEFGH) FD:AB --> D, B --> C, B --> E, B --> F, A --> H, H --> G

我认为关键是AB。

我将其分解为 R1(BCEF) 和 R2(ABDGH)。然后我将 R2 分解为 R3(AH) 和 R4(ABDG)。

我需要有人仔细检查我,因为我认为我在这里犯了一个错误,但我不确定它是什么。我好像在分解中丢失了H --> G FD。

4

1 回答 1

1

快速浏览一下,您可以将关系分解为 3NF,保留所有 6 个 FD

至少 2NF(无部分依赖)

  • R1( A , H, G) = FD5, FD6
  • R2(B、C、E、F)=FD2、FD3、FD4
  • R3(A,B,D)=FD1

至少 3NF(无传递依赖)

  • R1( A , H) = FD5
  • R2(H,G)=FD6
  • R3(B、C、E、F)=FD2、FD3、FD4
  • R4(A,B,D)=FD1

另外我听说删除多余的 FD 并不是一件坏事;)

于 2015-05-13T17:28:26.060 回答