HOME»データベーススペシャリスト掲示板»R3 午後Ⅱ問2 設問1  主キーと外部キーの違い
投稿する

R3 午後Ⅱ問2 設問1  主キーと外部キーの違い [0729]

 イオさん(No.1) 
属性名を記入する問題で、主キーとするのか外部キーとするのかで不明点があります

図5のスキーマを埋める問題において属性が下記のようになっています(一部抜粋)

出荷指示梱包内商品明細(m) ・・・、商品コード(下線)、製造ロット番号(下線)、出荷指示数
出庫指示明細(o)            ・・・、商品コード(破線)、製造ロット番号(破線)、出庫指示数

問題文では
出荷指示梱包内商品明細については、9.(2).⑤に
「出荷指示梱包内商品明細ごとに、梱包すべき商品について製造ロット別に出荷指示数を設定する」
とあります。

出庫指示明細については、9.(3).③に
「出庫指示明細には、出庫指示明細番号を付与し、製造ロット別の商品と出庫指示数を設定する」とあります。

製造ロットの主キーは「商品コード、製造ロット番号」であるからこの2つの属性を指定するのはわかりますが
両者とも製造ロット別に設定するのに、(m)では主キー(下線)、(o)では外部キー(破線)
と異なっている理由は何なのでしょうか。
2024.09.05 14:57
GinSanaさん(No.2) 
DB ゴールドマイスター
「出荷指示梱包内商品明細ごとに、梱包すべき商品について製造ロット別に出荷指示数を設定する」
だと、製造ロットの区別がつかないと一意になりようがないが、

「出庫指示明細には、出庫指示明細番号を付与し、製造ロット別の商品と出庫指示数を設定する」
の場合、出庫指示明細番号というシーケンシャルなサロゲートキーがあるので、その番号さえユニークであれば「一意」にはなるから、外部キーで困らないということです。
2024.09.05 15:40
みかんさん(No.3) 
DB ブロンズマイスター
出荷指示梱包内商品明細 
{出荷指示番号,出荷指示梱包明細番号,商品コード,製造ロット番号},出荷指示数
出庫指示明細
{出荷指示番号,出荷指示明細番号},商品コード*,製造ロット番号*,出庫指示数

> 異なっている理由は何なのでしょうか。
  指示番号ごと明細番号ごとに製造ロット別商品の重複登録が出来る出来ないという点が違います。設計者が、出荷指示梱包内商品明細と出庫指示明細の製造ロット別商品に重複不可の制約(主キー)を設定した後、意図的に出庫指示明細の制約を崩した(主キーから外した)からですね。
2024.09.05 22:43
 イオさん(No.4) 
GinSanaさん
みかんさん

お二方  回答いただきましてありがとうございます。
コメント頂いた内容を拝見し、キーの違いについて認識し直しました。

この問題を解くのは2回目なのですが、1回目は今回の不明点さえ気づかない状態でした。
演習→フィードバックを繰り返し、レベルを上げていきたいです。
2024.09.06 11:11
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop