2012-02-08 6 views
2

クイックバックストーリー...私はデータベースの設計と管理についていくつかトレーニングを受けています。私はさまざまなポジションやキャリアで小規模で使用してきました。私は最近CMISの学士号を取得しており、データベースはその一部でした。私は、リレーショナルデータベースの背後にある理論、それらの仕組み、そして最終的にそれらを構築する方法を理解しています。私は熟練するために十分な練習をしていないだけです。このレポート(表)はどのように正規化できますか?

私の上司は、今日私たちがパートナー企業から受け取ったすべてのレポートを取ってデータベースに入れることを望んでいると決めました。私にとって、これは難しい作業のように思えます。なぜなら、30件以下の報告があり、その多くに大量のデータがあるからです。私たちはそれらをExcel形式で入手します。

私は正規化を理解していますが、理論的には小規模(通常の生徒、インストラクタ、常に存在すると思われるクラスのタイプのシナリオのように)でしかありません。私はここで大きなスケールを見ていて、そこから少しめまいがあります。

小さなレポートの1つにリンクしています。それはすでに1NFに入っています(それはそうです、それで大きな問題はありません)。私はこれが3NFに正規化されたようなものの例を見たいと思います。それは残りのレポートのために何かを発するのに役立ちます。

ここで私が混乱するところは、これらのレポートのどれも実際には他のレポートに依存していないということです。しかし、それらの間に広がる多くのデータが繰り返されています。すべての人が技術者番号と技術者名、および作業指示番号を持っていることを意味します。テクニカルナンバーと名前は有限で繰り返しありますが、作業オーダー番号は同じであるかもしれませんが、そうでないかもしれません。

私は、技術情報だけのテーブルを持つことが理にかなっていると思います。その番号だけを使用してレポートを関連付け、いずれかのレポートから技術名称を取り出すことができます。私は非常に多くの質問をしていますが、今のところそれを残します。

誰かが「そのようなウェブにデータを置くのは馬鹿だ」と言われる前に、これは正しいデータではなく、基本的に役に立たないように修正されました。

https://docs.google.com/spreadsheet/ccc?key=0ApvRcXXd6PiWdHFLRWVmNS1VUklpYkFvWVdKQmpvdWc

+1

長い質問(あまり重要ではない情報)、コードなし、構造の例はありません。 : - /それをもっと読みやすくしてください。 – Vyktor

+0

モデル内のエンティティを識別します。あなたが保存したい情報に関連する名詞。 – Alfabravo

+0

複数の地域がある場合、1つの作業指示番号で2つの全く異なる作業指示を識別することは可能ですか?たとえば、いくつかの異なる地域で異なる作業指示が3つありますか? –

答えて

1

BCNF介して正規化は、キーおよび機能の依存関係に基づいています。 3NFに正規化するために投稿したデータには、実際には十分な情報がありません。

たとえば、region、rsp、およびofficeの値は1つだけです。したがって、サンプルデータでは、他のすべての列は、領域、rsp、およびオフィスの値を1つだけ決定します。

ここで、last_change_dateがofficeの値を1つだけ決定したとしても、実際の関数の依存関係ですか?いいえ、おそらく偶然のことです。

と言えば、私はいくつかの推測をします。そのスプレッドシートからデータをコピーすることはできないので、私はあなたが正しい方向に動かせるように、通常は想定していないことを想定します。

「作業指示番号」はキーではありません。 2行には23464504300055024があります。私はデータをコピーできないので、鍵を持っているかどうかを調べるつもりはありません。関数従属で

を推測

office -> region 
office -> rsp 
tech_code -> tech_name 
tech_name -> tech_code 
last_change_date -> dish_week_end_date 
work_order_number -> work_order_type 
work_order_number -> account_number 
work_order_number -> car 

1がある場合、カウントはおそらく、キーのみに依存します。

これで十分ですか?

+0

応答してくれてありがとう!それが助けになり、正直言って、私はすでに自分の道にうまくいます。私は "分析麻痺"に悩まされ、ちょうど始める必要があったし、それは少し楽になりました。私はそれを気づかなかった。私はこの時点でデータをスクラブしていなかった。しかし、私はこれが今までと同じで、彼女はいいえと言ったら、オペレーションマネージャーに尋ねました。彼女は何年も報告書を管理していたので、私の言葉が私にとって十分に良いと思った。だから間違いなくあなたは良い点を挙げてきました。私はそれを見つける必要があります。実際の参考にしていただきありがとうございます。 – shelzmike

+0

原則として、エンドユーザーが何かがユニークであると言われると、間違っているでしょう。 –

関連する問題