🆗
【Python・PySparkで学ぶ!】RDBとは?を理解する。
RDBとは?
RDBが満たす特徴は次の通りです。
1. データがテーブル(表)で管理されている
「各テーブルは行(レコード)と列(カラム) を持つ。」
2. テーブル同士がリレーション(関係)を持つ
「RDBでは、キー(主キー・外部キー) を使って、異なるテーブルのデータ同士を関連付ける」
3. キー(主キー・外部キー)が設定されている
「各テーブルに、レコードを一意に識別する主キー(PK) がある。」
「別のテーブルのデータを参照する外部キー(FK) がある。」
上記の性質を理解するために、RDBではないテーブルをご紹介します。
RDBではないテーブル 例) 1
単なる表
上記のテーブルはRBDではありません。
- スキーマ(明確な構造)がない
- RDBでは、各列に明確な属性(カラム名)が必要ですが、この表には列名がありません。
- データの関係性(リレーション)が不明
- RDBは通常、複数のテーブルがリレーション(関係)を持つが、この表は単一のテーブルのみ。
- キー(主キー・外部キー)が設定されていない
- キーがなく、この表のデータは単語が並んでいるだけで、リレーション(関係性)が明確ではありません。
RDBではないテーブル 例) 2
キーと属性のある表
「例) 1」に属性(カラム名)と、キーとしてIDを追加しました。
しかし、上記のテーブルはRBDではありません。
- データの関係性(リレーション)が不明
- RDBは通常、複数のテーブルがリレーション(関係)を持つが、この表は単一のテーブルのみ。
RDBではないテーブル群 例) 3
学生の所属情報テーブル
部活動テーブル
「例) 1」と「例) 2」を踏まえて2つのテーブルを用意しました。それぞれのテーブルは、行と列の性質と主キーの性質を満たしています。
しかし、上記のテーブル群はRBDではありません。
- リレーション(関係性)が明確ではない
- 「学生テーブル」と「部活テーブル」が独立していて、関連付けられていない。
RDBなテーブル群 例) 1
学生テーブル
部活テーブル
役職テーブル
学生の所属情報テーブル
「例) 3」を踏まえて外部キーによるリレーションを明確にしました。
外部キー | 参照先テーブル | 参照先の主キー |
---|---|---|
学生テーブルの「部活ID」 | 部活テーブル | 部活ID |
学生の所属情報テーブルの「出席番号」 | 学生テーブル | 出席番号 |
学生の所属情報テーブルの「部活ID」 | 部活テーブル | 部活ID |
学生の所属情報テーブルの「役職ID」 | 役職テーブル | 役職ID |
上記のテーブル群は、
1. データがテーブル(表)で管理されている
「各テーブルは行(レコード)と列(カラム) を持つ。」
2. テーブル同士がリレーション(関係)を持つ
「RDBでは、キー(主キー・外部キー) を使って、異なるテーブルのデータ同士を関連付ける」
3. キー(主キー・外部キー)が設定されている
「各テーブルに、レコードを一意に識別する主キー(PK) がある。」
「別のテーブルのデータを参照する外部キー(FK) がある。」
という特徴を持っているため、RDBと言えます。
Discussion