Mysql
 sql >> Database >  >> RDS >> Mysql

Si dovrebbe generare un ID univoco per ogni riga in una tabella di database che altrimenti non ha chiavi univoche?

Puoi sempre aggiungere una semplice chiave primaria numerica (ad es. mysql auto_increment) in modo da ottenere un identificatore univoco per ogni riga. Le chiavi primarie composite sono un problema serio se devi usare la tabella in una relazione di chiave esterna, costringendoti a elencare ogni campo del componente della chiave primaria in tutte le specifiche di join/FK. In confronto, l'aggiunta di una semplice chiave primaria int ti riduce a portare quel UN campo in giro per le relazioni FK/join.

Suggerirei qualcosa sulla falsariga di:

patients (id, name, ....)
meds (id, brand, name, ...)
patient_meds (patient_id, med_id, dosage, ...)