リレーショナルデータベースとは何か?テーブルでデータを管理する仕組みを初心者向けに解説

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

はじめに

データベースの勉強を始めると、
必ず出てくる言葉があります。

リレーショナルデータベース(RDB)

MySQLやPostgreSQLも
この仲間です。

でも多くの人が、

  • 名前は聞いたことがある
  • なんとなくテーブルを使うやつ
  • JOINが難しいやつ

という
曖昧な理解のまま先に進んでしまいます。

この記事では、

リレーショナルデータベースとは何か?
なぜWebで主流なのか?

を、未経験者向けにゼロから解説します。

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

リレーショナルデータベースとは一言でいうと、

複数のテーブルを
「関係(リレーション)」で結びつけて
データを管理するデータベース

です。

ポイントは、

  • テーブル
  • 関係(リレーション)

この2つです。

テーブルとは何か?

テーブルとは、

表(Excelのシートのようなもの)

です。

テーブルの基本構造

  • 行(レコード):1件のデータ
  • 列(カラム):データの項目

例)usersテーブル

idnameemail
1Akeoakeo@example.com

👉
1行=1人分の情報です。

なぜテーブル形式なのか?

理由はとてもシンプルです。

  • 人間が理解しやすい
  • 整理しやすい
  • 検索しやすい

👉
構造化されたデータ管理に向いています。

「リレーショナル」の意味

リレーショナルの本質は、

テーブル同士を
関係づけて管理できること

です。

なぜ1つのテーブルに全部入れないのか?

初心者がよく考えます。

「ユーザー情報と注文情報、
1つのテーブルに入れればよくない?」

結論から言うと、

ダメです。

1テーブル管理の問題点

1つのテーブルに詰め込むと、

  • データが重複する
  • 更新ミスが起きる
  • 整合性が壊れる

例)

user_nameproduct_name
AkeoBook
AkeoPen

👉
ユーザー名が変わると
全行修正になります。

テーブルを分けるという考え方

そこで、

  • usersテーブル
  • ordersテーブル

のように
役割ごとに分けます。

主キー(Primary Key)とは?

主キーとは、

その行を一意に特定するための列

です。

例)

  • id
  • user_id

👉
テーブルの身分証です。

外部キー(Foreign Key)とは?

外部キーとは、

別のテーブルの主キーを参照する列

です。

例)

  • orders.user_id → users.id

これにより、

テーブル同士が関係づけられます。

テーブル同士をどうやって使うのか?

テーブル同士は、

JOIN(結合)

という操作で
一緒に使います。

👉
JOINの詳細は
SQL章で深掘りします。

リレーショナルDBがWebで主流な理由

理由は明確です。

  • データの整合性が高い
  • 同時アクセスに強い
  • トランザクションが使える

👉
Webサービスに必須の要件を満たしています。

RDBとNoSQLの違い(軽く)

最近は、

  • NoSQL

という言葉もあります。

簡単にいうと、

  • RDB:構造重視
  • NoSQL:柔軟性重視

👉
まずはRDBを理解するのが最優先です。

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

Laravelでは、

  • テーブル
  • 主キー
  • 外部キー

を前提に、

  • Eloquent
  • マイグレーション

が設計されています。

👉
RDBを理解していないとLaravelは理解できません。

初心者が最初に理解すべきポイント

この段階では、
次が分かっていればOKです。

  • データはテーブルで管理する
  • 行と列の意味
  • テーブル同士は関係づけられる

JOINや正規化は
次のステップです。

次に学ぶべきこと

リレーショナルDBが分かったら、
次は👇です。

👉 データベースにはお金がかかる?
クラウド時代のDBコストの考え方

まとめ

  • RDBはテーブルで管理する
  • 主キーで行を特定
  • 外部キーでテーブルをつなぐ
  • Webサービスの基本構造

この記事は
データベース理解の心臓部です。

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次