62行目: 62行目:
   
   
  要件としてデータベースの実装方式がリレーショナルデータベースであることがあらかじめ判明している場合は、あえて論理データモデルのタイプに階層型やネットワーク型を採用することはない。
  要件としてデータベースの実装方式がリレーショナルデータベースであることがあらかじめ判明している場合は、あえて論理データモデルのタイプに階層型やネットワーク型を採用することはない。
<br><br>
== 物理データモデル ==
物理データモデルは、使用する本番環境 (ハードウェアも含む) の特性を考慮して論理データモデルを物理データモデルへ変換する。<br>
<br>
物理データモデルの設計段階において、初めて、ソフトウェアとしてのデータベースを選定する。<br>
多くの場合、リレーショナルデータベースが採用されるため、Oracleデータベース、SQL Server、MySQL等の具体的なRDBMSへの実装を目的とした物理データモデルを作成する。<br>
<br>
したがって、物理データモデルは各データベース製品の機能に依存するため、<br>
ある単一システムを設計する場合に<u>概念データモデル : 論理データモデル = 1 : 1</u>であるが、<br>
<u>論理データモデル : 物理データモデル = 1 : N (実装するデータベース製品の種類)</u>という特徴がある。<br>
<center>図. データモデルの位置付け</center><br>
<br>
<u>物理データモデルの作成では、データ型の定義、ビューの定義、インデックス設計および定義、各種のパラメータ設定等の物理的な環境に依存した物理データモデルを作成する。</u><br>
<u>また、非機能要件としてのパフォーマンスチューニング等 (データ容量、表領域の計算) の調整もここで行う。</u><br>
<br>
検索等のパフォーマンスを考慮して、<u>非正規化</u>を行うこともある。 (非正規化は、必ず実施するわけではないことに注意する)<br>
<br><br>
<br><br>