Você deve adicionar ids de usuário a lojas/postagens. Existem vários motivos pelos quais você não deseja ter tabelas separadas para cada usuário:
- O MySQL foi projetado para lidar com tabelas com muitas linhas, não com muitas tabelas com a mesma estrutura.
- A estruturação de consultas entre tabelas exigirá a combinação de muitas tabelas diferentes.
- Uma pequena alteração na estrutura de dados, como adicionar uma nova coluna, torna-se um pesadelo.
- As referências estrangeiras às lojas tornam-se impossíveis.
- Se os dados de um usuário não preencherem uma única página de dados, você acaba desperdiçando muito de memória.
Existem alguns motivos pelos quais a divisão de dados em tabelas separadas pode ser necessária. Aqui estão alguns motivos possíveis:
- O acesso é mais facilmente gerenciado no nível da tabela do que no nível da linha.
- A replicação dos dados para cada usuário pode ter requisitos diferentes.
- Uma entidade externa exige que os dados estejam em tabelas ou bancos de dados separados.
No entanto, o primeiro conjunto de razões parece pesar muito mais para estruturas de tabela/entidade únicas. Essas preocupações mais avançadas não parecem ser um problema.