DB設計
DB設計はシステム開発プロジェクトでは最重要でありながら、おざなりな扱いを受け、
数多のプロジェクトの失敗の要因となっていると考えられる。
ではそもそもDB設計とは何かということを最もメジャーなRDBで考えてみたい。
DB設計には概念設計、論理設計、物理設計とあるが、エンタープライズアプリで
特に重要な概念設計と論理設計に話を絞る。
概念設計は業務要件に存在するエンティティタイプとエンティティタイプ間の
リレーションシップを特定する作業である。
単純化して言うと、登場人物とその関係性を大まかに表現する作業になる。
論理設計は業務要件(ビジネスルール)の基底に存在する業務固有の関数従属性を
特定し、業務データの持たせ方を関数従属性のネットワークとして表現する作業になる。
DB設計とは業務要件から導き出されるものであり、非正規化などの対応はあるものの、原則アプリケーションの構造に依存すべきではない。