2016-06-13 13 views
0

データベースの正規化を最低3NFにするために取り組んでいますが、最後の作業でのみ続行できません。3NFまたはBCNFへのデータベースの正規化

最後の表には次のキーがあります。 ID、Organization_number、および名前。 IDは主キーです。 IDはORG_NRとNameを決定でき、またORG_NRはIDと名前を決定できます。 私はそれが3NFの違反であることを知っています。 私の質問は、3NFやBCNFにするために何をすべきかです。

私はテーブルに分割すると、1対1の関係になります。

My table

+0

"あなたは1対1の関係を作る"ことが問題だと思いますか? – philipxy

+0

あなたのコメントのためにとにかく今、私は答えを得ました:) – Alex

答えて

2

機能の依存関係は、候補キーを決定します。主キーとは、あなたがPKと呼ぶことを決めたちょうどのCKです。 CKであることを除いて、PKは正規化において何の役割も持たない。おそらくあなたはIDがユニークであることを知っている(そして{}はCKではない)ので、あなたはPKを作ったCKです。

{ID}と{ORG_NR}の両方が他のすべての属性を決定し、それぞれの属性のうちの小さいサブセットは存在しないので、それらは両方ともCKです。おそらく唯一のFDはこれらから続くものです。 (しかし、あなたはそれを明確にすべきです)。すべての重要でないFKはスーパーキーから外れているので、これはBCNF(&でも3NFです)です。

PSこれは3NFにはないと誤って考えるので、3NFの定義を見つけて3NFを満たしているかどうかを調べてみてください。

+0

あなたの答えに関して、それはトウのテーブルにそれを分割する必要はないことを意味します。 最後に、ジョブは完了しました;) – Alex

関連する問題