MySQL Forums
Forum List  »  Spanish

Re: Compartir, clonar o lo que haga falta
Posted by: Jesús Uzcanga
Date: January 28, 2013 01:12PM

Nestor realmente no veo el problema.

En primer lugar imagino que lo que llamas subsistemas son realmente el mismo sistema pero para diferentes empresas. Ahora bien te muestro diferentes escenarios de como resolver esto.

CASO 1
Podrías crear la siguiente pseudo-estructura para una base de datos única para todos los sub-sistemas o empresas.

Tabla clientes con campos de datos básicos que utilizas siempre

Tabla Empresas en la que identidicaras con un ID cada empresa y en otros campos los datos como nombre, dirección etc.

Tablas documentos, transacciones, ventas, etc TODAS deberan contener el identificador de la empresa en un campo que debe tener integridad referencial con la tabla Empresas.

De esta manera cuando crees un cliente lo crearas de manera generica en la base de datos sin asociarlo a ninguna empresa específica pero cuando hagas por ejemplo una factura, esta deberá tener en todas sus tablas asociadas el campo que identifique a cual empresa pertenece. Luego al elaborar los reportes/informes solo debes tomar en cuenta este campo en el WHERE para mostrar la información correcta.
Debes tomar en cuenta que tus tablas de transacciones/documentos deben posee un campo clave o PRIMARY KEY compuesto, es decir, tu PRIMARY KEY no será solo un ID de documento si no que debe ser el ID de documento + ID_Empresa. Yo recomendaría esta opción.

CASO 2
Creas una BD para cada empresa y una BD para tablas genericas. Luego mediante INNER JOIN enlazas tus datos de clientes (tabla generica) con los documentos (tabla de empresa).

CASO 3
Procedimiento almacenado que cree un registro en BD_1.tablaclientes cada vez que insertes un registro en BD_2.tablaclientes y viceversa.

NOTA: Por el lenguaje que utilizas creo que estas viendo Mysql como archivos tipo dbf y definitivamente no son ni remotamente parecidos a estos. Debes tomar en cuenta que Mysql es un motor de base de datos transaccional y relacional y bajo la figura de servicio que escucha un puerto de red (3306), el cual, no permite compartir cosas como una tabla a menos que lo establezcas a nivel de permisos con un comando o usando un manejador de base de datos gráfico.

Espero que te ayude.

___________________________
Ing. Jesús Alfredo Uzcanga
Twitter: @JesusUzcanga

We learn the 20% of what we HEAR,
the 50% of what we SEE,
the 80% of what we DO and
the 95% of what we TEACH.

____________________________________________________________
https://www.linkedin.com/in/jauzcanga/

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Compartir, clonar o lo que haga falta
1221
January 28, 2013 01:12PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.