1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

リレーショナルデータベースについて

Posted at

リレーショナルデータベースについて学習した内容をアウトプットとしてまとめてみました。
同じように学習されている方の参考になれば幸いです。

リレーショナルデータベースとは

リレーショナルデータベース(関係型データベース)は、データを表形式で管理し、複数のテーブル(表)同士を関連付けて扱うことができるデータベースシステムです。

テーブルの基本構造

1. 行(レコード)と列(カラム)

テーブルは以下の要素で構成されています。

  • 行(レコード):テーブルに格納されたデータ1件分
  • 列(カラム):データの項目を定義する部分

例)生徒テーブルの場合:

  • 行:生徒1人分のデータ
  • 列:学籍番号、氏名、生年月日など

2. データ型

各カラムには、保存できるデータの種類を指定します。
例えば以下のようなものがあります。

  • 数値型:整数や小数を扱う(例:年齢、成績)
  • 文字列型:文字を扱う(例:氏名、住所)
  • 日付型:日付や時刻を扱う(例:生年月日、登録日時)

3. 制約

データの整合性を保つための規則です。
代表的な制約は以下の2つです。

  • NOT NULL制約:空の値(NULL)を禁止
  • UNIQUE制約:重複する値を禁止

キー(KEY)の種類と役割

1. 主キー(Primary Key)

  • テーブル内のデータを一意に特定するためのカラム
  • 重複と空欄(NULL)は許可されない(主キー制約)
    → 1つのテーブルに1つだけ設定可能

2. 外部キー(Foreign Key)

  • 他のテーブルの主キーを参照するためのカラム
  • テーブル間の関連付けに使用する
  • 参照先のテーブルに存在しないデータは保存できない(外部キー制約)

テーブルを分けるメリット

例えば、生徒と教室の情報を管理する場合

良くない例(1つのテーブルで管理):

  • 教室名が変更された場合、その教室の生徒全員分のデータを修正する必要がある
  • データの重複が多く、管理が煩雑

テーブルを分けて管理した場合:

  1. 生徒テーブル:生徒ID、氏名、教室ID
  2. 教室テーブル:教室ID、教室名

この場合:

  • 教室名の変更は教室テーブルの1箇所の修正で済む
  • データの一貫性が保たれやすい
  • 保存容量も少なくて済む

最後まで読んでいただきありがとうございました!

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?