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

Chaves estrangeiras quando as cascatas não são necessárias


As respostas para esta pergunta pode realmente também se aplicar à sua pergunta.

Se você tiver colunas em tabelas que fazem referência a linhas em outras tabelas, você deve sempre usar chaves estrangeiras, pois mesmo que você ache que 'não precisa' dos recursos oferecidos por essas verificações, ainda ajudará a garantir a integridade dos dados caso você esqueceu um cheque em seu próprio código.

O impacto no desempenho das verificações de chaves estrangeiras é insignificante na maioria dos casos (veja o link acima), uma vez que os bancos de dados relacionais usam algoritmos muito otimizados para realizá-las (afinal, eles são um recurso fundamental, pois são o que realmente define as relações entre as entidades).

Outra grande vantagem dos FKs é que eles também ajudarão outras pessoas a entender o layout do seu banco de dados.

Editar: Como a pergunta vinculada acima está se referindo ao SQL-Server, aqui está uma com respostas de um tipo muito semelhante para o MySQL:A introdução de chaves estrangeiras no MySQL reduz o desempenho