こんにちは!
前回は「お小遣い帳」のテーブルを見ながら、データベースの基本を学びましたね。今回は、テーブルの各フィールド(列)が持つ「型」について学びます。
データベースで扱う情報は、いろいろな「型」(データの種類)を持っています。たとえば、数字や日付、文字列などです。型を決めることで、データベースに「どんなデータを入れるか」を教えることができます。
フィールド名 | 説明 | 型の例 | 理由 |
---|---|---|---|
ID | データの識別子 | INT | 重複しない番号です。 |
日付 | お金をもらった日や使った日 | DATE | 日付を扱うための専用の型を使うと計算やソートが簡単。 |
収入/支出 | お金をもらったか使ったかの区別 | VARCHAR | 文字列(例:「収入」「支出」)を保存するため |
金額 | 金額の数値 | INT | 数字として計算(合計や平均など)ができるようにするため。 |
使い道 | 何に使ったか、どこからもらったか | VARCHAR | 自由に記述できる文字列を保存するため |
用途例:数量、人数、ID(商品ID,日誌ID、顧客IDなど)、種類、分類など
説明:
数値系(整数)に指定する基本的な型です。
数量や人数をはじめ、種別や分類、ID関係でよく使われます。
INT型はプログラマーとして働くことになった時、何度も目にすることでしょう。
用途例:名前、住所、短いメッセージ、コードなど
説明:
文字列に指定する型です。
こちらの型も頻繁に使われます。
名前や住所など、短めの文字列ならこの型を指定しましょう。目安としては255文字以内くらいです。
文字列の長さを指定しながら設定します(例:VARCHAR(50)
なら最大50文字まで保存可能)。
用途例:入金日、締切日、期限、予約日など
説明:
日付に指定する型です。
2025-01-01
のような形式です。
日付同士の計算(例:「2つの日付の差を求める」など)ができます。
用途例:更新日時、作成日時、投稿日時など
説明:
日時に指定する型です。
2025-01-01 12:01:30
のような年月日時分秒の形式になります。
用途例:単価、入金額、支払額など
説明:
数値型の一種ですがお金に特化した型です。
数字系でも金額関係ならINT型でなくDECIMAL型を指定してください。
日本円で最大でも1億円未満の金額しか扱わないと確定しているならDATETIME(9,0)
という型指定になります。
米ドルなら(100万ドル未満、小数点2桁)DATETIME(7,2)
という感じです。
現場によってはDECIMAL型でなくNUMERIC型を使うこともあります。
用途例:記事内容、説明文、備考、メモなど
説明:
数千文字くらいの長い文字列専用の型です。
処理の負担が大きいため、短い文字列ならVARCHARを指定しましょう。
用途例:測定値、計算値、緯度経度、図形の長さ
説明:
少数を含む数値に指定する型です。
高速に処理できますが、桁数が長くなると丸め処理(四捨五入など)が自動で施されるので注意です。厳密な正確さが求めれるお金関係に指定すべきでありません。
用途例:ON/OFF、有効/無効
説明: 整数型の一種ですが、ON/OFFのように1と0しか入力しない場合はTINYINT型が適切です。
次の項目を含む「商品テーブル」を作成するとしたら、どんな型が合うでしょうか?理由も考えてみましょう!
フィールド名 | 型の例 | 理由 |
---|---|---|
ID | ||
商品名 | ||
価格 | ||
在庫数 | ||
カテゴリー |
自分で考えた回答をもとに、テーブルを完成させてみてください!