Ver Mensaje Individual
  #4  
Antiguo 20-06-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por manelb Ver Mensaje
Para solucionar el problema se me ocurren varias opciones.
1.- Tener un rango diferente de IDs para los movimientos externos.
Por ejemplo sumar 10.000.000 al ID original (no garantiza al 100% las colisiones)
2.- Conservar los IDs originales pero con signo negativo
3.- Añadir un campo a la tabla con el ID Externo.
4.- Una tabla intermedia que me relacione el ID externo con mi ID.

Yo creo que también me decantaría por la 3.
1) Mezclas "cosas diferentes" en un sólo campo; Se me ocurren problemas como que puedan coincidir los rangos o que tengas que hacer JOIN contra tablas diferentes por el mismo campo,...
2) (entiendo que los conservas en el mismo campo cambiando los actuales). Lo mismo de antes en el mismo campo guardas cosas diferentes. No se qué pasará si ya estás haciendo referencia a esos ID's en otros lugares. Código condicional dependiendo de si el valor de un campo es positivo o negativo. raro...
3) Creo que es la correcta. Normalizada y la más clara.
4) Sería la escogida si la relación entre ID/IDExterno fuera 1..N; Si la relación es 1..1, 1..0 se puede usar esta o la anterior.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita