ForeignKey entre databases

29/10/2009 - 11:08 por L. Garcia | Informe spam
Hola Grupo:

Estoy planteando el escenario que comento, crear una tabla cuya ForeignKey
está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
2005), cosa que ya me esperaba.

¿Para solucionar este problema que soluciones
utilizais/proponeis/recomendais?

1) Usar Triggers (buff, miedo me da)

2) Usar una copia de la tabla.
a) Con 'replicas' (buff, miedo me da)
b) A pelo, teniendo en cuenta que siempre mandará la tabla de la base de
datos matriz.

3) ¿Alguna otra idea?

4) No tener separadas las tablas en diferentes bases de datos :-)
Dificil, porque la tabla 'separada':
a) Proviene de una fuente externa y me interesa tenerla 'aislada'
b) Es utilizada por diferentes procesos/bases de datos independientes
entre sí.

Saludos y gracias por leer esto :-)

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
29/10/2009 - 11:16 | Informe spam
Si no quieres tener la tabla en la misma base de datos, la única forma
realmente efectiva es por medio de triggers, de los cuales no tienes por qué
tener miedo si están bien programados.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"L. Garcia" wrote in message
news:%
Hola Grupo:

Estoy planteando el escenario que comento, crear una tabla cuya ForeignKey
está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
2005), cosa que ya me esperaba.

¿Para solucionar este problema que soluciones
utilizais/proponeis/recomendais?

1) Usar Triggers (buff, miedo me da)

2) Usar una copia de la tabla.
a) Con 'replicas' (buff, miedo me da)
b) A pelo, teniendo en cuenta que siempre mandará la tabla de la base
de
datos matriz.

3) ¿Alguna otra idea?

4) No tener separadas las tablas en diferentes bases de datos :-)
Dificil, porque la tabla 'separada':
a) Proviene de una fuente externa y me interesa tenerla 'aislada'
b) Es utilizada por diferentes procesos/bases de datos independientes
entre sí.

Saludos y gracias por leer esto :-)

Respuesta Responder a este mensaje
#2 Alejandro Mesa
29/10/2009 - 13:53 | Informe spam
Carlos Sacristan,

Correcto, la unica forma seria usando triggers, pero mucho cuidado con la
restauracion independiente de esas bases de datos.

Creo que no tengo que expandir mucho sobre este problema, pues es obvio que
si restauramos la base de datos que es referenciada hasta un punto en el
pasado, entonces la base de datos que referencia puede estar referenciando
filas de la base referenciada que pueden no existir.


AMB



"Carlos Sacristan" wrote:

Si no quieres tener la tabla en la misma base de datos, la única forma
realmente efectiva es por medio de triggers, de los cuales no tienes por qué
tener miedo si están bien programados.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"L. Garcia" wrote in message
news:%
> Hola Grupo:
>
> Estoy planteando el escenario que comento, crear una tabla cuya ForeignKey
> está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
> 2005), cosa que ya me esperaba.
>
> ¿Para solucionar este problema que soluciones
> utilizais/proponeis/recomendais?
>
> 1) Usar Triggers (buff, miedo me da)
>
> 2) Usar una copia de la tabla.
> a) Con 'replicas' (buff, miedo me da)
> b) A pelo, teniendo en cuenta que siempre mandará la tabla de la base
> de
> datos matriz.
>
> 3) ¿Alguna otra idea?
>
> 4) No tener separadas las tablas en diferentes bases de datos :-)
> Dificil, porque la tabla 'separada':
> a) Proviene de una fuente externa y me interesa tenerla 'aislada'
> b) Es utilizada por diferentes procesos/bases de datos independientes
> entre sí.
>
> Saludos y gracias por leer esto :-)
>

.

Respuesta Responder a este mensaje
#3 L. Garcia
02/11/2009 - 11:22 | Informe spam
Gracias a los dos.

Ya me imaginaba que la solución mas eficiente eran los triggers, pero queria
verificarlo, gracias

Saludos

"Alejandro Mesa" escribió en el
mensaje news:
Carlos Sacristan,

Correcto, la unica forma seria usando triggers, pero mucho cuidado con la
restauracion independiente de esas bases de datos.

Creo que no tengo que expandir mucho sobre este problema, pues es obvio
que
si restauramos la base de datos que es referenciada hasta un punto en el
pasado, entonces la base de datos que referencia puede estar referenciando
filas de la base referenciada que pueden no existir.


AMB



"Carlos Sacristan" wrote:

Si no quieres tener la tabla en la misma base de datos, la única forma
realmente efectiva es por medio de triggers, de los cuales no tienes por
qué
tener miedo si están bien programados.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"L. Garcia" wrote in message
news:%
> Hola Grupo:
>
> Estoy planteando el escenario que comento, crear una tabla cuya
> ForeignKey
> está en otra Base de Datos. Al intentar crearla, me da error (SqlServer
> 2005), cosa que ya me esperaba.
>
> ¿Para solucionar este problema que soluciones
> utilizais/proponeis/recomendais?
>
> 1) Usar Triggers (buff, miedo me da)
>
> 2) Usar una copia de la tabla.
> a) Con 'replicas' (buff, miedo me da)
> b) A pelo, teniendo en cuenta que siempre mandará la tabla de la
> base
> de
> datos matriz.
>
> 3) ¿Alguna otra idea?
>
> 4) No tener separadas las tablas en diferentes bases de datos :-)
> Dificil, porque la tabla 'separada':
> a) Proviene de una fuente externa y me interesa tenerla 'aislada'
> b) Es utilizada por diferentes procesos/bases de datos
> independientes
> entre sí.
>
> Saludos y gracias por leer esto :-)
>

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida