I want to create a small database for my inventory but I have some problems on picking a structure. The inventory will be updated daily at the end of the day.
The problem I am facing is the following.
I have a table for my products, having an
id, name, price, quantity.
Now I have another table for my sales, but there is my problem. What kind of fields do I need to have. At the end of the day I want to store a record like this:
20 product_x $ 5,00 $ 100,-
20 product_y $ 5,00 $ 100,-
20 product_z $ 5,00 $ 100,-
20 product_a $ 5,00 $ 100,-
-------------------------------------------------
$ 400,-
So how do I model this in a sales record. Do I just create a concatenated record with the product id’s comma separated.
Or is there another way do model this the right way.
I’d have a table with a row per item per day – store the date, the item ID, the quantity sold, and the price sold at (store this even though it’s also in the product table – if that changes, you want the value you actually sold at preserved). You can compute totals per item-day and totals per day in queries.
Tables:
Reporting on a day:
Reporting on all days:
A nice master report over all days, with a summary line: