sql >> Base de Datos >  >> RDS >> Sqlserver

claves foráneas en la tabla de una base de datos diferente

Evitaría hacer esto si pudiera. ¿Puedes mantener ambas tablas en una base de datos y usar un FK?

Las tablas principales y secundarias están en diferentes bases de datos.

Aunque no puede usar una clave externa en esta situación, existen soluciones alternativas:puede usar activadores o UDF envueltos en restricciones de verificación. De cualquier manera, la integridad de sus datos no es completamente impermeable:si la base de datos con su tabla principal falla y la restaura desde una copia de seguridad, es posible que termine fácilmente con huérfanos.

La relación padre-hijo se impone mediante disparadores.

Hay bastantes situaciones en las que los disparadores no se disparan, como:

· Se cae una mesa.

· Una tabla está truncada.

· Las configuraciones para disparadores anidados y/o recursivos evitan que un disparador se dispare.

También un disparador puede ser simplemente incorrecto. De cualquier manera, puede terminar con huérfanos en su base de datos.