Debe agregar identificaciones de usuario a las tiendas/publicaciones. Existen numerosas razones por las que no desea tener tablas separadas para cada usuario:
- MySQL está diseñado para manejar tablas con muchas filas, no muchas tablas con la misma estructura.
- La estructuración de consultas que van a través de tablas requerirá la combinación de muchas tablas diferentes.
- Un pequeño cambio en la estructura de datos, como agregar una nueva columna, se convierte en una pesadilla.
- Las referencias de claves extranjeras a las tiendas se vuelven imposibles.
- Si los datos de un usuario no llenan una sola página de datos, terminará desperdiciando muchos de la memoria.
Hay algunas razones por las que puede ser necesario dividir los datos en tablas separadas. Estas son algunas posibles razones:
- El acceso se administra más fácilmente a nivel de tabla que a nivel de fila.
- La replicación de los datos para cada usuario puede tener diferentes requisitos.
- Una entidad externa requiere que los datos estén en tablas o bases de datos separadas.
Sin embargo, el primer conjunto de razones parece pesar mucho más en las estructuras de una sola tabla/entidad. Estas preocupaciones más avanzadas no parecen ser un problema.