データベース設計には、論理設計と物理設計があります。
論理設計では、業務で求められる機能要件に適した論理データモデルを作成します。論理データモデルは、エンティティとエンティティ間のリレーションで定義されます。エンティティ間のリレーションは、カーディナリティとオプショナリティで表します。カーディナリティは、2つのエンティティ間の「多重度」を「1対1」、「1対多」、「多対多」の対応関係として示します。オプショナリティは、2つのエンティティ間の「依存性」を示します。例えば、商品と注文の2つのエンティティの場合、注文は商品に依存しますが、商品は他のエンティティに依存しません。
物理設計では、非機能要件(パフォーマンスや可用性)をもとに論理データモデルを最適化して物理データモデルを作成します。特に、パフォーマンス要件では、データベースの応答時間やスループットを達成するために、検索用インデックス、パーティショニング、事前集計表などを作成します。
ここで重要となるのが「機能要件に適した論理データモデル」を作成することです。
機能要件と論理データモデル間のギャップを埋めるために、本来必要のない「無駄なプログラム」を作成することになります。無駄なプログラムは、開発工数の増加、不具合の発生、性能劣化などの問題を誘発してプロジェクトを遅延させ、突発的なトラブル発生の原因となります。
本サービスでは、多くのデータベース設計作業で培った実績のあるフレームワークを利用にして「機能要件に適した論理データモデル」の作成を支援させていただきます。
フレームワークを利用することによって、論理データモデルを標準化してプロジェクト内での情報共有を実現することができます。
詳細は、以下のブログを参照ください。
『【第1回】機能要件に合せたデータベースの作り方』
https://coconala.com/blogs/573694/499871
本サービスで提供される成果物は、以下のとりです。
① データ項目定義書(インプット)
② ER図(Entity Relationship Diagram)(IDEF1X形式)(アウトプット)
③ テーブル定義書(アウトプット)
※ ①、②、③は、Excelファイルにて提供されます。
ご検討の程、よろしくお願いいたします。