1

ここに画像の説明を入力

これまでのところ、上記のスキーマを使用してクレーム データベースを構築しています。3 つの 3 つのキー オンtblPatientは、特定の問題に対する個人の主張を一意に識別することですX。入院日と退院日が異なる限り、同じpatientIDことが表示されます。tblPatient

このデータベースは、problemX に関連付けられていないクレームにも関係しています (図にはありません)。これらのクレームは、 、 の別の 3 部構成のキーで識別されpatientID, claimsFromDateますclaimsThroughDate。したがって、tblPatient.admissionDateandはandtblPatient.DischargeDateと等しい必要はなく、等しい場合は偶然です。 claimsFromDateclaimsThroughDate

tblPatient.patientIDは複数回繰り返されるため (複数回の訪問がある場合)、主キーの一意の制約を破ることなく、単純に別のテーブルにコピーすることはできません。patientID私は残りの主張に関連することができる必要があります。主キーとして 1 つのフィールドのみを持つように再設計する必要がありtblPatientますか、それとも既存の 3 つの部分からなるキーを含めて、そのまま使用する必要がありますか?

4

1 に答える 1

4

まず第一に、完全で純粋なデータベースの世界では、患者データベースを 2 つに分割します。1 つは患者を含み、もう 1 つは「PatientClaims」などと呼ばれます。患者 ID 以外の患者固有のデータを気にしない場合は、少なくともテーブルの名前を変更する必要があります。

その同じ純粋なアプローチは、主キーが「行を一意に識別する唯一のデータセット」として定義されていることも示します。これはおそらく3つのフィールドです。(DischargeDateを省略できると思いますが、そうするためのロジックが適切であると確信している場合に限ります)

ただし、次の作業を行う必要があることを確認してください。 1. 3 つの部分からなるキー。

選択したデータベースで利用可能な自動インクリメント関数を使用して、「ClaimID」などの新しいキーを定義することをお勧めします。

無関係なメモ: あなたの州/郡のダブル テーブル セット全体はちょっと奇妙に見えますが、それはあなたがモデル化しているものを理解していないだけかもしれません.

于 2012-06-13T21:05:09.773 に答える