Bạn luôn có thể thêm một khóa chính dạng số đơn giản (ví dụ:mysql auto_increment) để bạn NÊN kết thúc bằng một số nhận dạng duy nhất cho mỗi hàng. Khóa chính tổng hợp là một vấn đề nghiêm trọng nếu bạn phải sử dụng bảng trong mối quan hệ khóa ngoài, buộc bạn phải liệt kê từng trường của thành phần của khóa chính trong tất cả các thông số liên kết / FK. Bằng cách so sánh, việc thêm một khóa chính int đơn giản giúp bạn giảm bớt việc mang MỘT trường đó cho các mối quan hệ FK / join.
Tôi muốn đề xuất một cái gì đó dọc theo dòng:
patients (id, name, ....)
meds (id, brand, name, ...)
patient_meds (patient_id, med_id, dosage, ...)