【からむ】

カラム とは?

最終更新:
💡 テーブルの「縦方向の項目」、データの種類を定義する列

データベースのテーブルを構成する縦方向のデータ項目の単位。「列」とも呼ばれ、データの種類(名前・年齢・メールアドレスなど)を定義する。

📌 このページのポイント
カラム=データ項目を表す列 usersテーブルの例 id integer name text age integer 1 田中 28 2 鈴木 35 3 佐藤 42 橙の縦列:nameカラム 緑の横行:1人分のレコード 名前・型・制約などを列ごとに定義
列は項目、行は1件のデータ。既定値と制約、保存方式とは区別します。
ひよこ ひよこ
カラムってどんな単位なの?
ペンギン先生 ペンギン先生
テーブルを表として考えると、縦がカラム、横が行だよ。usersテーブルにid・name・ageという列があれば、各行には1人のユーザーのID・名前・年齢が入るんだ
ひよこ ひよこ
データ型って何のためにあるの?
ペンギン先生 ペンギン先生
格納できる値の種類や計算の扱いを決めるためだよ。PostgreSQLならageをinteger、nameをtextにできる。ただし整数型だけでは年齢が妥当かまでは決まらない。値の範囲などは別の制約や検証も考えよう
ひよこ ひよこ
DEFAULTも制約なの?
ペンギン先生 ペンギン先生
DEFAULTは値を省略したときなどに入れる既定値だよ。NOT NULLはNULLを許さず、UNIQUEは列や列の組み合わせの一意性、FOREIGN KEYは参照先との整合を扱う。既定値を指定することと、許される値を制限することは別なんだ
ひよこ ひよこ
インデックスをカラムに作るって何?
ペンギン先生 ペンギン先生
本の索引のように、条件に合う行を探すための補助的な構造を作ることだよ。ただし作れば常に使われるわけではない。DBは統計や検索条件などから実行計画を選び、全体を読む方が効率的ならそちらを使うこともあるよ
ひよこ ひよこ
カラム型データベースって何が違うの?
ペンギン先生 ペンギン先生
列指向の保存方式は、列ごとの値をまとめて保存するよ。Redshiftなどで、少数の列を多数の行から集計するときに、不要な列の読み込みを減らしたり列に合う圧縮を使ったりできる。速さは処理や設計にもよるし、RDBという分類と行指向・列指向という保存方式は別の話だよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「カラム」って出てきたら「DBテーブルのデータ項目を表す列」と思えばだいたいOK!
📖 おまけ:英語の意味
「Column」 = 表の列
💬 ここでは表の縦方向の列を表す英語だよ。列ごとに名前や型があり、各行にその項目の値が入るんだ

参考資料

← 用語集にもどる