データ型に関して
データベースのデータ型はいろいろな種類があってわかりにくいです。
どういったときにどのデータ型を使えばいいのかわからなくなるので言語化できるようまとめて行きます。
データ型の概要
rubyではデータとデータの処理の集まりをオブジェクトと言います。
「プログラミングを行うと気に便利な単位」がデータ型と呼ばれるものです。
プログラミングでは各データがどのようなデータを示しているか区別するためにデータ型というものがあります。
ネコは名前(文字列)なのか数字(数値)なのかです。
データ型種類一覧
データ型 | 概要 |
---|---|
integer | 整数型(4バイト) |
bigit | 整数型(8バイト) |
decil | 固定長整数型(精度の高い少数) |
float | 数値(浮動小数点数) |
string | 文字列(1~255の文字) |
text | 長い文字列(1~4,294,967,296文字) |
date | 日付(1000-01-01 〜 9999-12-31) |
datetime | 日付と時刻(1000-01-01 00:00:00.000000 〜 9999-12-31 23:59:59.999999) |
time | 時刻 (-838:59:59 〜 838:59:59) |
timestamops | タイムスタンプ ('1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC) |
binary | バイナリティ文字列型 |
boolean | 真偽 |
primary_key | プライマリーキー |
integerとbigint
integer: 整数型4バイト
bigint: 整数型8バイト
昔は整数型はintegerのみだったようですがのみだったのですが、大規模のSNSサイトなどは会員数だけでも
かなりの数になってしまいintegerだけでは対応できなくなってしまいました。
そこでrails5.1からidカラムがbigintに変更できるようになりました。
textとstring
string(1〜255文字)
・名前
・住所
・パスワード
text(1〜4,294,967,296文字)
・コメント
・投稿文
timestamとdatetime
timestamp:タイムスタンプ ('1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC)
datetime:日付と時刻(1000-01-01 00:00:00.000000 〜 9999-12-31 23:59:59.999999
timestamは2038年までしか対応しておらず。
日時を記録する場合はdatetimeを使う方向になりました。
binary
「バイナリ」とはコンピューター用語で、データが「0」と「1」で表現されているデータ式です。
railsでは「テキストのない情報でデータが書かれているファイル」という認識になるかもしれません。
バイナリファイルの主なものとしましては
・音声ファイル
・画像ファイル
・圧縮ファイル
boolean
一般的には真(true)と偽(false)のような状態を表すデータ型を表します。