TOP設計・移行・活用> データベースのテーブル設計




実践!モデリングツール
即活用!ツールを活用したデータモデリング

第3回:日本語名の是非とデータ型採用方針
著者:システムインテグレータ  梅田 弘之   2006/3/22
1   2  3  4  次のページ
データベースのテーブル設計

   第1回はツールを使った実践的なデータモデリング手法、第2回はその基礎となるERの知識とツールの活用方法について解説しました。よくあるデータモデリングそのものの解説はこれくらいにして、今回からはデータベースのテーブル設計をテーマにします。データベース設計を行う際にみなさんが迷うようなことを1つずつ取り上げ、一緒に考察して行きたいと思います。


解が1つとは限らないデータベース設計

   2進法の世界に生息しているせいか、我々エンジニアは物事を正解か不正解かに断定してしまいがちです。また、非攻撃的な生き物なので表立ってはっきり主張する機会は少ないのですが、「絶対こうじゃなければだめだ」「こんなのは信じられない」などと結構固い信念を持っている人が多いようです。

   確かに数値計算の世界では、1 + 1 = 2というように正解が求められます。しかし、ふと世の中を見回してみると、実社会はむしろ正解が1つとは限らないことに気づきます。データベースの設計も同じです。

   もちろん「すっきりとした設計」というものはありますが、ケースバイケースで様々なやり方があります。例えケースが同じだとしても、どれが正解と一概にいえない場合が多いのです。物事には一長一短があるので、設計者の考え方によって様々なやり方があると心得てください。


テーブル名、カラム名をダブルバイトにするか

   「みなさんはテーブル設計する際に、テーブル名やカラム名に日本語を使いますか?」著者はセミナーなどの際に、一種のタブー視されているこの質問を投げかけてみます。一般に「使わない」というシングルバイト派の方が多いのですが、携わっているRDBMSによっても割合が違うようです。

   先日、オラクル関連とマイクロソフト関連の両方のカンファレンスで講演する機会があったのですが、Oracle技術者主体だと9対1で日本語を利用しない方が圧倒的に多かったのですが、SQL Server技術者主体だと5対5といった結果でした。

   データベースの書籍や雑誌などで、著名な方々が「テーブル名やカラム名にダブルバイトは使わないように」と書いています。ですから、こういう会場でダブルバイト派であると認めて手をあげるのは、ちょっと勇気のいる行為だと思います。

   著者自身は、どちらでもかまわないと考えています。むしろ、社内でも少数派のダブルバイト派だといえます。もちろん、プロフェッショナルですからユーザや市場にあせてテーブル名やカラム名にシングルバイトを利用する機会の方が多いのですが、何のしがらみもなければ迷うことなく日本語を使用します。

   カラム名に日本語を使用するメリットは、一目で理解できるというわかりやすさです。表意文字である漢字を使えるので、名称を短くすることができます。例えば、「customer_currency_code」というようなカラム名も、「顧客通貨コード」とすれば一目瞭然です。わかりやすさは生産性の向上に直結しますし、他の人が見ても簡単に理解できることでメンテナンス性も向上します。

   一方、デメリットは新しい技術・製品対応時に不安が残るということでしょうか。「現在は問題がなくても、この先に日本語対応に問題が生ずる可能性がないとは断言できない」というのがシングルバイト論者の主張するところです。

   確かに著者も過去様々な障害に直面してきました。しかし、その経験を踏まえても、ベンダーの意識向上もあって最近はリスクよりメリットの方が多いと考えています。別にここでダブルバイトを勧めているわけではありませんし、不毛な論争をしたいとも思いません。しかし、「テーブル名やカラム名にダブルバイトを利用することは絶対駄目というものではない」ということをお伝えしておこうと思います。

1   2  3  4  次のページ


システムインテグレータ  梅田 弘之
著者プロフィール
株式会社システムインテグレータ  梅田 弘之
東芝、住商情報システムを経て1995年にシステムインテグレータ社を設立。 常駐・派遣主体の労働集約的な日本のソフトウェア業の中で、創造性にこだわってパッケージビジネスを行っている。 国際競争力のない日本のIT産業が、ここから巻き返しを図るための切り札は「プロジェクト管理」だと信じ、実践的なプロジェクト管理手法「PYRAMID」を自社開発している。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。
ご意見、ご要望にお応えします! インプレスIT INSIDE

INDEX
第3回:日本語名の是非とデータ型採用方針
データベースのテーブル設計
  物理モデルをシングルバイト、論理モデルをダブルバイトに
  論理モデル情報をRDBMSコメント欄に保存
  使用するデータ型を統一する
即活用!ツールを活用したデータモデリング
第1回 ソフトウェア産業に産業革命を起こすデータモデリング
第2回 ERの基礎知識とツールの活用法
第3回 日本語名の是非とデータ型採用方針
第4回 制約の使い方、Unicode使用可否、明細テーブルの設計
第5回 教科書的ではなく、現場にあったデータベース設計のコツ
即活用!業務システムの開発ドキュメント標準化
第1回 開発ドキュメント体系と業務フロー
第2回 機能一覧表とI/O関連図
第3回 基本設計書
第4回 詳細設計書(前半)
第5回 詳細設計書(後半)
第6回 単体テスト仕様書&報告書
第7回 結合テストと総合テスト
第8回 要求仕様書の標準化プロセス
「即活用!企業システムにおけるプロジェクト管理」
第1回 プロジェクト管理力を強化するための具体的プラン
第2回 PMBOKをベースにしたプロジェクト管理の管理
第3回 スコープ管理とスケジュール管理
第4回 コスト管理の構造と見積手法
第5回 品質管理
第6回 組織管理
第7回 コミュニケーション管理
第8回 リスク管理
第9回 調達管理(外注管理)

Think IT 過去人気記事

注目おすすめ情報

Think IT人気ライター BEST 5

IT製品/サービス資料ダウンロード
    おすすめのホワイトペーパー情報を準備中です