アプリ版:「スタンプのみでお礼する」機能のリリースについて

MySQLのカラム名に日本語を使うか、英数字を使うかで迷っています。英数が無難だと思うのですが、日本語の方が簡潔で分かりやすい命名ができるので、もし大した問題が無ければ日本語を使おうと考えています。

そこで3点お伺いしたく存じます。

1. 日本の企業はMySQLのカラム名に日本語を使っているケースが多いのか、それとも英数字のみのケースが多いのか、最近の傾向をご教示頂けますか。統計は無いと思いますので、体感や自社ルールの場合等でも結構です。

2. 日本語を使うことでセキュリティホールができることは考えられますか。例えば、マルチバイト文字はSQLインジェクション対策をすり抜ける・・・等。

3. 自分なら日本語と英数字のどちらを使うか。理由も添えて頂けると幸いです。

当方の開発環境は、PHP(ver. 5.5.9) + MySQL(ver. 5.6.16)です。
お手数おかけしますが、ご教示お願い致します。

A 回答 (2件)

(1)日本語を使うケースはほぼ100%ないですね



(2)セキュリティはあまり関係ないでしょう
カラム名を検索者がダイレクトに指定することはまずありえないので
カラム名の日本語でインジェクションが発生する可能性はほぼありません。
逆に万が一もしそういう仕組みを考えているならすぐ見直すべきです。

(3)上で否定しておいてなんですが・・・
自分でやる環境はほぼ日本語カラム名をつかっています。
他人を気遣う必要がなく迷惑をかけないなら日本語で十分です。

余談
日本語ではまるケースはいろいろ想定されます。
とくにMySQLのバージョンアップ、枯れたシステムの3.23系から5.0以上に
環境をシフトする際にかなりトラブリました。
システム周りの環境はは数年単位でかわっていくものです。
別環境に移行する準備を当初から想定しておかないと、かなり痛い目を見ます。

また、メンテナンスする際も、かならずしも日本語入力できる環境とは
限らないことから、日本語を利用することによるリスクは高めに想定しておく
必要があります。なんらかの日本語が入力できない状況で、データベースから
エクスポートをしようとしてはまるとか、ないことはないと思います。

バグやエラーなど一般的なトラブルの際にも、日本語に起因する問題なのか
そうでないのか、無駄にチェックが増えるので、デバグも不利になります。

全部ひっくるめて、自分でなんとかする覚悟と技量があるなら、日本語カラム名で
やるメリットはあるので、トライする価値はあるでしょう
    • good
    • 4
この回答へのお礼

お話を伺う限りでは、日本語の使用はメンテナンスが一番の問題のようですね。
デバグの手間を考えると、やはり日本語は面倒です。
ですので、今回は英数字にします。

大変参考になりました。
ご回答頂き、ありがとうございました。

お礼日時:2014/07/04 01:50

1.ほとんど英数字です。

説明を付けたい場合はcommentで各カラムに説明を日本語で書きます。
長くSEをやっていますが、日本語のカラム名は過去に一度見ただけですね。

2.全く関係ありません。
適切にプログラムを書いていればセキュリティー上の問題は発生しません。
逆に英数字だけであってもプログラムに問題があればセキュリティー上の問題が発生します。

3.英数字を使ってます。
そもそもプログラムを書いているときは、基本的に全て半角文字で入力しますから一々日本語変換をするのは効率が悪すぎます。
    • good
    • 0
この回答へのお礼

回答を拝見して、日本語のメリットはあまり無い気がしてきました。
確かにcommentで十分ですね。
今回はDBのカラムには英数字で、設計で用意する表に日本語と英数字で書いておくことにします。

大変参考になりました。
ご回答頂きありがとうございました。

お礼日時:2014/07/04 02:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す