Minha preferência pessoal seria não manter dados duplicados em nenhuma tabela, até que se prove necessário. Se você não gosta de escrever
JOIN
consultas, você pode definir uma exibição que contém a consulta e pode esquecê-la. Descobri no passado que índices adequados geralmente significam que não há muito problema de desempenho com isso.
Se você achar necessário manter um resumo da contagem de suas
categories
tabela (por desempenho ou outros motivos), considere criar INSERT
, UPDATE
e DELETE
acionadores em suas posts
tabela para que as atualizações possam ser feitas pelo banco de dados em vez de depender dos programadores de aplicativos para lembrar o que deve ser feito.