リレーショナルデータベースについて学習した内容をアウトプットとしてまとめてみました。
同じように学習されている方の参考になれば幸いです。
リレーショナルデータベースとは
リレーショナルデータベース(関係型データベース)は、データを表形式で管理し、複数のテーブル(表)同士を関連付けて扱うことができるデータベースシステムです。
テーブルの基本構造
1. 行(レコード)と列(カラム)
テーブルは以下の要素で構成されています。
- 行(レコード):テーブルに格納されたデータ1件分
- 列(カラム):データの項目を定義する部分
例)生徒テーブルの場合:
- 行:生徒1人分のデータ
- 列:学籍番号、氏名、生年月日など
2. データ型
各カラムには、保存できるデータの種類を指定します。
例えば以下のようなものがあります。
- 数値型:整数や小数を扱う(例:年齢、成績)
- 文字列型:文字を扱う(例:氏名、住所)
- 日付型:日付や時刻を扱う(例:生年月日、登録日時)
3. 制約
データの整合性を保つための規則です。
代表的な制約は以下の2つです。
- NOT NULL制約:空の値(NULL)を禁止
- UNIQUE制約:重複する値を禁止
キー(KEY)の種類と役割
1. 主キー(Primary Key)
- テーブル内のデータを一意に特定するためのカラム
- 重複と空欄(NULL)は許可されない(主キー制約)
→ 1つのテーブルに1つだけ設定可能
2. 外部キー(Foreign Key)
- 他のテーブルの主キーを参照するためのカラム
- テーブル間の関連付けに使用する
- 参照先のテーブルに存在しないデータは保存できない(外部キー制約)
テーブルを分けるメリット
例えば、生徒と教室の情報を管理する場合
良くない例(1つのテーブルで管理):
- 教室名が変更された場合、その教室の生徒全員分のデータを修正する必要がある
- データの重複が多く、管理が煩雑
テーブルを分けて管理した場合:
- 生徒テーブル:生徒ID、氏名、教室ID
- 教室テーブル:教室ID、教室名
この場合:
- 教室名の変更は教室テーブルの1箇所の修正で済む
- データの一貫性が保たれやすい
- 保存容量も少なくて済む
最後まで読んでいただきありがとうございました!
参考