次のテーブルを持つデータベースがあります。
PATIENT (PATIENT_ID*, MEDICAL_EXAMINATIONS)
フィールドMEDICAL_EXAMINATIONS
には、患者が実施した検査のフリーテキストの説明が含まれています。
最近、健康診断は(いつものように)フリーテキストとして、または構造化された方法(検査名、日付、結果などで分割)で報告できることが決定されました。
そこで、スキーマを次のように変更することを考えました (アスタリスクでマークされたフィールドがキーを構成します)。
PATIENT (PATIENT_ID*, MEDICAL_EXAMINATIONS)
MEDICAL_EXAMINATION (PATIENT_ID*, NUMBER*, NAME, DATE, RESULT)
しかし、同じ情報 (健康診断) が 2 つのテーブルに格納されているため、この解決策は少し気がかりでした。この場合、「患者が受けたすべての健康診断を選択する」というクエリの結果は、それほど「エレガント」ではありません。
私の質問をどのように表現したらよいかわかりませんが、この状況は私には奇妙に思えます。問題が本質的に仕様 (変更できない) に起因するのか、それとも「2 つのバージョン」のデータをモデル化するためのより良い方法があるのか 疑問に思います。