最初に
カレンダー企画2020の17日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。
Rails:データ型についてちょっとまとめてみる
こちらで
データベースのテーブルについてまとめたのですが、
そこにカラムというのが登場しました。データ型はそのカラムに制限をかける(条件をつける)みたいな役割があります。
たとえば、
ネットショッピングサイトで金額のところに文字が入るようなことになるとちょっと困りませんか?
通常なら値段の「2980」だけを入れたいのに、制限をかけないでやってしまうと店舗側のミスなどで値段ではなく「大特価」だけが表示されて肝心の値段が分からないなんてことも考えられます。
それに、合計金額を出したいのに文字が入っていれば正常に動作せずお客様にも迷惑なサイトになります。
ちょっと分かりづらいですが本来欲しいデータではないものが入ってしまうということを事前に防ぐことができます。
代表的なデータ型を紹介
データ型 | 制限される内容 |
---|---|
integer | 数値(整数) |
decimal | 数値(精度の高い小数) |
float | 数値(浮動小数) |
string | 文字(~255字までの短い文字列) |
text | 文字(長い文字列) |
date | 日付 |
datetime | 日時 |
time | 時刻 |
timestamp | タイムスタンプ |
binary | バイナリ |
boolean | 真偽 |
データ型以外にもカラムに設定できるものがあります
AUTOINCREMENT
自動的に番号を連番で割り振る機能。
IDによく使われます。
アカウントや投稿の作成順に1から順に割り振られます。
NOT NULL
空欄を禁止する機能。
保存する時にカラムの中身が空ではダメなものにはこれをつけると良いです!
たとえば、
アカウント作成のpasswordとかなしで登録されては困るのでつけたり、
ブログでタイトルは必ずつけてほしいと考えるのでしたらタイトル相当するカラムにつけるといいです。
DEFAULT
初期値を設定する機能。
レコードが登録された時に自動でカラムの値をいれて登録します。
UNIQUE
重複を禁止する機能です。
同じメールアドレスでの登録は禁止にしたい時やpasswordの重複などで使います。
他にもあると思いますので興味のある方は調べてみてください。
最後に
このようにカラムを作成する際は同時に制限をかけたり、ルールを設けることでアプリケーションを運用し始めた時に誤操作などを防ぎます。
最初のこの設計が結構大事になってきますね。