関係代数(選択・射影・結合)とは?
関係代数(選択・射影・結合)とは、表を入力として表を出力する演算の体系で、関係データベースの理論的な土台。行を絞る選択、列を取り出す射影、共通の列で表をつなぐ結合、差・和・積などの集合演算からなる。FEでは、SQLの各構文がどの関係代数演算に当たるかが問われる。
基本情報技術者試験の過去問では4回出題されています(2016年度〜2019年度)。
かんけいだいすう
関係代数(選択・射影・結合)の意味
表を入力として表を出力する演算の体系で、関係データベースの理論的な土台。行を絞る選択、列を取り出す射影、共通の列で表をつなぐ結合、差・和・積などの集合演算からなる。FEでは、SQLの各構文がどの関係代数演算に当たるかが問われる。
関係代数(選択・射影・結合)の具体例
「WHERE 部署='営業'」は選択、「SELECT 氏名, 部署」は射影、「FROM 社員 JOIN 部署 ON …」は結合に対応する。社員表と部署表の直積は行数が両者の積になるため、結合条件を付けて必要な組合せだけに絞る。
関係代数(選択・射影・結合)は試験でどう引っ掛けられる?
選択(行の絞り込み)と射影(列の取り出し)を取り違える答案が非常に多い。英語のselectはSQLでは列指定だが、関係代数のselectは行の絞り込みを指す点が混乱の元になる。
関係代数(選択・射影・結合)と関連する用語
関係代数(選択・射影・結合)が出た過去問
関係代数の演算のうち,関係R,Sの直積(R×S)に対応するSELECT文はどれか。ここで,関係R,Sを表R,Sに対応させ,表R及びSにそれぞれ行の重複はないもの…
正解:SELECT * FROM R, S
要点:直積はFROMに表を並べた全組合せ。行数はm×n
直積は、2つの関係のすべての行の組合せを作り、列を連結した関係を得る演算である。SQLではFROM句に複数の表を結合条件なしで並べると各行の全組合せが得られるため、これが直積に対応する。行数はRとSの行数の積になる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問28(IPA)関係XとYを結合した後,関係Zを得る関係代数演算はどれか。
正解:射影と選択
要点:行を絞るのが選択、列を取り出すのが射影
結合後の表には学生と学部の情報が全て並ぶが、得られた関係Zでは学部名が情報学部の行だけが残り、列も学部名・学生番号・氏名の3つに絞られている。行を条件で絞り込む演算が選択、必要な列だけを取り出す演算が射影なので、この二つを組み合わせればZが得られる。和は二つの関係の行を合わせる演算であり、ここでは使われていない。
出典:平成28年度 春期 基本情報技術者試験 午前 問27(IPA)関係XとYを自然結合した後,関係Zを得る関係代数演算はどれか。
正解:選択と射影
要点:行を絞るのが選択、列を絞るのが射影
結合後の表から特定の学部名の行だけを取り出しているので、条件に合う行を絞り込む演算が必要である。さらに列も学部名・学生番号・氏名の3つに限られ、学部コードが消えているので、必要な列だけを取り出す演算も併用されている。
出典:平成30年度 秋期 基本情報技術者試験 午前 問28(IPA)関係モデルにおいて、関係から特定の属性だけを取り出す演算はどれか。
正解:射影(projection)
要点:射影は列を取り出す、選択は行を取り出す
関係代数では、表から必要な列(属性)だけを抜き出す演算を射影という。これに対し条件に合う行(タプル)を抜き出すのが選択であり、行方向か列方向かで対になっている。複数の表を共通の属性で結び付けるのが結合、同じ形の表を行単位で足し合わせるのが和である。
出典:令和1年度 秋期 基本情報技術者試験 午前 問27(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。