投稿する

H30 PM2 問2 (4) [0318]

 ガンキンさん(No.1) 
お世話になります。

'仕入先'エンティティとのリレーションについて質問です。

問題文より
「~購買ユニットの場合は仕入れ先に発注する。」
「~汎用すり合わせ部品を使う場合は仕入れ先に発注し~」
「~ソフトウェア受注明細には~仕入れ先に発注するかを決める。」
とありそれぞれの受注明細か発注のエンティティに仕入先の外部キーとリレーションが必要になると考えたのですが、公式の回答にはどちらにも記入されておりません。

発注ごとの仕入先について
'構成部品定量発注'と'構成部品都度発注'には発注品目コードが外部キーとしてあり、リレーションを辿れば仕入先がわかるのに対し、
'ユニット発注'、'すり合わせ部品発注'、'ソフトウェア発注'に関しては、仕入先を外部キーとして持たないと、リレーションを辿ってもどこの仕入先かわからないような気がするのですが。。。

'仕入先'エンティティとのリレーションが必要ない理由について
分かる方がいれば是非教えていただきたいです。よろしお願いします。
2022.08.18 00:39
mkkさん(No.2) 
ガンキンさん、こんばんは
この問題、引っかけっぽく見えますよね!
私も勉強してた時、初回だけじゃなくて2回目以降もガンキンさんと同じように
問題文を読んでそのまま仕入先と紐付けておりました...

まずは回答例の概念データモデルを確認して欲しいのですが
右上部分にある品目とそのサブタイプの線の書き方を見ると
品目のサブタイプはいずれか1種類の品目に該当するのではなく
複数該当するようなサブタイプの分け方となっており
例えば以下のような組み合わせが可能となっています。
①受注品目でありながら、発注品目となる場合がある
②投入品目でありながら、発注品目となる場合がある
③製造品目でありながら、発注品目となる場合がある

また、ご質問にあがっている各種発注ですが
・ユニット発注はユニット受注明細と繋がっている
・すり合わせ部品発注はすり合わせ部品設計、受注明細と繋がっている
・ソフトウェア発注はソフトウェア受注明細と繋がっている
そしてそれぞれの受注明細はスーパータイプが『受注明細』であり
その中には『受注品目コード』という属性が含まれています。

この『受注品目』が以下の場合に『発注品目』にも該当します。(上記①)
・ユニットであれば、購買ユニットの場合
・すり合わせ部品であれば、汎用すり合わせ部品の場合
・ソフトウェアは一律

『発注品目』にも該当するという事は
サブタイプ『発注品目』の中の属性『仕入取引先コード』を参照可能になるので
各種発注には仕入先コードが特に必要ないというわけなんです。

なお、上記内容を簡単にまとめたのが設問(2)の回答になります。
・購買ユニット:受注品目と発注品目に〇
・汎用すり合わせ部品:受注品目と発注品目に〇
・ソフトウェア:受注品目と製造品目と発注品目に〇

※私の長々とした変な回答よりこちらを見た方がスッキリするかもしれませんね!
2022.08.18 02:35
 ガンキンさん(No.3) 
mkkさん回答いただきありがとうございます。

発注品目が共存的サブタイプであることを完全に失念しておりました。
受注品目が発注品目も兼ねている場合はリレーションを辿れば仕入先がわかりますね!

ご丁寧に説明していただきありがとうございました。
2022.08.18 13:43
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop