🆗

【Python・PySparkで学ぶ!】RDBとは?を理解する。

2025/03/11に公開

RDBとは?

RDBが満たす特徴は次の通りです。

1. データがテーブル(表)で管理されている

「各テーブルは行(レコード)と列(カラム) を持つ。」

2. テーブル同士がリレーション(関係)を持つ

「RDBでは、キー(主キー・外部キー) を使って、異なるテーブルのデータ同士を関連付ける」

3. キー(主キー・外部キー)が設定されている

「各テーブルに、レコードを一意に識別する主キー(PK) がある。」
「別のテーブルのデータを参照する外部キー(FK) がある。」

上記の性質を理解するために、RDBではないテーブルをご紹介します。

RDBではないテーブル 例) 1


単なる表
上記のテーブルはRBDではありません。

  1. スキーマ(明確な構造)がない
    • RDBでは、各列に明確な属性(カラム名)が必要ですが、この表には列名がありません。
  2. データの関係性(リレーション)が不明
    • RDBは通常、複数のテーブルがリレーション(関係)を持つが、この表は単一のテーブルのみ。
  3. キー(主キー・外部キー)が設定されていない
    • キーがなく、この表のデータは単語が並んでいるだけで、リレーション(関係性)が明確ではありません。

RDBではないテーブル 例) 2


キーと属性のある表
「例) 1」に属性(カラム名)と、キーとしてIDを追加しました。
しかし、上記のテーブルはRBDではありません。

  1. データの関係性(リレーション)が不明
    • RDBは通常、複数のテーブルがリレーション(関係)を持つが、この表は単一のテーブルのみ。

RDBではないテーブル群 例) 3


学生の所属情報テーブル

部活動テーブル
「例) 1」と「例) 2」を踏まえて2つのテーブルを用意しました。それぞれのテーブルは、行と列の性質と主キーの性質を満たしています。
しかし、上記のテーブル群はRBDではありません。

  1. リレーション(関係性)が明確ではない
    • 「学生テーブル」と「部活テーブル」が独立していて、関連付けられていない。

RDBなテーブル群 例) 1


学生テーブル

部活テーブル

役職テーブル

学生の所属情報テーブル
「例) 3」を踏まえて外部キーによるリレーションを明確にしました。

外部キー 参照先テーブル 参照先の主キー
学生テーブルの「部活ID」 部活テーブル 部活ID
学生の所属情報テーブルの「出席番号」 学生テーブル 出席番号
学生の所属情報テーブルの「部活ID」 部活テーブル 部活ID
学生の所属情報テーブルの「役職ID」 役職テーブル 役職ID

上記のテーブル群は、

1. データがテーブル(表)で管理されている

「各テーブルは行(レコード)と列(カラム) を持つ。」

2. テーブル同士がリレーション(関係)を持つ

「RDBでは、キー(主キー・外部キー) を使って、異なるテーブルのデータ同士を関連付ける」

3. キー(主キー・外部キー)が設定されている

「各テーブルに、レコードを一意に識別する主キー(PK) がある。」
「別のテーブルのデータを参照する外部キー(FK) がある。」

という特徴を持っているため、RDBと言えます。

Discussion