Bases de Datos - ¿Una base de datos o múltiples bases de datos?

 
Vista:
Imágen de perfil de Alejandro
Val: 7
Ha disminuido su posición en 3 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por Alejandro (4 intervenciones) el 19/05/2020 16:37:49
Hola buenas tardes! Un gusto a en saludarles, tengo el siguiente dilema en cuestión de una decisión y me gustaría saber su punto de vista en base a su experiencia:

Estoy por comenzar el desarrollo de un aplicación web, en la cual se podrán registrar catálogos como empleados, puestos de trabajo, proveedores, ect. todo esto para el control de ordenes de compra de la empresa o compañía, aquí la cuestión es que es necesario trabajar una o varias empresas (compañías), las cuales cada una tiene sus empleados, cada una sus puestos, cada una sus proveedores que en algunos casos dichas empresas comparten mismos proveedores, mismos puestos e incluso empleados.. Entonces mi pregunta es, ¿es mejor generar una base de datos para cada empresa que se requiera trabajar ? o lo mas correcto es, que una sola base de datos se registren las operaciones de la o las empresas (compañías).
Actualmente se trabaja con una herramienta (App de escritorio montada en un servidor ) que genera una base de datos por empresa, por esa razón tengo la duda de trabajar de la misma manera o en una sola base de datos almacenar toda la información.

Les agradezco de antemano tomarse el tiempo de leer mi post, y nada! espero puedan aconsejarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 122
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por joel (46 intervenciones) el 19/05/2020 17:05:16
Sin ninguna duda, una sola base de datos... y diferenciar las empresas trabajadores, ... por sus identificadores (id)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 434
Oro
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por Leonardo Daniel A. (211 intervenciones) el 19/05/2020 20:18:11
Hola, pues es el dilema de siempre....

Caso 1: Una sola B.D.

Solo agregas el identiciador de la empresa a las tablas y listo, si tienes que hacer modificaciones que afecten a todas las empresas la tienes facil puesto que solo es una B.D., la desventaja es que es un show haceer respandos por empresa, ademas de que si una modificacion afecta solo a una empresa tendras que hacer circo maroma y teatro para solventar eso desde programacion y pues tener bien tu indices para que no te afecte en el rendidmientoo

Caso 2: Diferentes B.D.

Ventanas, informacion independiente, facil respaldo por cada empresa... peroooooo si tienes que hacer cambios que afecten a todas las empresas, tienes que hacer las modificaciones una por una...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 7
Ha disminuido su posición en 3 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por Alejandro (4 intervenciones) el 19/05/2020 22:13:04
Gracias por tu tiempo en responder!
Al final platicando con compañeros de trabajo creemos que la mejor opción es bases de datos distintas para cada empresa..
El proyecto se va a desarrollar en Codeigniter 4, y tenemos pensado crear un panel principal donde el usuario deberá seleccionar la empresa con la que va a trabajar, entonces tenemos pensado agregar una carpeta por cada empresa (que contiene la programación de esa empresa y apuntando a la base de datos correspondiente) dentro del proyecto o carpeta del panel ..

Quedando de la siguiente manera
www.nombredelsistema.com el cual mostrara las empresas disponibles a trabajar.
Al seleccionar una empresa, la url cambiará a www.nombredelsistema.com/Empresa1 y si abre otra www.nombredelsistema.com/Empresa2 y así sucesivamente.
mi pregunta es, si deseo crear una sesión por cada empresa seleccionada, ¿el navegador no tiene problemas con crear la sesión para empresa1 y empresa2 ? es decir guarda la sesión por por URL de manera independiente ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 122
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por joel (46 intervenciones) el 20/05/2020 10:07:34
Es un error utilizar diferentes bases de datos Alejandro!!! ya lo veras!!!

Eso que comentas de las urls se hace con modRewrite... no se te ocurre crear diferentes carpetas para diferentes empresas... seria otro gran error!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 7
Ha disminuido su posición en 3 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por Alejandro (4 intervenciones) el 20/05/2020 15:33:27
Gracias por tu respuesta Joel..
Entonces tú me recomiendas una sola base de datos para todas las empresas, así es como inicialmente esaba diseñando mi estructura de base de datos pero luego entre en ese dilema..

No sé si me explique bien en lo de las URL , déjame explicarme un poco...Mis proyectos recientes están desarrollados en CodeIgniter , y normalmente uso hmvc (uso de modulos) , en los cuales normalmente tengo los un panel principal, módulos de administración , catálogos, configuración, y demás módulos dependiendo el giro del negocio..
Mi duda es como puedo yo, que al seleccionar la empresa a trabajar me envíe al panel con los módulos (los módulos tienen sus respectivas opciones) y todo lo que realice ahí, sea de esa empresa seleccionada empresa1, en tanto que si yo seleccionó otra empresa y se me abra su panel en otra ventana (el panel debe ser el mismo para todas las empresas), todo lo que realice en esa ventana se registre como operaciones de la empresa2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 122
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por joel (46 intervenciones) el 20/05/2020 19:13:59
Hola Alejandro, nunca he utilizado Codeigniter, por lo que no se como trabaja... pero en el ejemplo que me pones de las empresas... el archivo siempre es el mismo para todas las empresas, lo único que cambia es el contenido a mostrar dependiendo de la empresa seleccionado o login del usuario que esta asignado a una empresa dada.

No se si me estoy explicando.
Cuando un usuario entra con un usuario y contraseña, se sabe que ese usuario tiene acceso a los datos de la empresa 5, por lo tanto cuando muestra la pagina empresa.php le muestra los datos de la empresa 5. Si otro usuario tiene acceso a la empresa 3, al entrar en la misma pagina empresa.php le mostrara los datos de la empresa 3.

Coméntame si me he hecho entender...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 7
Ha disminuido su posición en 3 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Una base de datos o múltiples bases de datos?

Publicado por Alejandro (4 intervenciones) el 20/05/2020 19:26:14
Te agradezco tu tiempo!
Si, me queda claro eso, y quizás no me explique bien, lo que intento hacer es que el usuario pueda trabajar con dos empresas a la ves (una en cada ventana) pero creo que la mejor manera va a ser poner todos los procesos que requiere el sistema y que el usuario seleccione a la empresa a quien aplicará la operacion..
Mi consulta de abrir en dos ventanas independientes para cada empresa fue por qué así lo trabajan actualmente en un sistema de escritorio , ellos acceden a dos ventanas con una empresa en cada una y realizan operaciónes en cada una de ellas..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar