Dovresti aggiungere ID utente a negozi/post. Ci sono numerosi motivi per cui non vuoi avere tabelle separate per ogni utente:
- MySQL è progettato per gestire tabelle con molte righe, non molte tabelle con la stessa struttura.
- La strutturazione di query che attraversano le tabelle richiederà la combinazione di molte tabelle diverse.
- Una piccola modifica alla struttura dei dati, come l'aggiunta di una nuova colonna, diventa un incubo.
- I riferimenti chiave stranieri ai negozi diventano impossibili.
- Se i dati di un utente non riempiono una singola pagina di dati, finisci per sprecare molto di memoria.
Ci sono alcuni motivi per cui potrebbe essere necessario dividere i dati in tabelle separate. Ecco alcuni possibili motivi:
- L'accesso è più facile da gestire a livello di tabella che a livello di riga.
- La replica dei dati per ogni utente potrebbe avere requisiti diversi.
- Un'entità esterna richiede che i dati si trovino in tabelle o database separati.
Tuttavia, la prima serie di ragioni sembra pesare molto più pesantemente sulle strutture di singole tabelle/entità. Queste preoccupazioni più avanzate non sembrano essere un problema.