データ操作① 選択・射影・結合

目次

関係演算

関係演算は、関係データベースにおいてテーブル内のデータを条件に基づき操作する方法です。

ここでは、選択射影結合についてそれぞれ説明します。

選択

関係演算の選択は、テーブルから特定の条件を満たすを抽出する(抜き出す)操作です。以下に具体的なサンプルを用いた例を示します。

例: 学生テーブル(学生ID、氏名、年齢、専攻)から選択操作で年齢が20歳以上の学生を抽出する。

学生テーブル:

学生ID氏名年齢専攻
1太郎18数学
2花子21英語
3次郎20物理

選択操作: 年齢 >= 20 の行を抽出。

該当するのは黄色の2行です。

学生ID氏名年齢専攻
1太郎18数学
2花子21英語
3次郎20物理

結果:

学生ID氏名年齢専攻
2花子21英語
3次郎20物理

この例では、年齢が20歳以上の学生(花子と次郎)が選択されています。選択操作は、特定の条件を満たす行を取り出すことができるため、データの絞り込みに役立ちます。

射影

関係演算の射影は、テーブルから特定の条件を満たすを抽出する(抜き出す)操作です。以下に具体的なサンプルを用いた例を示します。

例: 学生テーブル(学生ID、氏名、年齢、専攻)から射影操作で学生の氏名と専攻のみを抽出する。

学生テーブル:

学生ID氏名年齢専攻
1太郎18数学
2花子21英語
3次郎20物理

射影操作: 氏名、専攻 列を抽出。

該当するのは黄色の二行です。

学生ID氏名年齢専攻
1太郎18数学
2花子21英語
3次郎20物理

結果:

氏名専攻
太郎数学
花子英語
次郎物理

この例では、学生の氏名と専攻のみが抽出されています。射影操作は、特定の列のみに注目してデータを取り出すことができるため、不要な情報を除外してデータの可読性を向上させることができます。

選択と射影

選択は表の横(行)の要素を、射影は縦(列)の要素をそれぞれ抽出している点に注目!

結合

関係演算の結合は、2つのテーブルを特定の条件で結びつける操作です。以下に具体的なサンプルを用いた例を示します。

例: 学生テーブル(学生ID、氏名、クラスID)とクラステーブル(クラスID、クラス名)を結合する。

学生テーブル:

学生ID氏名クラスID
1太郎A
2花子B
3次郎A

クラステーブル:

クラスIDクラス名
A数学クラス
B英語クラス

結合操作: 学生テーブルとクラステーブルをクラスIDで結合

二つのテーブルの黄色の列の一致したレコードで結合します。

学生ID氏名クラスID
1太郎A
2花子B
3次郎A
クラスIDクラス名
A数学クラス
B英語クラス

結果:

学生ID氏名クラスIDクラス名
1太郎A数学クラス
2花子B英語クラス
3次郎A数学クラス

この例では、学生テーブルとクラステーブルがクラスIDを共通のキーとして結合され、学生の氏名とクラス名が一緒に表示されています。

結合操作は、異なるテーブルの情報を組み合わせて新たなデータを生成することができるため、データ分析やレポート作成などで役立ちます。

集合演算

関係データベースの集合演算とは、テーブルを集合として扱い、複数の表から重複しないようにすべての行を取り出したり、共通する行を取り出したりして新しいテーブルを作成する操作のことを指します。主に、和演算、積演算、差演算などの演算があります。

以下の二つのテーブルを例に説明します。

例: クラスAの生徒テーブル(学生ID、氏名)とクラスBの生徒テーブル(学生ID、氏名)

クラスAの生徒テーブル:

学生ID氏名
1太郎
2花子

クラスBの生徒テーブル:

学生ID氏名
2花子
3次郎

和演算

和演算(和演算集合)は、二つのテーブルAとBのすべての行を取り出して、重複する行を取り除いた新しいテーブルを作成します。結果として得られるテーブルは、AとBの両方に存在する全てのユニークな行を含みます。

学生ID氏名
1太郎
2花子
3次郎

積演算

積演算(積演算集合)は、二つのテーブルAとBに共通する行のみを抽出して新しいテーブルを作成します。つまり、AとBの両方に存在する行だけが含まれます。

学生ID氏名
2花子

差演算

差演算(差演算集合:テーブルA – テーブルB)は、一方のテーブルAからもう一方のテーブルBに含まれる行を除外した新しいテーブルを作成します。結果として得られるテーブルには、Aに存在しBには存在しない行のみが含まれます。

学生ID氏名
1太郎

これらの演算は、テーブル間のデータを組み合わせたり、比較したりする際に役立ちます。

ただし、これらの演算を適用するには、テーブル間で共通の属性(列名)が必要です。また、行の数が多いほど処理に時間がかかることがあります。

目次