Base de datos relacional - Se puede hacer esto?

30/12/2009 - 01:30 por Luis Mata | Informe spam
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

Preguntas similare

Leer las respuestas

#1 Luis Mata
30/12/2009 - 00:34 | Informe spam
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" escribió en el
mensaje de noticias
news:
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:

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

.

Respuesta Responder a este mensaje
#2 Alejandro Mesa
30/12/2009 - 03:02 | Informe spam
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:

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

.

Respuesta Responder a este mensaje
#3 Maxi Accotto
02/01/2010 - 05:40 | Informe spam
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" wrote in message
news:
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" escribió en el
mensaje de noticias
news:
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:

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

.






Respuesta Responder a este mensaje
#4 Agustin Cot
02/01/2010 - 10:37 | Informe spam
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" escribió en el mensaje
news:
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" wrote in message
news:
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" escribió en el
mensaje de noticias
news:
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:

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

.









Respuesta Responder a este mensaje
#5 Maxi Accotto
04/01/2010 - 04:29 | Informe spam
Hola, eso depende del sistema, no hay un modelo unico



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

"Agustin Cot" wrote in message
news:#
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" escribió en el mensaje
news:
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" wrote in message
news:
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" escribió en
el mensaje de noticias
news:
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:

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

.













Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida