戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2011年 秋期 午前(科目A)35


問題文

関係データベースの操作の説明のうち、適切なものはどれか。

選択肢

結合は、二つ以上の表を連結して、一つの表を生成することをいう。(正解)
射影は、表の中から条件に合致した行を取り出すことをいう。
選択は、表の中から特定の列を取り出すことをいう。
挿入は、表に対して特定の列を挿入することをいう。

関係データベースの操作の説明のうち、適切なものはどれか。【午前2 解説】

要点まとめ

  • 結論: 関係データベースにおける「結合」は複数の表を関連キーで結び付けて一つの結果表を生成する操作で、SQLではJOINで実現されます。
  • 根拠: リレーショナル代数では射影(π)が列の抽出、選択(σ)が行の抽出、挿入はデータ操作であるため用語の意味が明確に区別されます。
  • 差がつくポイント: 「射影=列(列を指定するSELECT句)」「選択=行(WHERE条件)」を対応付けて覚え、英文や和訳に惑わされないことが重要です。

正解の理由

が正解です。結合(JOIN)は二つ以上の表を連結し、共通の属性(主キーと外部キーなど)に基づいて関連する行同士を結び合わせ、一つの結果表を生成する操作だからです。これは関係データベースの基本的な二項演算であり、SQLのJOIN句で表現されます。

よくある誤解

  • 「射影」と「選択」を逆に覚えてしまう誤解:射影は列(属性)を取り出す操作で、選択は行(タプル)を取り出す操作です。
  • 「結合=単純な連結(縦方向の結合)」と考えるミス:結合は条件に基づく横方向の結合(列の拡張)であり、単純な行の連結とは異なります。
  • 「挿入は列を追加する操作」と勘違いする点:挿入(INSERT)は行(レコード)を追加する操作で、列の追加はスキーマ変更(ALTER TABLE)です。

解法ステップ

  1. 各用語の和訳・定義を確認する(結合、射影、選択、挿入)。
  2. 用語と関係代数/SQLの対応を思い出す(射影→列、選択→行、結合→表間の関連付け)。
  3. 選択肢の文言が定義と一致するかを判定し、一致するものを選ぶ。
  4. 別の選択肢が用語を取り違えていないか確認して誤答を排除する。

選択肢別の誤答解説

  • : 正解。結合は二つ以上の表を関連付けて一つの結果表を生成する操作であり、SQLのJOINが該当します。
  • イ: 誤り。射影ではなく「選択」が行(条件に合致した行)の抽出を指します。射影は列の抽出です。
  • ウ: 誤り。選択は行(条件で絞り込む)を取り出す操作であり、列を取り出すのは射影です。
  • エ: 誤り。挿入(INSERT)は表に対して行を追加する操作であり、列(属性)を追加する場合はALTER TABLEなどスキーマ変更を行います。

補足コラム

関係代数とSQLの対応を整理すると覚えやすいです。代表的な対応例を示します。
  • 射影(Projection, π) → SQLのSELECT列指定(例: SELECT col1, col2 FROM T)
  • 選択(Selection, σ) → SQLのWHERE句(例: SELECT * FROM T WHERE cond)
  • 結合(Join) → SQLのJOIN(INNER/LEFT/RIGHTなど)やFROM句での複数表指定
  • 挿入(Insert) → SQLのINSERT INTO
SQLの簡単な例:
-- 結合の例(INNER JOIN)
SELECT A.id, A.name, B.order_date
FROM Customers A
JOIN Orders B ON A.id = B.customer_id;

-- 射影の例(列の抽出)
SELECT name, email FROM Customers;

-- 選択の例(行の抽出)
SELECT * FROM Orders WHERE order_date >= '2025-01-01';

-- 挿入の例(行の追加)
INSERT INTO Customers (id, name, email) VALUES (101, '山田太郎', 'taro@example.com');

FAQ

Q1. 「結合」と「連結」は同じですか?
A1. いいえ。結合(JOIN)は条件に基づき行を組み合わせて列を増やす操作で、連結は行を単につなげる(UNIONなど)操作です。用途と結果が異なります。
Q2. 射影と選択は英語でどう呼ばれますか?
A2. 射影はProjection、選択はSelectionと呼ばれ、関係代数の基本演算です。
Q3. 列を追加する操作は挿入ですか?
A3. いいえ。列(属性)を追加するのはスキーマ操作(例: ALTER TABLE ADD COLUMN)で、挿入は行(タプル)を追加する操作です。

関連キーワード: リレーショナルデータベース、SQL、JOIN、SELECT、射影、選択、挿入、関係代数、主キー、外部キー
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について