単純な数値の主キー(例:mysql auto_increment)をいつでも追加できるため、各行に一意の識別子が付けられます。複合主キーは、外部キーの関係でテーブルを使用する必要がある場合に深刻な問題となり、すべての結合/FK仕様で主キーの各コンポーネントのフィールドをリストする必要があります。比較すると、単純なint主キーを追加すると、FK/結合関係のためにその1つのフィールドを持ち歩くことになります。
次のような提案をします:
patients (id, name, ....)
meds (id, brand, name, ...)
patient_meds (patient_id, med_id, dosage, ...)