I've got a question about a best practice for storing historical / reference data in a database.
I'm creating an e-commerce system (online catalog, shopping cart, etc.) with a way of creating arbitrary groupings of products ("Gifts for Mother's Day", etc.) and selecting particular products as "featured".
In both cases, these items will be listed differently: promotional text, a catchy title, a larger or different picture. So I'll have entries in a "promotional_group" table and a "featured_product" table to store the additional text and picture references.
These items will also be temporary; probably not stay around longer than a month, in the case of promotional groups.
I want to keep track of user clicks on these promotional items and relate them specifically to sales. I could statically store the most important fragments of data and delete the temporary promotional group. Or, I could set a display status on the promotional group (setting it to "Inactive" when I'm done with it) and reference the promotional group id with the order, keeping -all- data.
Which option is the "best" way of doing it?





These are the sorts of questions that dont' seem to be explicitly answered anywhere else. By the way, congrats on Member of the Month.
)
I have a degree in MIS and have been creating web systems for a few years, but I'm always trying to find a better / more correct solution.
Bookmarks