Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Deve-se gerar um ID exclusivo para cada linha em uma tabela de banco de dados que, de outra forma, não possui chaves exclusivas?


Você sempre pode adicionar uma chave primária numérica simples (por exemplo, mysql auto_increment) para que você termine com um identificador exclusivo para cada linha. Chaves primárias compostas são um problema sério se você tiver que usar a tabela em um relacionamento de chave estrangeira, forçando você a listar cada um dos campos do componente da chave primária em todas as especificações de junção/FK. Em comparação, adicionar uma chave primária int simples reduz a necessidade de carregar um campo para os relacionamentos FK/join.

Sugiro algo na linha de:
patients (id, name, ....)
meds (id, brand, name, ...)
patient_meds (patient_id, med_id, dosage, ...)