web-dev-qa-db-ja.com

患者の行の変更を追跡し、ログテーブルに設定するデータベース設計

患者テーブルの更新を追跡する必要があります。

テーブルには次のフィールドが含まれています。

  1. 患者ID;
  2. 名前;
  3. 住所;
  4. 電話
  5. 相対名;
  6. 相対電話
  7. 喫煙者;
  8. アルコール性。

ここで、特定の患者のプロファイルがいずれかのフィールドで変更されたかどうかを追跡する必要があります。そのため、彼が2か月前に喫煙者で、今は喫煙していない場合、看護師が患者のプロファイルを変更したというログを確認したいですx喫煙者から非喫煙者まで。

最初のアプローチ

次に、これと同様のテーブルを作成する必要がありますが、最初のテーブルに接続された外部キーが含まれており、編集/更新が行われるたびに、2番目のテーブルに行が追加されますか?

セカンドアプローチ

または、すべてのフィールドをテーブルとして追跡する必要があるので、喫煙履歴編集用のテーブル、アルコール履歴ステータステーブルを作成し、更新が発生するたびにそれらに行を追加しますか?

2
alim1990

以前に同様の作業を行ったときに、変更されたテーブルを作成しました。あなたの場合は、患者IDを外部キーとして保持し、フィールドの元の値とフィールドの新しい値をリストします。変更するたびにレコード全体を保持する必要はなく、変更のリストを保持するだけです。私はあなたが規制当局からそうする必要がないと想定しています。その場合、規制当局が何を求めているかを確認してください。

また、誰がいつ変更したかを追跡しました。変更を正当化するように依頼するフィールドを含めることができます。後で質問がある場合に備えておくとよい情報です。

3
DCook