Conceptualización dificil de implementar

Estimados:

Deseo crear una base de Datos, por ej. Exportaciones para un cierto usuario. Por ej. Jaime --> Mi idea es por tanto, crear una base de datos ExportacionesJaime, con todas las tablas que correspondan.
Luego, es muy posible que tenga que crear una B de D igual, pero correspondiente a Pedro.   Nuevamente, esta B de D se llamaría ExportacionesPedro, con las mismas tablas y esquema que ExportacionesJaime.

Como se ve:  Las B de D. son las mismas, solo que va variando mi cliente.

Y así sucesivamente.   Creo que puedo llegar a tener unos 1000 clientes (¿1000 Bases de Datos?).

¿Es posible construir el nombre de las B de D con una parte variable, y que luego, al ingresar el Cliente a su Web ingrese a ver sus datos?  (No los de otro)

O,   ¿ Se puede construir una sola B de D, pero con el nombre de las tablas teniendo una parte variable?
Ejs.  Base de Datos:  Exportaciones
Tablas Proveedores:  ProveedoresJaime,  ProveedoresPedro, ProveedoresJuan, .... etc.
Tablas Ventas:  VentasJaime, VentasPedro, VentasJuan, etc, etc,
....   y así sucesivamente

¿  Es posible?   o ¿Hay otra forma de modelar esta realidad?

 

Se que existe el particionamiento horizontal de tablas.  Sería ideal.  Pero no he visto documentación de particionar por usuarios.  Mas aún, si no sé cuanto usuarios finales tendré.

Atentamente,

Luis Rebolledo S

Hola Luis:

 

Yo creo que lo estan complicando demasiado. No tiene sentido tener una tabla por cada cliente o proveedor. Complicas el modelo. Lo puedes tener todo en la misma tabla, y con un código (un campo) identificas las exportaciones que son de un determinado cliente. Por ejemplo

 

Cliente 1 Exportacion 1,2,3,4,5,6,7

Cliente2 Exportacion .....

Cliente 3 Exportacion....

Si son diferentes empresas luego podras hacer por programación que solo accedan a los datos de sus exportaciones.

 

El hecho de particionar una tabla por algun concepto, solo tiene sentido si estamos hablando de millones de registros donde te interese hacerlo por temas de rendimiento en la base de datos.

 

Espero haberte sido de ayuda.

 

Un saludo.