データベース設計(全49問中15問目)

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
6行だけから成る"配送"表において成立している関数従属はどれか。ここで,X→Yは,XはYを関数的に決定することを表す。
27.png

出典:平成28年秋期 問27

  • 配送先→部品ID
  • 配送日→部品ID
  • 部署ID→部品ID
  • 部署名→配送先
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース設計
解説
関係データベースにおける関数従属とは、「社員ID→社員名」や「保険証番号→{個人名,住所,生年月日}」などのように、ある属性の値によって別の属性の値が一意に決まる関係をいいます。設問の表では"部署ID"に"部署名"が関数従属していることは一目瞭然ですが、この関係は選択肢から除外されているため別の関数従属関係を探すことになります。
  • 正しい。
    • 秋田事業所 → 1342
    • 名古屋工場 → 2346
    • 川崎事業所 → 1342
    上記のように"配送先"から"部品ID"の値が一意に決まるため関数従属性があります。
    ※この先、配送表にレコードが追加されていけば関数従属性が崩れる可能性はありますが、設問にて「6行だけから成る」という条件があるため正解となります。
    27a.png
    • 2016-08-21 → 1342
    • 2016-08-25 → 2346
    • 2016-08-30 → 2346 または 1342
    "配送日"が2016-08-30のときに、"部品ID"の値が一意に決まらないため関数従属性はありません。
    27i.png
    • 300 → 1342
    • 400 → 2346
    • 500 → 2346 または 1342
    "部署ID"が500のときに、"部品ID"の値が一意に決まらないため関数従属性はありません。
    27u.png
    • 第二生産部 → 秋田事業所
    • 第一生産部 → 名古屋工場
    • 研究開発部 → 名古屋工場 または 川崎事業所
    "部署名が研究開発部のときに、"配送先"の値が一意に決まらないため関数従属性はありません。
    27e.png
また6行だけから成るこの表に限れば、前述した「部署ID→部署名」以外にも「配送日→部署ID」「配送日→部署名」の関数従属があります。

Pagetop