teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

本文を修正

2016/01/22 05:21

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  >項目名に数値を入れるのは良くないのかな
2
2
  と思われる理由は、どのあたりでしょうか(DBの保守管理上、DBへアクセスするプログラムへの支障、そのほか)?
3
3
 
4
- 指定する属性の数が有限個であり、(順序のナンバリング以外には)互いに全く同列の意味合いであるなら、(私なら英語でつけるくらいならば)むしろ数字を列名にサフィックスとして使用しますね。attr_one,attr_two,attr_three なら attr_A,attr_B,attr_C のほうがまだ好みです(互いに同等なことがぱっと推測しやすい)。
4
+ 指定する属性の数が有限個であり、(順序のナンバリング以外には)互いに全く同列の意味合いであるなら、(英語でつけるくらいならば)私ならむしろ数字を列名にサフィックスとして使用しますね。attr_one,attr_two,attr_three なら attr_A,attr_B,attr_C のほうがまだ好みです(互いに同等なことがぱっと推測しやすい)。
5
5
 
6
6
  が、追加情報から推測するに、[テーブルの正規化設計](http://itpro.nikkeibp.co.jp/article/COLUMN/20130416/471174/)をまず検討してみてはいかがでしょう?第1正規形(繰返し項目の排除)に。
7
7
  (もしMySQLでしたら、[SET型](http://www.dbonline.jp/mysql/type/index8.html)なる機能もありますね。属性の種類(とりうる値)が固定でしたら、列をひとつにしてしまってこちらを利用することも有用でしょう)

1

根拠とMySQLについて追記

2016/01/22 05:21

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -1,8 +1,9 @@
1
1
  >項目名に数値を入れるのは良くないのかな
2
2
  と思われる理由は、どのあたりでしょうか(DBの保守管理上、DBへアクセスするプログラムへの支障、そのほか)?
3
3
 
4
- 有限個であり、(順序のナンバリング以外には)互いに全く同列の意味合いであるなら、私ならむしろ数字を列名にサフィックスとして使用しますね。
4
+ 指定する属性の数が有限個であり、(順序のナンバリング以外には)互いに全く同列の意味合いであるなら、私なら英語でつけるくらいならば)むしろ数字を列名にサフィックスとして使用しますね。attr_one,attr_two,attr_three なら attr_A,attr_B,attr_C のほうがまだ好みです(互いに同等なことがぱっと推測しやすい)。
5
5
 
6
6
  が、追加情報から推測するに、[テーブルの正規化設計](http://itpro.nikkeibp.co.jp/article/COLUMN/20130416/471174/)をまず検討してみてはいかがでしょう?第1正規形(繰返し項目の排除)に。
7
+ (もしMySQLでしたら、[SET型](http://www.dbonline.jp/mysql/type/index8.html)なる機能もありますね。属性の種類(とりうる値)が固定でしたら、列をひとつにしてしまってこちらを利用することも有用でしょう)
7
8
 
8
9
  列それぞれに固有の異なる意味があるならば、Orlofskyさんの仰るように、頭をしぼってその意味を列名に盛り込みます。