H25 午後2 問1  設問3(1)

gpさん  
(No.1)
冗長性を排除するため対応がよくわかりません。

新たなテーブル「工場部品」を定義し主キーを「部品番号+工場番号」にしているようですが、
結果、部品と工場部品は1対1になるのでは?と考えています。
どこが冗長性排除されているのかがわからなく。

部品に工場番号を主キーとして持たせればよく、
わざわざテーブル分割する必要あるのでしょうか
2024.10.19 01:28
gpさん  
(No.2)
すみません、タイトル間違いです。
正しくは以下になります。
設問3(3)
2024.10.19 01:30
awesamさん 
(No.3)
> 結果、部品と工場部品は1対1になるのでは?と考えています。

部品と工場部品の関係は1対多だと思います。

まず、現行システムでは工場ごとにシステムが分かれていると問題に記述されています。
そして、納入LTなどは工場ごとに設定されているとも書かれています。

それを踏まえて考えると、現行システムではシステムが工場ごとに分かれていたので、部品テーブルが工場を識別する必要はなかったのですが、システムが統合されることによって工場を識別する必要が出てきたと分かると思います。
そして、工場番号をそのまま主キーの一部にしてしまうと、部品名などが主キーの一部の部品番号に部分関数従属する形(つまり第二正規形を満たさない形)になってしまいます。

つまり、そのまま部品テーブルに工場番号を持たせてしまうと、商品名や主要補充区分が複数レコードに同じ値で入ることになるので、この冗長性を排除するという問題になるかと思います。
2024.10.23 09:33
awesamさん 
(No.4)
各関係の多重度を考える時は、〇〇ごととか〇〇別とかのワードをよく見るようにすると良いかと思います。
2024.10.23 10:01
gonta1さん 
(No.5)
awesamさん

ありがとうございます!理解しました!

工場番号をそのまま主キーの一部にしてしまうと、部品名などが主キーの一部の部品番号に部分関数従属する形(つまり第二正規形を満たさない形)になってしまいます。
完全にこの基礎的なことが抜けていました。

あと部品テーブルについては統合直後で、以下のように考えていました。
部品番号は元々全社で一意だから、工場番号を主キーに追加したしたところで重複はない。

部品番号は全社で一意の制約なので、主キーに工場番号を追加してしまうと、部品番号が工場違いで重複を許すことになるので、この考えは間違いですね。
2024.10.25 00:34

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop