As many are aware (at least those from TTP) I am working on building an inventory/POS system. Andrew Pr@ encouraged me to use Visual Basic, as opposed to Access with VBA.
I wanted to appeal for help and see if my table setup looks good. I'd like to have the tables sort of lined up before I start programming, otherwise it would seem to be a bit of a headache if I change anything. Hopefully you database experts don't mind the time to read through this post...and hopefully I can make it clear.
The main goal of the program is an intuitive interface that prevents data corruption. To do that, I am going to try and have as much of the data already entered as possible. To achieve this, my idea for structure is as follows:
1) A 'Product Catalog' which stores information about (theoretically) every product our store could carry. This is NOT the inventory, but just a catalog of what is available. It is here that pricing information would be entered directly.
2) When an item arrives into our Inventory, the information is essentially copied from the Catalog into the Inventory.
I came up with this idea for a two-tiered system because I thought it would aid in preventing data corruption. Also, it would make things easier. It would also appear to help with pricing issues. For example, say we have a quantity of 3 items of product 'X' that were a certain price. Then the price was raised. If we add that item again to the inventory, the new items will be at the new price, but the old items will be at the old price. So, at the price change we would simply have to edit the price in the Catalog and any new items added to inventory would reflect that change. Since information is just 'copied' from the Catalog, it makes adding Inventory more efficient.
So here is a rough outline of the tables to make all this work:
Categories (primary key and CategoryName)
Brands (primary key and BrandName)
CategoriesBrandsJUnction (the relationship between Categories and Brands is many-to-many, hence this table)
Products (this has to tie in to Brands)
Finish (this ties into Products)
These are all seperate tables. The reason for this is that intuitive interface I want. I want to eliminate as much data entry as possible. So, when adding an item (to catalog or inventory) a form would pop up. The first choice the user would make (from a combo box) would be the category. Based on the Category chosen, the next combo box (Brand) would filter accordingly, then the Products combo box, and so on and so forth.
There will be some data entry, and that will be added to the main Catalog table, which of course will use the primary keys from the tables I've already mentioned (KevinPs database normalization I think) and then of course any unqiue data to the table.
Well, I think that is all for now. Kinda nervous, as once I get this going its really time to get down to the gritty-nitty. Any help or advice would be most appreciated. Am I heading in the right direction? Cheers folks!
/Jeff
I wanted to appeal for help and see if my table setup looks good. I'd like to have the tables sort of lined up before I start programming, otherwise it would seem to be a bit of a headache if I change anything. Hopefully you database experts don't mind the time to read through this post...and hopefully I can make it clear.
The main goal of the program is an intuitive interface that prevents data corruption. To do that, I am going to try and have as much of the data already entered as possible. To achieve this, my idea for structure is as follows:
1) A 'Product Catalog' which stores information about (theoretically) every product our store could carry. This is NOT the inventory, but just a catalog of what is available. It is here that pricing information would be entered directly.
2) When an item arrives into our Inventory, the information is essentially copied from the Catalog into the Inventory.
I came up with this idea for a two-tiered system because I thought it would aid in preventing data corruption. Also, it would make things easier. It would also appear to help with pricing issues. For example, say we have a quantity of 3 items of product 'X' that were a certain price. Then the price was raised. If we add that item again to the inventory, the new items will be at the new price, but the old items will be at the old price. So, at the price change we would simply have to edit the price in the Catalog and any new items added to inventory would reflect that change. Since information is just 'copied' from the Catalog, it makes adding Inventory more efficient.
So here is a rough outline of the tables to make all this work:
Categories (primary key and CategoryName)
Brands (primary key and BrandName)
CategoriesBrandsJUnction (the relationship between Categories and Brands is many-to-many, hence this table)
Products (this has to tie in to Brands)
Finish (this ties into Products)
These are all seperate tables. The reason for this is that intuitive interface I want. I want to eliminate as much data entry as possible. So, when adding an item (to catalog or inventory) a form would pop up. The first choice the user would make (from a combo box) would be the category. Based on the Category chosen, the next combo box (Brand) would filter accordingly, then the Products combo box, and so on and so forth.
There will be some data entry, and that will be added to the main Catalog table, which of course will use the primary keys from the tables I've already mentioned (KevinPs database normalization I think) and then of course any unqiue data to the table.
Well, I think that is all for now. Kinda nervous, as once I get this going its really time to get down to the gritty-nitty. Any help or advice would be most appreciated. Am I heading in the right direction? Cheers folks!
/Jeff
Comment