問題本文
情報処理に関する用語a〜dのうち,関係データベースの関係演算だけを全て挙げたものはどれか。 a 結合 b 射影 c 順次 d 選択
選択肢
- ア.a, b
- イ.a, b, c
- ウ.a, b, d
- エ.a, d
解説
関係データベース(Relational Database)における関係演算(Relational Algebra)の代表的な操作は「選択・射影・結合」の3つである。選択(Selection)は行を条件でフィルタリングする操作、射影(Projection)は特定の列を取り出す操作、結合(Join)は複数のテーブルを共通属性で結合する操作である。一方、「順次」は構造化プログラミングの3基本制御構造(順次・選択・反復)の一つであり、処理を上から順に実行することを指すプログラミング概念で関係演算には含まれない。したがって関係演算はa(結合)・b(射影)・d(選択)の3つである。
選択肢ごとの解説
- ア.誤り。a,bの組合せはd(選択)が抜けている。選択(Selection)はSQL文のWHERE句に相当し、条件を満たす行のみを抽出する基本的な関係演算の一つである。関係演算から選択を除外することはできないため、a,bだけでは不完全な組合せである。
- イ.誤り。a,b,cの組合せにはc(順次)が含まれるが、順次は関係演算ではない。順次(Sequence)は構造化プログラミングの概念で処理を上から順に実行することを意味し、データベースの演算体系とは無関係である。c(順次)を含む選択肢は不適切となる。
- ウ.正しい。a(結合)・b(射影)・d(選択)はすべて関係演算である。結合は複数テーブルを接続(SQLのJOIN)、射影は列を抽出(SELECT句での列指定)、選択は行を条件で絞り込む(WHERE句)。c(順次)はプログラミング制御構造であり関係演算ではないため除外される。
- エ.誤り。a,dの組合せはb(射影)が抜けている。射影(Projection)はSQLのSELECT句で特定の列を指定することに相当し、テーブルから必要な属性のみを取り出す関係演算の一つ。a(結合)とd(選択)だけでは三つある基本的関係演算のうち一つが欠けているため不正解。
ITパスポート 2017年 (平成29年 春期) の過去問一覧へ戻る・問89