¡Oh, ciertamente lo haría! Lo que debe recordar es que su base de datos es su almacén de datos, no es solo el almacén de datos para la interfaz. Esta es una diferencia sutil, pero es importante cuando comienzas a considerar el futuro. En este momento, usted (presumiblemente) es dueño de las aplicaciones de gestión, pero ¿quién puede decir que en el futuro seguirá siendo así?
Al descargar tanta validación como sea posible en la base de datos, de alguna manera prueba su aplicación en el futuro; al menos si alguien más intenta desarrollarse contra su base de datos, se cumplirán muchas de sus suposiciones.
Los inconvenientes de tener esto en el lado de base de datos es la inserción más lento, por lo que necesita para sopesar lo pesado que su aplicación está en contra de la lectura y la escritura. En el trabajo, tenemos mucha más demanda de lectura que de escritura, por lo que la integridad referencial parece obvia. Sin embargo, nuestras tablas son grandes (y están disponibles de forma gratuita para la importación), por lo que seguimos una ruta de importación de varios pasos para crear las tablas, insertar los datos, crear índices y luego crear claves externas y otras restricciones.
Espero que esto ayude!
Eche un vistazo a [** similar pregunta/respuesta **] (http://stackoverflow.com/questions/2819424/in-a-star-schema-are-foreign-key-constraints-between-facts -y-dimensions-necce/2822941 # 2822941). –
No estoy seguro de si debería agregar aquí o a la pregunta similar, pero ... Si la integridad es un problema, siempre puede corregir las funciones de integridad o los procedimientos almacenados que buscan hechos "huérfanos". (Filas donde las claves externas no tienen sentido). A continuación, puede limpiarlos después/durante/antes del próximo ciclo de cargas en su base de datos. – Markus
/right/write .... –