【てーぶる】

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

最終更新:
💡 行と列でデータを管理する表

リレーショナルデータベースで、データを行と列の表形式で格納する基本単位。列は名前などの項目、行は1件分のデータを表す。主キーや外部キーなどの制約を定義できる。

📌 このページのポイント
テーブル:列は項目、行は1件分 usersテーブルの例idnameage1田中282鈴木353佐藤42緑の行:鈴木さんの1件分のデータ橙の列:nameという名前の項目idに主キーを定義すれば行を識別できる
見やすい順序で並べた例です。列の型はidとageが整数、nameが文字列。SQLの表には行の順序の保証はありません。
ひよこ ひよこ
Excelの表みたいに考えていい?
ペンギン先生 ペンギン先生
行と列で見るイメージは近いよ。ユーザーの表ならidやnameが列で、1人分の情報が行になる。PostgreSQLでは列ごとに型を定義するので、整数型の列に任意の文章を入れることはできないんだ。
ひよこ ひよこ
テーブルはどうやって作るの?
ペンギン先生 ペンギン先生
PostgreSQLならCREATE TABLE users (id integer PRIMARY KEY, name text);のように、名前と列の型、必要な制約をSQLで指定するよ。この例ではidを主キーにしているんだ。
ひよこ ひよこ
idという列があれば自動で主キーになる?
ペンギン先生 ペンギン先生
列の名前だけでは決まらないよ。PRIMARY KEYを定義すると、その列の値の重複とNULLを禁止できる。複数の列の組を主キーにすることもできるし、PostgreSQLでは主キーのないテーブルも作れるんだ。
ひよこ ひよこ
テーブル同士はどう結びつけるの?
ペンギン先生 ペンギン先生
たとえば商品テーブルと注文テーブルを作り、注文に商品IDを持たせる。外部キーを定義すると、注文の商品IDが商品テーブルの値を参照することを検査できるよ。列を同じ名前にしただけで、その制約が付くわけではないんだ。
ひよこ ひよこ
追加した順番でデータが出てくる?
ペンギン先生 ペンギン先生
並び順の保証はないよ。画面でidの小さい順に表示したいなら、取り出すときに明示的に並べ替える必要がある。図の行は見やすく並べた例で、データベースがその順序を保つという意味ではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「テーブル」って出てきたら「行と列でデータを格納する表」と思えばだいたいOK!
📖 おまけ:英語の意味
「Table」 = 表・テーブル
💬 そのまま「表」の意味。スプレッドシートの表と同じイメージで捉えるとわかりやすい

参考資料

← 用語集にもどる