関係代数とは?かんけいだいすう
関係代数とは、関係(表)を入力として関係を出力する演算を組み合わせ、問合せを手続き的に表す体系である。集合演算の和・差・共通・直積と、関係固有の選択・射影・結合・商から成り、SQLのSELECT文はこれらの組合せとして解釈できる。支援士では、ビューによるアクセス制御や、結合を含む問合せの結果を追う場面で、演算の意味を正確に読み取れることが求められる。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
データベースへの問合せを「どの手順で表を加工するか」として数学的に定義しておけば、同じ結果を返す別の手順に置き換えて最適化できる。SQLの実行計画で結合順序が入れ替わるのは、この代数的な同値性があるからである。手続きを書かずに「どんな結果が欲しいか」を述べる関係論理(SQLに近い)と対になる。
具体例
顧客表と注文表を持つ通販システムで「大阪府の顧客の注文一覧」を求めるなら、顧客表に選択σ(都道府県='大阪府')をかけ、注文表と顧客IDで結合⋈し、最後に射影πで必要な列だけ取り出す。PostgreSQLのEXPLAINで表示される実行計画は、この演算の並びそのものである。
試験での引っ掛け
基本演算は和・差・直積・選択・射影の5つで、共通(∩)・結合・商はこれらから導ける。R∩S=R−(R−S) への書き換えが定番である。SQLのSELECTは重複行を残すため、関係代数の集合としての結果と一致させるにはDISTINCTが要る点も問われる。
関連用語
出典・参考
公式シラバスの3 技術要素 > 3. データ操作 > (1) データベースの操作に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。