2017-01-25 1 views
1

モックアーティスト/サウンドトラックのデータ(下の最初の画像)は、1NFから2NFから3NFに正規化する方法を説明しています。データベースに最適です。正規化が私がやりたいと思うようになっているようですが、正規化プロセスで何かを理解していないのですか?私は間違いなく、この行方のデータを各行をユニークにして重複を取り除くことによって1NFに正規化することができますが、どの段階で、トラックテーブルまたはムービーテーブルの外部キーとしてComposer IDを割り当てようとしましたか?それは私たちが経験からするものなのでしょうか?正解か間違っていますか?要するに正規化によるデータベーステーブルとエクスペリエンス/意見

、私の質問は、誰もが表示されたり、ここでどのようにモックデータを説明することができますが...

enter image description here は、正規のすべての最初の3つのステージを使用して、このになっていましたか?

enter image description here

+1

正規化では、「作曲者ID」のような新しい属性は導入されません。また、2NF *とそれ以上の*との関係を正規化することはできず、3NF *以上ではないことを意味するわけではありません。 –

+1

また、低い方の標準形を通って高い方の形に行くことによって正規化されません。より高い正規形への正規化も*関数依存*である。あなたがそれらを言及していないので、あなたは正規化が何であるかを理解していないように見える。どのようなリファレンスを使用していますか? PSあなたが1NFにトラックがタイプトラックタイトルであることを希望すると仮定すると、これは合理的なFD仮定の下でこれはすでに5NFにあります。 – philipxy

+0

@philipxy正規化では、冗長性を減らすことを意味します。たとえば、最初のテーブルのセルに2つの値が与えられた場合、テーブル内のデータを正しく設定する方法を見つけることができます。私は単純に偽の1つのショーのようなデータテーブルをどのようにしてデータベースの機能テーブルのセットにすることができるかについてアドバイスを探しています –

答えて

1

さて、あなた1NFは

2NFが繰り返さキーを取り出すことである... 2に分け、最初のレコードを持つので、基本的に模擬データの各トラック名の明確な記録を持っているだろうこれは私の心には3つの別々のテーブルとして表示されているものであり、潜在的にはそれがあなたが必要とするものである可能性があります。

トラックを複数のムービーで機能させるには、トラックIDとムービーIDをそれぞれ参照するムービートラックテーブルを作成します(トラックテーブルからムービーIDを削除する)。

同様に、あなたはまた、トラックの作曲テーブルを持つことによって、共同組成物を可能に極端に行くことができるが、それは努力価値が

正規化を行うために、おそらく十分に一般的ではありません間違いなく経験を持つ容易になるものですし、この例からわかるように、データの目的に合ったものにすることができます。

+0

ありがとうDave!それは助けます –

+0

@ VictorEliasRodriguezこの答えは、混乱した概念と貧弱な文章の混乱です。 「繰り返しキー」は何も意味しません。 (著者は、 "本質的に"& "..."でこれを知っていることを示しています。) "2つに分割"は不明です。より高いNFに正規化しても、IDは導入されません。現在のデザインでは、「複数の映画でトラックを機能させる」と「共同制作」がすでに許可されています。 「十分に共通」は無関係であり、これは決しても決してもありません。 – philipxy

関連する問題