MySQLのカラム名に日本語を使うか、英数字を使うかで迷っています。英数が無難だと思うのですが、日本語の方が簡潔で分かりやすい命名ができるので、もし大した問題が無ければ日本語を使おうと考えています。
そこで3点お伺いしたく存じます。
1. 日本の企業はMySQLのカラム名に日本語を使っているケースが多いのか、それとも英数字のみのケースが多いのか、最近の傾向をご教示頂けますか。統計は無いと思いますので、体感や自社ルールの場合等でも結構です。
2. 日本語を使うことでセキュリティホールができることは考えられますか。例えば、マルチバイト文字はSQLインジェクション対策をすり抜ける・・・等。
3. 自分なら日本語と英数字のどちらを使うか。理由も添えて頂けると幸いです。
当方の開発環境は、PHP(ver. 5.5.9) + MySQL(ver. 5.6.16)です。
お手数おかけしますが、ご教示お願い致します。
No.1ベストアンサー
- 回答日時:
(1)日本語を使うケースはほぼ100%ないですね
(2)セキュリティはあまり関係ないでしょう
カラム名を検索者がダイレクトに指定することはまずありえないので
カラム名の日本語でインジェクションが発生する可能性はほぼありません。
逆に万が一もしそういう仕組みを考えているならすぐ見直すべきです。
(3)上で否定しておいてなんですが・・・
自分でやる環境はほぼ日本語カラム名をつかっています。
他人を気遣う必要がなく迷惑をかけないなら日本語で十分です。
余談
日本語ではまるケースはいろいろ想定されます。
とくにMySQLのバージョンアップ、枯れたシステムの3.23系から5.0以上に
環境をシフトする際にかなりトラブリました。
システム周りの環境はは数年単位でかわっていくものです。
別環境に移行する準備を当初から想定しておかないと、かなり痛い目を見ます。
また、メンテナンスする際も、かならずしも日本語入力できる環境とは
限らないことから、日本語を利用することによるリスクは高めに想定しておく
必要があります。なんらかの日本語が入力できない状況で、データベースから
エクスポートをしようとしてはまるとか、ないことはないと思います。
バグやエラーなど一般的なトラブルの際にも、日本語に起因する問題なのか
そうでないのか、無駄にチェックが増えるので、デバグも不利になります。
全部ひっくるめて、自分でなんとかする覚悟と技量があるなら、日本語カラム名で
やるメリットはあるので、トライする価値はあるでしょう
お話を伺う限りでは、日本語の使用はメンテナンスが一番の問題のようですね。
デバグの手間を考えると、やはり日本語は面倒です。
ですので、今回は英数字にします。
大変参考になりました。
ご回答頂き、ありがとうございました。
No.2
- 回答日時:
1.ほとんど英数字です。
説明を付けたい場合はcommentで各カラムに説明を日本語で書きます。長くSEをやっていますが、日本語のカラム名は過去に一度見ただけですね。
2.全く関係ありません。
適切にプログラムを書いていればセキュリティー上の問題は発生しません。
逆に英数字だけであってもプログラムに問題があればセキュリティー上の問題が発生します。
3.英数字を使ってます。
そもそもプログラムを書いているときは、基本的に全て半角文字で入力しますから一々日本語変換をするのは効率が悪すぎます。
回答を拝見して、日本語のメリットはあまり無い気がしてきました。
確かにcommentで十分ですね。
今回はDBのカラムには英数字で、設計で用意する表に日本語と英数字で書いておくことにします。
大変参考になりました。
ご回答頂きありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 留学・ワーキングホリデー リスニング力、はつきますか?6カ月語学学校行き数年間お金を稼いでまた、6カ月間語学留学に行くのは? 1 2023/02/11 15:49
- 高校 高校入試(英語)についてです 3 2022/10/04 22:45
- 英語 英語のビジネスライティング添削 1 2022/07/21 23:55
- TOEFL・TOEIC・英語検定 英会話の習得 4 2022/06/05 10:23
- マウス・キーボード 教えて! AppleのMagic Keyboard(JIS)をWindows 10で使用次第のですが 2 2022/06/01 18:07
- 英語 突然ですが、日本人が英語を話せない大きな理由は英単語量が少ないことだと思っています。中学校から始める 6 2022/05/05 22:35
- 英語 なんで道を尋ねる外国人(中国人と韓国人など)は「英語」で話してくるのでしょうか? 別に英語圏ではない 5 2023/03/02 00:39
- その他(病気・怪我・症状) 学習障害について 1 2023/05/11 21:36
- 大学受験 高校3年の女です。早稲田大学社会科学部を第1志望にしています。勉強のアドバイスと、現時点で過去問何割 2 2022/08/04 00:01
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
-
-
4
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
5
エクセルでエラーが出て困っています。
Excel(エクセル)
-
6
日本語のテーブル名、カラム名の定義について
SQL Server
-
7
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
8
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
9
日本語のエイリアスは "で囲う必要があるのでしょうか"
MySQL
-
10
外部キーが設定されているテーブルのupdateについて
PostgreSQL
-
11
excelで、スクロールをすると限りなく下に行き、ワークシートが大きく
Excel(エクセル)
-
12
Date型にNULLをセットしたい VB2008+SQLServer2008
SQL Server
-
13
VIEWに対してWHERE句をつける
MySQL
-
14
文字を含むIDの自動採番
その他(Microsoft Office)
-
15
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
16
JSONで文字列が長い時
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLカラム名は日本語と英数字...
-
SQLで日本語データを入力したい...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
mysqlへのインポート処理がうま...
-
postgreSQLのデータ型
-
INT型は金額の型に使用するべき...
-
like句を使って日本語を検索す...
-
ERROR 1045 (28000) (using pas...
-
副問合せにLIKE文を使う方法は...
-
AccessからOrcleのODBCリンクテ...
-
VBAで変数内に保持された二次配...
-
ODP.NETのバージョン確認
-
テーブル作成でエラーが出てき...
-
MySQLに外部PCから接続できない
-
Float型の時の計算結果がおかしい
-
Usage: \\.<filename> | sourc...
-
設定が間違っていないのに文字...
-
MYSQLへのデータサイズの大きな...
-
プライマリーキーの昇順でソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLカラム名は日本語と英数字...
-
SQL Server のキャラクターセッ...
-
文字コードMS932(Windows-31J...
-
SQLで日本語データを入力したい...
-
存在しているファイルがロード...
-
MySQL 文字化けについて
-
文字化け
-
日本語のデータがインポートで...
-
MYSQL 4.0.x から 5.X系への移行
-
MySQLの日本語LIKE検索について
-
日本語TSVファイルのLOAD DATA ...
-
PHP経由でMYSQLに全角文字を格...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
ODP.NETのバージョン確認
-
旧filemakerで和暦(令和など)...
-
VBAで変数内に保持された二次配...
-
プライマリーキーの昇順でソー...
-
ERROR 1045 (28000) (using pas...
おすすめ情報