Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2011, 11:16
Avatar de Ronin46
Ronin46
 
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Usar 2 bases de datos o no

Buenos días,

A ver si consigo explicarme...

¿De qué se trata?
Se trata de tener una página web con su propia base de datos que haga uso de un CMS con su propia base de datos, un cambio en la base de datos del CMS no debe de afectar a la base de datos de la página web y viceversa. Cada base de datos debiera de poder funcionar por separado sin necesidad de la otra. Cada base de datos pertenece a proyectos separados con desarrollos independientes.

Consiste en tener una base de datos genérica, que todo sitio web necesita y a la vez permitir a ese sitio web tener sus propias tablas o incluso ampliar las tablas ya existentes en el CMS para contemplar campos adicionales para una tabla del CMS que para esa circunstancia especial del sitio web son necesarios.

Escenario 1
Base de datos: "cms"
Tablas: "cms_usuarios"
Base de datos: "web"
Tablas: "usuarios"

En la base de datos "cms" estarían todas las tablas requeridas para el buen funcionamiento del CMS, a su vez cada tabla contiene todos los campos requeridos para el buen funcionamiento del CMS.

En la base de datos "web" estarían todas las tablas requeridas para el buen funcionamiento del sitio web y que no se contemplan en el CMS, así mismo podría haber tablas que complementan a las ya existentes en el CMS, por ejemplo, la tabla de usuarios (en el CMS sólo habría un ID y e-mail mientras que en la web habría su ID - el mismo que en la tabla del CMS - nombre y apellidos, ya que para esa web es necesaria esa información complementaria)

Según este escenario cada vez que cambie algo en la base de datos CMS y la quiera subir a producción puedo "machacar" sin problemas toda la base de datos sin afectar a la base de datos de la WEB, ahora bien, a la hora de manejarme a través del código (PHP por ejemplo) tendría que abrir 2 bases de datos e indicar el identificador de cada base de datos en cada una de las consultas para extraer la información al completo de un usuario (una consulta a "cms_usuarios" con su identificador y otra consulta a "usuarios" con su identificador)

Escenario 2
Base de datos: "web"
Tablas: "cms_usuarios", "usuarios"

En la base de datos estarían todas las tablas, las propias del CMS y las propias del sitio web.

Según este escenario tendría que tener cuidado al actualizar las tablas del CMS, no puedo "machacar" tan alegremente ya que hay tablas de por medio que son propias del sitio web. A través del código (PHP por ejemplo) con abrir 1 conexión a base de datos sería suficiente y para extraer información al completo de un usuario tendría que hacer una consulta con "Join" o con "Union select" (esto ya tendría que verlo con más calma)
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"

Última edición por Ronin46; 08/04/2011 a las 11:25