R3 午前2 問3
ppaさん
(No.1)
どうしても理解できない箇所があったため、どなたかご教授下さい。
候補キーが{A,B}と{A,C}と問題文に記載がありますが、主キーが{A,B}であった場合、Cは非キー属性となり、{A,B}→Cの関数従属性があるため(主キーの一部に関数従属する非キー属性が存在するため)第2正規形も満たしていないのではないかと考えたのですが、なぜ第3正規形も満たしているのでしょうか。
候補キーが{A,B}と{A,C}と問題文に記載がありますが、主キーが{A,B}であった場合、Cは非キー属性となり、{A,B}→Cの関数従属性があるため(主キーの一部に関数従属する非キー属性が存在するため)第2正規形も満たしていないのではないかと考えたのですが、なぜ第3正規形も満たしているのでしょうか。
2023.08.10 18:51
GinSanaさん
★DB ゴールドマイスター
(No.2)
>{A,B}→Cの関数従属性があるため(主キーの一部に関数従属する非キー属性が存在するため)第2正規形も満たしていない
関係Rの構成要素がA、B、Cで、AとBが決まればCが決まるって言っているんだから、完全関数従属しているわけですよね。部分関数従属なら、A→Cとかになりますよね。
>なぜ第3正規形も満たしているのでしょうか。
第3正規形の定義
第2正規形であり、すべての非キー属性は、すべての候補キーに推移的関数従属していない
A、B、Cのなかでそういう推移的関数従属がないのだから、自然と第3正規形でもある、ということです
2023.08.10 21:40
ppaさん
(No.3)
部分と完全の違いだったのですね。やっと理解出来ました。ありがとうございます!
2023.08.12 00:19
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。