formのvalue値を文字列ではなく、数値でデータベースに保存するメリットとは?
下記のような選択フォームがあり、ユーザーの選択値をDBに保存する際に、
文字列ではなく数値で保存するのをよく見かけますが、
これにはDBの容量節約以外にどのようなメリットがあるのでしょうか?
PHP
1// 定数管理ファイル 2define('OPTION_LIST', array( 3 1 => "初級", 4 2 => "中級", 5 3 => "上級", 6));
PHP
1// View(例ではbladeを使用しています) 2<select name="level"> 3 @foreach (Config::get('const.OPTION_LIST') as $key => $val) 4 <option value="{{ $key }}">{{ $val }}</option> 5 @endforeach 6</select>
DBに数値で保存しているデメリットとして、
下記のような処理が毎回必要になるのですが、
これは一般的なことでしょうか?
・選択値を表示する場合に、数値から文字列に置き換える
・「初級」で絞りこむようなSQLを書く際に、「WHERE = 1」ではわかりにくいので、
「WHERE = OPTION_BEGINNER」のように各オプションにも名前を付ける
素人考えかもしれませんが、
それなら最初から、DBに「初級」として保存しておいたほうがいいのでは?と思い質問させていただきました。
メリット・デメリットなどご回答いただけますと幸いです。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/01 02:13
2018/11/01 02:20
2018/11/01 03:23