【てーぶる】

テーブル(データベース) とは?

💡 データベースの中にある「エクセルのシート」のようなもの
📌 このページのポイント
データベースのテーブル構造 id name email 1 田中太郎 tanaka@example.com 2 鈴木花子 suzuki@example.com 3 佐藤次郎 sato@example.com 行=レコード 列=カラム 主キー (PK) 各行を一意に識別 レコード(行) 1件分のデータ カラム(列) データの属性・項目
データベースのテーブル構造のイメージ
ひよこ ひよこ

テーブルってExcelの表みたいなもの?

ペンギン先生 ペンギン先生

イメージとしてはそう。横方向の「列(カラム)」がデータの項目(名前、年齢、メールなど)で、縦方向の「行(レコード)」が1件ずつのデータ。ただしExcelと違って、各列にはデータ型が決まっていて「名前の列に数値を入れる」みたいなことは基本できない。

ひよこ ひよこ

テーブルって1つだけじゃだめなの?

ペンギン先生 ペンギン先生

全部1つのテーブルにまとめると同じデータを何度も書くことになって無駄が増えるんだ。例えば注文データに毎回ユーザーの住所を書くより、ユーザーテーブルと注文テーブルを分けてIDで紐づけたほうが効率的。これが「正規化」という考え方。

ひよこ ひよこ

CREATE TABLEで作るの?

ペンギン先生 ペンギン先生

そう。SQLの「CREATE TABLE ユーザー (id INT PRIMARY KEY, name VARCHAR(100), ...)」のように、テーブル名と各カラムの名前・型・制約を指定して作る。後からカラムを追加・削除するにはALTER TABLEを使うよ。

ひよこ ひよこ

テーブルの設計ってどこが難しいの?

ペンギン先生 ペンギン先生

「どこまで分割するか」のバランスが難しい。正規化しすぎるとJOINだらけになって遅くなるし、まとめすぎると同じデータの重複が増えて更新時の不整合が起きる。パフォーマンスとデータの一貫性のトレードオフは、実際に運用してみないとベストな設計が見えにくいんだよね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
テーブルって出てきたら「データベースの中で行と列の表形式でデータを格納する入れ物」と思えばだいたいOK!
📖 おまけ:英語の意味
「Table」 = 表・テーブル
💬 そのまま「表」の意味。スプレッドシートの表と同じイメージで捉えるとわかりやすい
← 用語集にもどる