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

Como impor exclusivos em várias tabelas


Você está certo - #1 é a melhor opção.
Certamente, eu questionaria à primeira vista (por causa de atalhos), mas conhecendo a regra de negócios para garantir que um funcionário esteja relacionado apenas a uma empresa - faz sentido.

Além disso, eu teria uma chave estrangeira relacionando o companyid na tabela de funcionários ao companyid na tabela de escritório. Caso contrário, você permite que um funcionário seja relacionado a uma empresa sem escritório. A menos que isso seja aceitável...

Os gatilhos são um último recurso se a relação não puder ser demonstrada no modelo de dados, e atender a lógica do aplicativo significa que a lógica é centralizada - não há oportunidade de ocorrência de dados incorretos, a menos que alguém descarte restrições (o que significa que você tem problemas maiores ).