Web開発のデータベースの設計方法に関して質問させてください。

当方は、日頃よりデータベースにMySQLを用いたWeb開発を行っております。

HTMLのSELECTタグで選択する項目の元となる値の管理方法のよりベターな方法がわかりません。
以下の疑問が解決できるような、回答をお願いできますでしょうか。
・都道府県や業種など、将来変わる可能性が少ない項目もそれぞれテーブルを作成して、テーブルから元となる値を出力するべきか
・データベースで管理する場合、一般的にデータベースのフィールドの値は「01」のようなコードで管理して、「東京都」など表示される値を入れない理由

よろしくお願いします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2011/11/24 11:57:59
  • 終了:2011/11/24 12:29:26

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492011/11/24 12:20:45

ポイント100pt

>都道府県や業種など、将来変わる可能性が少ない項目もそれぞれテーブルを作成して、テーブルから元となる値を出力するべきか

固定出力はプログラム言語のほうで対応しておけば、
MySQLとの通信コストカットになります
 
>データベースで管理する場合、一般的にデータベースのフィールドの値は「01」のようなコードで管理して、「東京都」など表示される値を入れない理由
 
コンピュータは数値しか扱えないというのがそもそもの発端です
人間は1という文字を数値に置き換えますが、コンピュータは逆です
 
1という数値は数値のまま、
東京都という文字は例えばUTF8(%93%8c%8b%9e%93s)であれば、
37 57 51 37 56 99 37 56 98 37 57 101 37 57 51 115 という数値列として取り扱います

さて、どっちで取り扱う方が楽ですか? ということです
(文字コード表と睨めっこして手作業変換しました ああシンドイ)
 
MySQLへの格納は01という文字ではなく1という数値にしておくほうが良いということも、これで判るかと思います

id:search_it

ありがとうございます。
納得できる回答を頂けました。

2011/11/24 12:29:09
id:windofjuly

SJISをURLエンコードしたもの貼ってしまいました
 
UTF8で「東京都」だと
16進数で E6 9D B1 E4 BA AC E9 83 BD
10進数で 230 157 177 228 186 172 233 131 189

2011/11/24 12:51:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません