あけおスクールに多額のお金を支払う前に、僕の記事で学習してね!
はじめに
データベースの勉強を始めると、
必ず出てくる言葉があります。
リレーショナルデータベース(RDB)
MySQLやPostgreSQLも
この仲間です。
でも多くの人が、
- 名前は聞いたことがある
- なんとなくテーブルを使うやつ
- JOINが難しいやつ
という
曖昧な理解のまま先に進んでしまいます。
この記事では、
リレーショナルデータベースとは何か?
なぜWebで主流なのか?
を、未経験者向けにゼロから解説します。
リレーショナルデータベースとは?
リレーショナルデータベースとは一言でいうと、
複数のテーブルを
「関係(リレーション)」で結びつけて
データを管理するデータベース
です。
ポイントは、
- テーブル
- 関係(リレーション)
この2つです。
テーブルとは何か?
テーブルとは、
表(Excelのシートのようなもの)
です。
テーブルの基本構造
- 行(レコード):1件のデータ
- 列(カラム):データの項目
例)usersテーブル
| id | name | |
|---|---|---|
| 1 | Akeo | akeo@example.com |
👉
1行=1人分の情報です。
なぜテーブル形式なのか?
理由はとてもシンプルです。
- 人間が理解しやすい
- 整理しやすい
- 検索しやすい
👉
構造化されたデータ管理に向いています。
「リレーショナル」の意味
リレーショナルの本質は、
テーブル同士を
関係づけて管理できること
です。
なぜ1つのテーブルに全部入れないのか?
初心者がよく考えます。
「ユーザー情報と注文情報、
1つのテーブルに入れればよくない?」
結論から言うと、
ダメです。
1テーブル管理の問題点
1つのテーブルに詰め込むと、
- データが重複する
- 更新ミスが起きる
- 整合性が壊れる
例)
| user_name | product_name |
|---|---|
| Akeo | Book |
| Akeo | Pen |
👉
ユーザー名が変わると
全行修正になります。
テーブルを分けるという考え方
そこで、
- 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サービスの基本構造
この記事は
データベース理解の心臓部です。



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



