平成26年度 春期 午前 問26
データベース
テーブルで定義する組合せ
項目 a の値が決まれば項目 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるという表現は,社員番号 → 社員名である。この表記法に基づいて,図の関係が成立している項目 a 〜 j を,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。
〔図〕矢印の関係を字に書き起こしたもの
a → b b → f
a → c b → g
a → d b → h
a → e e → i
e → 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)
答えと解説を見る
✓ これが正解イテーブル1(a, b, c, d, e)/テーブル2(b, f, g, h)/テーブル3(e, i, j)
解説
矢印の元ごとに表を作り、行き先の項目をまとめます。
図の矢印は、元の項目の値が決まれば先の項目の値が一つに定まるという関係を表しています。ここからテーブルを作る手順は三つです。まず矢印の元になっている項目を全部書き出します。この図では a と b と e の三つで、これがそれぞれのテーブルを識別する項目になります。次に、その項目ごとに、自分自身と、そこから矢印が出ている先の項目をひとまとめにします。a からは b と c と d と e に矢印が出ているので五つの項目のテーブル、b からは f と g と h に出ているので四つの項目のテーブル、e からは i と j に出ているので三つの項目のテーブルになります。最後に、b と e が二つのテーブルに現れることを確かめます。a のテーブルでは a によって決まる値として置かれ、自分が元になっているテーブルでは識別する側として置かれます。この重なりがテーブルどうしをつなぐ役目を果たすので、取り除いてはいけません。この三つの組合せが正解です。
ほかの選択肢はなぜ違うのか
- アテーブル1(a)/テーブル2(b, c,…:識別する項目だけを切り離した一つ目に対し、二つ目へ b と c と d と e をまとめて入れています。c と d は b から決まる項目ではないので、この置き方では何によって決まるのかという対応が崩れます。
- ウテーブル1(a, b, f, g, h)…:a を先頭に置いたテーブルへ、b から決まる項目まで抱え込ませた形です。この置き方をすると c と d だけのテーブルが残り、その二つを何が決めているのかを示す項目がどこにもなくなります。
- エテーブル1(a, c, d)/テーブル2…:a を先頭に置いたテーブルから b と e が落ちています。この二つはテーブルどうしをつなぐ鍵の役目を持つので、落とすと残りの二つのテーブルがどの行に結び付くのかをたどれなくなります。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:平成26年度 春期 基本情報技術者試験 午前 問26(改変:原典の図表をテキストに書き起こした)
同じ用語が出る問題
- 令和6年度 科目A 問15:非構造化データに関する問題(関係データベース)
- 平成29年度 春期 午前 問25:関数従属に関する問題(関係データベース)
- 平成28年度 秋期 午前 問26:E-R図に関する問題(関係データベース)
- 平成28年度 春期 午前 問29:外部キーを定義する目的(関係データベース)
- 平成28年度 春期 午前 問26:関係モデルに関する問題(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)