O GitHub não usa Foreign Keys de jeito nenhum (2016)
(github.com)FKs:
-
dificultam o sharding
-
reduzem o desempenho
-
e também causam problemas em migrações de esquema online.
Por isso, não usamos FKs. Em lugar nenhum.
= Este repositório trata do gh-ost, uma ferramenta de migração de esquema para "MySQL", então isso pode não se aplicar a outros bancos de dados. (Embora a issue seja de 3 anos atrás, o autor voltou a comentar porque há um comentário mais recente dizendo que o PostgreSQL 11 permite sharding com FK.)
= A ideia é que há referência entre tabelas por ID, mas sem usar restrições FOREIGN KEY.
1 comentários
A questão principal deve ser como eles fazem a checagem de integridade.