2010-10-13 7 views
6

J'ai un modèle avec 3 adresses: ramassage, dépôt et facturation. Je suppose que l'adresse de facturation sera habituellement l'adresse de ramassage ou de dépôt, donc, du point de vue de l'assurance-chômage, je devrais avoir l'option «même chose». Mais du point de vue de la base de données, devrais-je enregistrer le champ "identique à" ou dois-je dupliquer les données?Comment stocker les données "identiques à"?

Répondre

4

Vous devez avoir le même ID d'une ligne d'une table d'adresses dans deux colonnes différentes, PickUp et DropOff. De cette façon, vous ne dupliquez pas l'adresse, n'utilisez pas d'adresse sentinelle et vous pouvez facilement demander si l'adresse PickUp est identique à DropOff. Si l'un de ces changements change dans le futur, vous pouvez toujours modifier la valeur Id stockée dans sa colonne respective à une nouvelle adresse.

+0

À droite ... la solution évidente. Je pense que j'avais des problèmes de confusion dans ma tête quand j'ai pensé à ça (il y a aussi un "save as default") – mpen

2

Vous pouvez créer une table appelée "Adresse" et créer des clés de ramassage, de dépôt et de facturation pour cette table d'adresses.

2

Ce n'est pas parce qu'une adresse a la même adresse physique que c'est la même adresse conceptuelle. Vraiment, l'adresse de John Doe peut être "123 Elm St.", mais son adresse est conceptuellement "l'adresse postale de John Doe".

En particulier, pour adresses Je dirais peut et devrait être dupliqués dans une base de données en raison de ce simple cas: considérer deux personnes qui vivent à la même adresse. Maintenant, l'un d'eux se déplace. Si vous n'avez enregistré qu'une seule fois l'adresse, la mise à jour de l'adresse du «déménageur» mettrait également à jour l'adresse de l'expéditeur d'origine.

Mais en général, considérez comment les données sont liées à d'autres données. Si plusieurs choses peuvent se rapporter à cela, assurez-vous qu'un changement pour un devrait les affecter tous.

+0

Bon point, ça dépend du scénario. – mpen

1

alt text

+0

Haha ... mignon! Vous n'avez pas besoin de me dessiner un diagramme, mais merci :) – mpen

Questions connexes