Qué hacer si mi base de datos no tiene claves foráneas?
#1
Estoy migrando una aplicación antigua y me encuentro con que el modelo de datos tiene varias tablas sin ninguna clave foránea definida, solo dependen de la lógica de la aplicación para mantener la integridad referencial. Me da un poco de miedo seguir adelante así, pero modificar el esquema ahora parece una tarea enorme. Alguien más ha tenido que lidiar con una base de datos sin relaciones explícitas y decidió dejarlo así por el riesgo?
Responder
#2
Sí, me ha pasado. Dejar tablas sin claves foráneas se siente como manejar con tornillos sueltos. El miedo a romper cosas durante la migración es real, especialmente cuando la integridad referencial depende solo de la lógica de la aplicación. Si quieres avanzar con menos miedo prueba a introducir FKs en las tablas más críticas en fases y usar migraciones que validen datos antes de activar las restricciones.
Responder
#3
Yo soy más pragmático y sin integridad referencial acabas persiguiendo errores a distancia. Lo que hice fue un plan corto pero honesto. Primero documentar qué depende de qué, luego añadir constraints en modo seguro sin borrar datos y finalmente ejecutar una validación de datos para detectar inconsistencias antes de activar reglas completas.
Responder
#4
No voy a fingir que todo es culpa del equipo pero a veces se prioriza el rendimiento o la rapidez de entrega. En esos casos terminaron eliminando dudas con parches en la lógica de la app en vez de arreglar el modelo. La conversación con el negocio para entender el costo de errores sin FKs es clave.
Responder
#5
Y si el problema no es la base de datos sino la migración en sí, a veces lo que parece una limitación del modelo es la forma de coordinar cambios entre sistemas. Razonar con el equipo sobre qué riesgo te preocupa más puede cambiar la estrategia.
Responder
#6
Otra forma de verlo en vez de forzar todas las relaciones aplica políticas de validación por servicio y usa eventos para rastrear cambios. La idea de event sourcing se puede mencionar sin explicarla.
Responder
#7
He estado en un proyecto así y alguien prefirió dejarlo así pero terminó complicando la verificación de datos y la operación diaria.
Responder
#8
A mi me suena a un debate viejo sobre reglas y libertad de estructuras tal vez hay una etiqueta más amplia como gobernanza de datos al que se refiere
Responder


[-]
Respuesta rápida
Mensaje
Escribe tu respuesta a este mensaje aquí.

Verificación de la imagen
Escribe el texto que aparece en la imagen, en el campo que está abajo. Este proceso se usa para evitar mensajes automáticos.
Verificación de la imagen
(no distingue MAYÚSC/minúsc)

Salto de foro: