Ho un modello con 3 indirizzi: ritiro, dropoff e fatturazione. Immagino che l'indirizzo di fatturazione di solito sia l'indirizzo di ritiro o di consegna, quindi dal punto di vista dell'interfaccia utente, dovrei avere un'opzione "uguale a". Ma da una prospettiva DB, dovrei salvare il campo "uguale a", o dovrei duplicare i dati?Come memorizzare "uguale a" dati?
risposta
Si dovrebbe avere lo stesso Id di una riga da una tabella Indirizzo in due colonne diverse, PickUp e DropOff. In questo modo, non duplichi l'indirizzo, non usi un indirizzo sentinella e puoi facilmente interrogare per vedere se l'indirizzo PickUp è lo stesso di DropOff. Se una di queste modifiche si verifica in futuro, è sempre possibile modificare il valore Id memorizzato nella rispettiva colonna in un nuovo indirizzo.
È possibile creare una tabella denominata "Indirizzo" ed eseguire Pickup, Dropoff, FK di fatturazione in quella tabella Indirizzo.
Solo perché un indirizzo è lo stesso indirizzo fisico non significa che sia lo stesso indirizzo concettuale. In realtà, l'indirizzo di John Doe potrebbe essere "123 Elm St.", ma concettualmente il suo indirizzo è "l'indirizzo postale di John Doe".
In particolare, per gli indirizzi direi può e dovrebbe essere duplicati all'interno di un database a causa di questo semplice caso: considerare due persone che vivono allo stesso indirizzo. Ora uno di loro si muove. Se hai memorizzato l'indirizzo solo una volta, l'aggiornamento dell'indirizzo del "mover" aggiornerebbe anche l'indirizzo del compagno di stanza originale.
Ma in generale, considerare come i dati sono legati ad altri dati. Se più cose possono riguardare ad esso, assicurarsi che un cambiamento per uno dovrebbe avere un impatto su tutti.
Un buon punto, dipende comunque dallo scenario. – mpen
- 1. Come memorizzare dati multilingue?
- 2. Come memorizzare i dati storici
- 3. php non è uguale a non è uguale, uguale a
- 4. Come memorizzare dati specifici dell'utente in SharePoint
- 5. Come memorizzare un'immagine nei dati di base
- 6. Java è uguale a una classe. == uguale a .equals
- 7. uguale a restituire false
- 8. MongoDB non uguale a
- 9. Uguale a (=) rispetto a LIKE
- 10. Java: intero uguale a ==
- 11. meno o uguale a
- 12. Come posso sovraccaricare l'operatore + = "più uguale a"?
- 13. Come scrivere operatore non uguale in linq a sql?
- 14. come fare meno o uguale a e maggiore di uguale a nel filtro Django?
- 15. Oggetti JAXB - codice hash e uguale a
- 16. come memorizzare NSDictionary come proprietà trasformabili nei dati di base
- 17. Eloquent - dove non uguale a
- 18. Struttura dati per memorizzare enormi quantità di dati?
- 19. Memorizzare i dati nell'archivio dati App Engine da un'app Android
- 20. Rails: memorizzare le traduzioni nella banca dati
- 21. Cosa fa uguale a ngRepeat?
- 22. == rispetto è uguale a C#
- 23. Regex non uguale a stringa
- 24. Corba è uguale a SOA?
- 25. Dp è uguale a dip?
- 26. È GMT uguale a UTC?
- 27. Confronto Deep Reflective uguale a
- 28. Java è uguale a() ordinare
- 29. Come memorizzare i dati openstreetmap localmente su un iphone
- 30. come memorizzare i dati nel database in HTML5
Giusto ... la soluzione ovvia. Penso che mi stia confondendo i problemi quando ho pensato a questo (c'è anche un "save as default" ...) – mpen