Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2004
cval cval is offline
Miembro
 
Registrado: ene 2004
Posts: 20
Poder: 0
cval Va por buen camino
diseño base de datos

Hola,

Tengo que realizar una aplicación para un grupo de empresas 5, estas empresas están ubicadas en el mismo despacho o conectadas a el de forma remota, pero son practicamente independientes, pero comparten una misma tabla de clientes y posiblemente alguna otra más,
mi pregunta es si es preferible utilizar una única base de datos para todas las empresas o una diferente para cada empresa.
si son varias bases de datos, se pueden hacer consultas entre ellas?

Gracias
Responder Con Cita
  #2  
Antiguo 18-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

No se pueden realizar consultas cruzadas entre dos bases de datos. Las dos alternativas (1 única base de datos o 5 bases de datos independientes) tienen sus propias ventajas y inconvenientes.

Normalmente me inclinaría por las Bases de Datos independientes (y acaso poner los datos comunes en otra base de datos general). Aunque el hecho de que no se puedan realizar consultas que unan datos de tablas en distintas bases de datos, te fuerza bastante a usar una única Base de Datos (en el caso de que vayas a necesitar consultas de ese tipo).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 19-03-2004
cauce cauce is offline
Registrado
 
Registrado: jul 2003
Posts: 4
Poder: 0
cauce Va por buen camino
Ciertamente resulta complicado de analizar. Yo personalmente haría lo posible por tener centralizadas, al menos, las tablas comunes en una base de datos central. Las consultas que afectaran a estas tablas y a la base de datos local, deberías de realizarla en dos pasos. Una primera query a la BD central, y una sgte query a la local filtrando por los resultados obtenidos en la primera.

Fijate que tendrás que hilar muy fino en los algoritmos y las conexiones. Si vas a trabajar con delphi tendrás que ser especialmente cuidadadoso y no permitir que por ejemplo un grid esté continuamente pidiendo datos ante un scroll. Personalmente me inclinaría por un desarrollo sobre .NET, mucho más eficiente en este sentido ya que encapsula los resultados obtenidos de una consulta a la BD en un xml en local. Cualquier movimiento que efectues en el grid (incluso filtros y ordenacions) los aplicas sin conectarte nuevamente a la BD remota. Claro que usando esta tecnología y contando con una conexión punto a punto decente, se podría centralizar en una sola BD.

Si se trata de una VLAN sobre ADSL, probablemente te encuentres con la limitacion de 128kb de comunicación real bidireccional, salvo que contrates una 2048kb que te proporcionan una velocidad bidireccional de 300kb. Vamos, que yo haría pruebas exhaustivas durante un periodo inicial de consultoría orientado a seleccionar la tecnología más adecuada.

No descartaría la posibilidad de trabajar con BD's independientes y una central para los datos comunes que tb estarían duplicados en local en cada sede, de modo que en las sedes se trabajaría en local. Mediante tareas programadas podrías realizar exportaciones/actualizaciones de datos comunes. Bien mediante accesos a BD o mediante exportacion de ficheros xml que luego se cargan en la bd central, se procesan y se vuelven a repartir en las sedes para la carga/actualización de datos. Esto puede ser una complicación tremenda para evitar inconsistencia en datos, duplicidad...etc
Responder Con Cita
  #4  
Antiguo 19-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por cauce
Personalmente me inclinaría por un desarrollo sobre .NET, mucho más eficiente en este sentido ya que encapsula los resultados obtenidos de una consulta a la BD en un xml en local. Cualquier movimiento que efectues en el grid (incluso filtros y ordenacions) los aplicas sin conectarte nuevamente a la BD remota.
Delphi ya hace años (desde Delphi 3) que permite trabajar de esta forma, con la tecnología MIDAS (ahora Datasnap) y los Clientdatasets.

Cita:
Empezado por cauce
No descartaría la posibilidad de trabajar con BD's independientes y una central para los datos comunes que tb estarían duplicados en local en cada sede, de modo que en las sedes se trabajaría en local. Mediante tareas programadas podrías realizar exportaciones/actualizaciones de datos comunes. Bien mediante accesos a BD o mediante exportacion de ficheros xml que luego se cargan en la bd central, se procesan y se vuelven a repartir en las sedes para la carga/actualización de datos. Esto puede ser una complicación tremenda para evitar inconsistencia en datos, duplicidad...etc
Ciertamente es una buena alternativa. La hemos comentado en algunos hilos, por ejemplo, http://www.clubdelphi.com/foros/showthread.php?t=5546 (Si usas la opción de Buscar en el Foro, encontrarás más hilos dedicados al tema).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:00:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi