Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Base de datos relacional - Se puede hacer esto?

7 views
Skip to first unread message

Luis Mata

unread,
Dec 29, 2009, 7:30:51 PM12/29/09
to
Mi problematica

- utilizo SQL 2008
- Tengo nueve sedes
- el rubro ventas

quiero hacer Base de datos independientes para cada tienda (Para evitar
sobrecarga de datos)
Mi base de datos es relacional, pero estoy viendo que por ejemplo: todas las
tiendas manejan los mismos clientes, proveedores, vendedores, cajeros...
estoy pensando hacer a estos como una base de datos Global, pero mi base de
datos relacional queda un vacio enorme, no puedo relacionar las ventas con
los clientes porque estarian en la otra base de datos global, mis
proveedores pierden relacion con las compras por la misma razon.

replicar estas tablas en cada base de datos me crea redundancia, pero me
soluciona el problema de relacionar las tablas y mis datos estan mas
seguros.

Existe alguna forma de crear relaciones entre Bases de datos?

Eso seria formidable ya que tendria tablas globales que no dejarian
huerfanas (Mediante Relacionarlas) a las ventas ni las compras y las
compartirian todas mis sedes.

Luis Mata

Alejandro Mesa

unread,
Dec 29, 2009, 9:02:01 PM12/29/09
to
Luis Mata,

No, no se puede referenciar una tabla en otra base de datos desde una
restriccion de clave foranea.

Una forma seria utilizando un trigger para validar que la clave referenciada
existe en la tabla padre. Tambien tendras que crear triggers en las tablas
padres para que no se elimine o cambia una clave que es referenciada. Un
problema grande que tiene este mecanismo, es que si la base de datos que
contiene las tablas padres, se restaura por alguna necesidad, entonces pueden
quedar filas huerfanas en las bases que contienen las tablas hijos.


AMB

"Luis Mata" wrote:

> .
>

Luis Mata

unread,
Dec 29, 2009, 6:34:25 PM12/29/09
to
Gracias por responder

y hay alguna otra forma de solucionar esto? porque tengo 250000 clientes
hasta ahora y no quiero duplicarlos en cada bd, solo por el tema de
relacionarlas.
Para mi caso los clientes son para todas las BD, los proveedores, los
vendedores, tipos de pagos, tarjetas son iguales para todas las sedes.
Cada tienda tiene muchos almacenes y varias cajas de cobranza, y ponerlas
todas en una sola BD me generaría un desorden a la larga, aparte de que
desde ya estaría viendo las transacciones crecerían muchísimo en un año, y
esto tardaría ante cualquier select(consulta)
alguna otra arquitectura de BD que me pueda ayudar.

Luis


"Alejandro Mesa" <Alejan...@discussions.microsoft.com> escribió en el
mensaje de noticias
news:0756579D-7A1B-4C99...@microsoft.com...

Maxi Accotto

unread,
Jan 1, 2010, 11:40:22 PM1/1/10
to
Luis, si quiere entramos en detalle de su diseño : Yo pondria todo en una
sola base de datos, los "Problemas" que menciona son todos solucionables
desde el SQL sin afectar a la aplicacion (usando particionamiento,
filegroups, etc, etc)

Yo tengo clientes con aplicaciones que su base de datos pesa 1TB y hay mas
de 15 mil tablas en un Sql Server.

Ahora bien, si descartamos su diseño y entramos en la pregunta, para hacer
eso que usted quiere debe usar Triggers.

Yo le aconsejo que revise su diseño, SQL Server no es Access ni Fox ni
parecido y la forma de pensar el diseño que usted esta comentando es de
otros años con otra tecnologia y otras limitaciones :)

--

------------------------------------------------
Maxi Accotto
MVP en SQL Server
http://blog.maxiaccotto.com
--------------------------------------------------

"Luis Mata" <lm...@cclf.com.pe> wrote in message
news:uDBmhjVi...@TK2MSFTNGP05.phx.gbl...

Agustin Cot

unread,
Jan 2, 2010, 4:37:03 AM1/2/10
to
Hola, aprovechando cual seria la estructura "ideal" para un programa de
gestion,facturacion,contabildad y TPV

es decir como estructurar los ejercicios,tablas comunes, etc..

Gracias
Agustin

"Maxi Accotto" <maxi_a...@msn.comnospam> escribi� en el mensaje
news:E8DF8BF6-0978-4A50...@microsoft.com...
> Luis, si quiere entramos en detalle de su dise�o : Yo pondria todo en una

> sola base de datos, los "Problemas" que menciona son todos solucionables
> desde el SQL sin afectar a la aplicacion (usando particionamiento,
> filegroups, etc, etc)
>
> Yo tengo clientes con aplicaciones que su base de datos pesa 1TB y hay mas
> de 15 mil tablas en un Sql Server.
>

> Ahora bien, si descartamos su dise�o y entramos en la pregunta, para hacer

> eso que usted quiere debe usar Triggers.
>

> Yo le aconsejo que revise su dise�o, SQL Server no es Access ni Fox ni
> parecido y la forma de pensar el dise�o que usted esta comentando es de
> otros a�os con otra tecnologia y otras limitaciones :)


>
>
>
> --
>
> ------------------------------------------------
> Maxi Accotto
> MVP en SQL Server
> http://blog.maxiaccotto.com
> --------------------------------------------------
>
> "Luis Mata" <lm...@cclf.com.pe> wrote in message
> news:uDBmhjVi...@TK2MSFTNGP05.phx.gbl...
>> Gracias por responder
>>
>> y hay alguna otra forma de solucionar esto? porque tengo 250000 clientes
>> hasta ahora y no quiero duplicarlos en cada bd, solo por el tema de
>> relacionarlas.
>> Para mi caso los clientes son para todas las BD, los proveedores, los
>> vendedores, tipos de pagos, tarjetas son iguales para todas las sedes.
>> Cada tienda tiene muchos almacenes y varias cajas de cobranza, y ponerlas

>> todas en una sola BD me generar�a un desorden a la larga, aparte de que
>> desde ya estar�a viendo las transacciones crecer�an much�simo en un a�o,
>> y esto tardar�a ante cualquier select(consulta)


>> alguna otra arquitectura de BD que me pueda ayudar.
>>
>> Luis
>>
>>

>> "Alejandro Mesa" <Alejan...@discussions.microsoft.com> escribi� en el

Maxi Accotto

unread,
Jan 3, 2010, 10:29:06 PM1/3/10
to
Hola, eso depende del sistema, no hay un modelo unico

--

------------------------------------------------
Maxi Accotto
MVP en SQL Server
http://blog.maxiaccotto.com
--------------------------------------------------

"Agustin Cot" <softwareQ...@NOSPAMpgsoft.es> wrote in message
news:#1a4j84i...@TK2MSFTNGP02.phx.gbl...

Agustin Cot

unread,
Jan 4, 2010, 7:00:40 AM1/4/10
to
Pero en general es para tener una idea, ya que vengo de FOX

Gracias
Agustin


"Maxi Accotto" <maxi_a...@msn.comnospam> escribi� en el mensaje

news:AD760DA7-D577-4B54...@microsoft.com...

Luis Mata

unread,
Jan 5, 2010, 9:00:40 AM1/5/10
to
Todo lo que tu me dices esta correcto pero a la hora de la hora he visto
deficiencias en tiempos de respuesta del sql, eso que trabaje con el 2000,
2005 y ahora 2008, como el sistema lo corro con un servidor para ahora 9
distritos y 2 departamentos y se viene 4 departamentos mas y la idea es
tener uno en cada departamento del pais, la estructura en una sola base de
datos no me sirve.
con solo mencionarte que cuando los vendedores hacen proformas en un año
tengo millones de registros, eso multplicalo por 13 sucursales, esto segun
pasa los meses de enero, febrero.....diciembre el tiempo de respuesta es
cada vez mas lento, y los indices estan correctos, ahora eso pasalo para
todas las tablas almacen, ventas... en 2 años se volveria todo mas pesado y
lo he probado. es por eso que quiero hacer Bases de datos separadas y no me
interesa si es tecnologia desfasada y lo haga quien lo haga, ahora es mi
necesidad y si hay alguna forma de hacerlo compartanlo.
Capacidad de disco no es mi problema con las monstrusidades de discos que
salen no veo problema.
Mi problema viene en la optimizacion del tiempo de respuesta de la Bd,

Nota
Tengo un hilo que nadie me responde anteriormente sobre el porque un
procedimiento almacenado me satura mi ancho de banda. Haber si me pueden dar
una mano con eso.

Luis


"Maxi Accotto" <maxi_a...@msn.comnospam> escribió en el mensaje de
noticias news:E8DF8BF6-0978-4A50...@microsoft.com...

0 new messages