Foreign key en tablas de diferentes BD

29/12/2005 - 21:21 por Carlos | Informe spam
¿Es posible crear una Foreign Key entre tablas que están en diferentes bases
de datos?
Utilizando Sql Server 2005.

Gracias.

Preguntas similare

Leer las respuestas

#6 Maxi [MVP]
31/12/2005 - 00:57 | Informe spam
Hola, coincido contigo en que las tablas deben estar en la misma BDD,
tambien coincido en que aca estamos para discreprar, no coincido en sacar la
integridad fuera de la bdd, es muy peligroso hacerlo y yo no correria ese
riesgo por mas que deba implementar triggers que a la larga no son nada del
otro mundo y es como se hacian antes las relaciones ;-)


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org



"qwalgrande" escribió en el mensaje
news:%
Hola.

Como teoría, bueno, está claro, todo lo que sea integridad referencial,
debería estar dentro del motor. Pero los medios para conseguirlo han de
ser coherentes y a mí poner un trigger en una tabla de una base de datos
que realice acciones en otra base de datos no me parece buena idea, porque
vinculas ambas bases de datos de una forma muy fuerte, con la gestión
transaccional y las pegas en la administración que conllevan los triggers.

Si esa relación es tal, lo lógico es que las tablas estén en la misma base
de datos, no en dos diferentes con triggers que las mantengan. Si no es
posible que estén en la misma base de datos, habría que estudiar el caso,
ya que es suficientemente complejo como para no decantarse por una
solución como los triggers así como así, por muchos principios que se
puedan tener.

Así que ante la pregunta de Carlos, si es posible crear una foreign key
entre tablas de diferentes bases de datos, la respuesta que yo daría es
sencillamente "No, las tablas han de estar en la misma base de datos.
Cuéntanos un poco más sobre tu caso para ver cuál sería la mejor
solución."

Como siempre, es mi opinión y en este caso sólo pretendía ampliar un poco
el abanico de posibilidades que le has ofrecido a Carlos sobre su duda.
Pero para eso está el foro, para compartir opiniones, discrepar y aprender
lo que se pueda.

Alberto López Grande (qwalgrande)

"Maxi" escribió en el mensaje
news:%
Hola, si es cierto, pero yo no comparto esa logica, para mi todo que se
refiere a integridad debe estar dentro del motor y dejar a cada capa
hacer lo que debe hacer. He visto sistemas que ponen la integridad afuera
y encima la llaman logica de negocios (que cosa no) y no sabes la
cantidad de problemas que tienen, luego llaman al consultor de SQL para
que les haga magia ;-)


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"qwalgrande" <qwalgrande*nospam*@yahoo.es> escribió en el mensaje
news:
Hola.

Existen otras alternativas que no exigen el uso de triggers, como
gestionarlo desde la lógica de la aplicación, crear procedimientos
almacenados que se encarguen de las modificaciones en esa tabla, etc.

Alberto López Grande (qwalgrande)


"Maxi" escribió:

No, vas a tener que usar Triggers


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Carlos" escribió en el mensaje
news:
> ¿Es posible crear una Foreign Key entre tablas que están en
> diferentes
> bases
> de datos?
> Utilizando Sql Server 2005.
>
> Gracias.













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