データベース設計のヒント
データベースを設計するときには、まず、申請管理、変更管理などの任意の別のビジネス領域 (モジュール) について検討する必要があります。次に、個別の件名 (ビジネス オブジェクト) として保持する情報を分解し、これらのビジネス オブジェクトが相互に関連付けられる方法をデータベースに指示します。この方法で、適切な情報を必要なときに提供できます。
データベースの目的の定義 – データベース設計の最初のステップでは、データベースの目的と使用方法を定義します。これにより、データベースに必要な情報を明確にできます。
必要なモジュールを決定する – データベースの明確な目的があるときには、申請管理 や 変更管理などの必要な別のビジネス領域 (モジュール) を決定する必要があります。
必要なビジネス オブジェクトを決定する – モジュールを決定した後には、事実を格納する必要がある個別の主題に情報を分類できます。これらはビジネス オブジェクトといいます。システムから取得する必要がある情報を検討し、ユーザ、問題、CIなどの基本主題に分類します。これらの主題はすべてビジネス オブジェクトとして最適です。
必要な属性の定義 – 各ビジネス オブジェクトについて記録する必要がある情報を定義します。これらは属性です。
関係の定義 – 表現する情報を検討し、1 つのビジネス オブジェクトのデータを他のビジネス オブジェクトのデータに関連付ける方法を定義します。
一般的な設計上の問題
データベースの設計時には、複数の一般的な問題点が発生する可能性があります。このような問題により、情報の使用と管理が困難になる可能性があります。次の兆候があった場合は、データベース設計を再評価してください。
- 1 つのビジネス オブジェクトに多数の属性があり、それぞれが同じ主題に関連していない。たとえば、ユーザに関する属性と問題情報を含む属性が、1 つのビジネス オブジェクトに含まれることが考えられます。各ビジネス オブジェクトには、必ず 1 つの主題のみ関連する情報が含まれるようにしてください。
- ビジネス オブジェクト インスタンスに該当しないため、多数のビジネス オブジェクト インスタンスで意図的に空白になっている属性がある。通常、属性が別のビジネス オブジェクトに属していることを意味します。
- 多数のビジネス オブジェクトがあり、そのほとんどに同じ属性が含まれる。たとえば、1 月の売上と 2 月の売上、またはローカル顧客とリモート顧客で個別のビジネス オブジェクトがあり、同じ情報を格納する場合があります。1 つのビジネス オブジェクトには、1 つの主題に関連するすべての情報を統合するようにしてください。また、売上日など、属性を追加し、インスタンスのタイプを識別する必要があります。