Tengo un modelo con 3 direcciones: recogida, entrega y facturación. Me imagino que la dirección de facturación generalmente será la dirección de recogida o entrega, por lo que desde la perspectiva de UI, debería tener la opción "igual que". Pero desde una perspectiva DB, ¿debo guardar el campo "igual que", o debería duplicar los datos?¿Cómo almacenar datos "iguales a"?
Respuesta
Debe tener la misma Id de una fila de una tabla de direcciones en dos columnas diferentes, PickUp y DropOff. De esta manera, no duplicas la dirección, no utilizas alguna dirección de vigilancia, y puedes consultar fácilmente para ver si la dirección de PickUp es la misma que la de DropOff. Si uno de estos cambios en el futuro, siempre puede modificar el valor Id almacenado en su columna respectiva a una nueva dirección.
Puede crear una tabla llamada 'Dirección' y hacer Pickup, Dropoff, FK de facturación a esa tabla de direcciones.
El hecho de que una dirección sea la misma dirección física no significa que sea la misma dirección conceptual. Realmente, la dirección de John Doe puede ser "123 Elm St.", pero conceptualmente su dirección es "dirección de correo de John Doe".
En particular, para direcciones yo diría que puede y debería ser duplicados dentro de una base de datos debido a este caso simple: considerar dos personas que viven en la misma dirección. Ahora uno de ellos se mueve. Si solo almacenó la dirección una vez, actualizar la dirección del "motor" también actualizaría la dirección del compañero de cuarto original.
Pero en general, considere cómo los datos están vinculados a otros datos. Si hay muchas cosas que pueden relacionarse con él, asegúrese de que un cambio para uno debería afectarlos a todos.
Buen punto, aunque depende del escenario. – mpen
- 1. ¿Cómo almacenar datos multilingües?
- 2. MySQL - Cómo almacenar datos AES_Encrypted?
- 3. html & javascript: Cómo almacenar datos referentes a elementos html
- 4. Almacenar datos en NSUserDefaults
- 5. ¿Cómo almacenar datos en NSCache en iOS?
- 6. ¿Cómo almacenar datos encriptados 'consultables' en MySQL?
- 7. Cómo almacenar datos dentro del archivo ejecutable
- 8. ¿Dónde/cómo almacenar datos persistentes con tomcat?
- 9. Cómo almacenar datos en caché en symfony2
- 10. log4net: Cómo almacenar datos en DB
- 11. ¿Cómo almacenar datos persistentes fácilmente sin usar bases de datos?
- 12. cómo almacenar datos en la base de datos en HTML5
- 13. Almacenar en Datos de Sesión vs almacenar en Base de Datos Sql para datos temporales
- 14. ¿Dónde almacenar datos en iphone?
- 15. Fusionando puntos aproximadamente iguales en el conjunto de datos
- 16. Almacenar datos de aplicaciones en Active Directory
- 17. El programa y los datos son iguales en Prolog?
- 18. Estructura de datos para almacenar eventos recurrentes?
- 19. Almacenar datos de una aplicación de C#
- 20. Almacenar datos estáticos en Android: ¿recurso personalizado?
- 21. Almacenar datos personalizados en elementos dom
- 22. ¿Cómo puedo almacenar datos en la memoria RAM usando PHP?
- 23. Cómo almacenar relaciones bidireccionales
- 24. Cómo almacenar CGRect y otras cosas en los datos centrales
- 25. Datos exclusivos de subprocesos: cómo almacenar y acceder?
- 26. Java: ¿cómo almacenar datos triples en una lista?
- 27. Cómo almacenar datos en Elemento seguro en android
- 28. ¿Estructura de datos para almacenar una gran cantidad de datos?
- 29. ¿Son dos funciones iguales?
- 30. ¿Cómo almacenar una base de datos dentro de un Arduino?
Derecho ... la solución obvia. Creo que estaba confundiendo problemas en mi cabeza cuando pensé en esto (hay un "guardar como predeterminado" también ...) – mpen