この国でITエンジニアとして仕事していると、「不利だな」と思うことがあります。
日本語の文字が2バイトコードになることですね。
このコラム書いている今もまさにそうなのですが、いちいち「日本語入力モード」にして文字入力しなければなりません。
打鍵数が多いため打ち間違いを誘発する上に、かなり優秀になったとは言え、「漢字変換で候補を選ぶ」という作業が「文章を考えて紡ぐ」という行為になにかしらのブレーキをかけていることは否定できないでしょう。
この「じれったさ」、英語圏の人々には理解してもらえないのだろうな、と思います。
さて、データベース設計の話です。
テーブル名や列名の定義を「アルファベットで記述する」というケースが大半ですよね。
しかしこれ、よく考えると笑っちゃうような「英語もどき」、いや「英和ごった煮」の多いこと多いこと。
「取引開始日」→「TorihikiStartDate」
「漢字略名」→「KanjiRyakuName」
とかね。
いや、別に「よく考えたら笑っちゃう」だけなら大した問題でもないのですが、プログラミングやテストのためにクエリ記述する際に、いちいち設計書ひっくり返して「調べる」手間が結構掛かります。
「あれ?StartDateだっけ?KaishiDateだっけ?」とか。
「表記のゆらぎ」が大き過ぎるのですね。
この「調べる」時間、プロジェクト完了までに全員分合計するとかなりの「無駄」だと思うのです。
どうすれば良いか、ですか?
決定的な解決策があります。
テーブル名も列名も、すべて日本語(漢字)で定義することです。
猛烈に反対する人がいることは知っています。
「誤作動起こす可能性がある」というのがその主な理由だと思います。
ただこれ、昔のホストコンピュータ時代ならともかく、現在ではほとんど問題ないはずです。
かれこれ30年近くデータベースエンジニアやっていますが、エラー起こしたのは初期のころ一度だけで、それ以降一度も問題発生したことありません。
そして「一目でわかる」「調べる必要がない」ことが開発効率向上にとてつもなく寄与することを、私は実体験から断言できます。