I have a question regarding my db design.
Right now, i have an Address Table and a Orders Table. Each Order record has a billingAddressId and a shippingAddressId which points to a record in the Address table. And they wont point to the same record even if the address is the same. I also have a customers table which each customer can have multiple addresses through a intermediate table (CustomerAddress).
However, when a customers uses one of their addresses to place an order, a new address record is inserted with a copy of the data that way if a customer updates an address associated with their account, it doesnt affect the order. That way if i bring up an order a year down the road, it still had the address the order was actually shipped to and not the newly updated address.
Should be using the Address table with the Order Table, or should have put the address fields right into the order table?
ie. Order.BillingAddress1, Order.BillingCity, Order.ShippingCity, etc...
Thanks