Vocês já lidaram com polimorfismo a nível de banco de dados?
Estou arquitetando um projeto grands no trabalho e optei por polimorfismo a nível de banco de dados.
Algo como:
tb_pessoa possui o id_pessoa, tb_funcionario tem o id_pessoa fazendo a relação com seus dados comuns a qualquer ser humano, assim "herdando" a tabela tb_pessoa.
Daí imagine outras coisas como tb_cargo que possui id_cargo, daí tb_funcionario possui id_cargo, assim herdando tb_pessoa e tb_cargo.
É muito massa porque dá pra fazer um mapa de herança do sistema. Também por se tratar de um ERP, cala cliente que é uma empresa no caso, possui seu próprio banco de dados, quando a pessoa contrata, o sistema réplica o banco de dados, assim dá pra atuar em vários países meio que de forma descentralizada e escalar infinitamente sem mudar o downtime nem degradar o sistema para outros contratantes.
É empolgante implementar coisas realmente boas.