データベース
平成29年度 春期 基本情報技術者試験 午前 問25
属性 a の値が決まれば属性 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるということの表現は,社員番号 → 社員名である。この表記法に基づいて,図の関係が成立している属性 a〜j を,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。
関数従属の図: a → b, a → c, a → d, a → e(a から b, c, d, e への矢印)。b → f, b → g, b → h(b から f, g, h への矢印)。e → i, e → j(e から i, j への矢印)。
- ア テーブル1 (a) テーブル2 (b, c, d, e) テーブル3 (f, g, h, i, j)
- イ テーブル1 (a, b, c, d, e) テーブル2 (b, f, g, h) テーブル3 (e, i, j)
- ウ テーブル1 (a, b, f, g, h) テーブル2 (c, d) テーブル3 (e, i, j)
- エ テーブル1 (a, c, d) テーブル2 (b, f, g, h) テーブル3 (e, i, j)
出典:平成29年度 春期 基本情報技術者試験 午前 問25
答えと解説を見る
正解:イ
覚える知識
関数従属性に基づく第3正規形への分解
第3正規形では非キー属性間の推移的関数従属を別テーブルに分離する。
この問題で必要なこと
a→b,c,d,e、b→f,g,h、e→i,jの関係から、推移的従属を分離して(a,b,c,d,e)、(b,f,g,h)、(e,i,j)に分ける。
ひっかけ
外部キーとなるb,eを元の表から外してしまう分解。
この知識の出題:本試験系 6 回・免除試験 32 回(公開問題での観測値)