Shopping Cart Database Structure

Paul Atkins picture Paul Atkins · Dec 30, 2010 · Viewed 14.9k times · Source

I have been studying the database structure for shopping carts and notice that when storing order details the product information is repeated and stored again in the table. I was wondering what the reasoning behind this would be? Here is a small example of what i mean:

Product Table

product_id     name               desc         price
1            product 1    This is product 1    27.00

Order Table

order_id   customer id     order_total
1             3               34.99

Order Details Table

order_details_id    product_id       product name      price    qty
       1                1              product 1        27.00     1

So as you can see the product name and price are stored again in the order details table. Why is this? The only reason i can think of is because the product details may change after the order has been placed which may cause confusion. Is this correct?

Thanks

Paul

Answer

Pranay Rana picture Pranay Rana · Dec 30, 2010

yes this is the only reason

your product price get change frequently

so you can create one more table and store detail of product as shown below

Product update table

id product_id     name               desc         price
1     1            product 1    This is product 1    27.00

and order table will be

order_details_id    product_Update_id  qty
       1                1               1