Hello, I would like to first apologize for what could be a long winded post. I would also like to say what a cool site this is and I can't believe I just found it!
Ok so heres the rundown. I just recentley started a job at a furniture design company. They have been around for about 18 years and have never had a solid catalog or any sort of information process.(!!!) No database, no records of past or present products, just random excel sheets, some with pictures some without and all products just named on a whim. The guys in the back doing the building have the info in their heads, they get work orders and know what to do. They write stuff down on wood. lol So to say this is an interesting and challenging project is an understatement. This is my first "real world" database job. I feel confident in my skills and knowledge to take it on and Im enjoying it. Oh I should also say they sell only to companies and usually large quantities for a length of time, not a lot of quick product changes.
Now onto my question. I will use for example their TV stands. To bring them into the manufacturing side of the database I have the following design:
TVS_ID(PK)| Wood_ID(FK) | Finish_ID(FK) | Height | Width | Depth | Door_ID(FK) | Door_Quantity | Shelf_ID(FK) | Shelf_Quantity | Drawer_ID(FK) | Shelf_Quantity | Handle_ID(FK) | Handle_Quantity | TopMoulding_ID(FK) | BotMoutlding_ID(FK) | FaceMoulding_ID | FaceMoulding_Quantity |
Ok now I do realise that there are dependincies that are not just the primary key. I know that there are several of them. And I know that this goes against everything I've been taught about databases and normalization. This is the but. All of those things thrown together create one product, say TVS335. Now anytime someone wants to order that they can. But if another company wants to order the same thing but with glass doors and different handles it would cause an anomoly. The thing is, any time a company wants something differnt, which does not happen that often, MY company wants to save that new design as a product, say TVS350.
Can I leave my TV Stand table as is and get away with the anomoly because anytime it is changed they want to keep it? Can I just copy all the information from TVS335 and create a new record as TVS350 then edit the parts? Or am I doomed to a disaster down the road? This would then force me to have a TV Stand Table for each type, with doors (TVSTAND_DOORS), with no doors (TVSTAND_NDOORS), with shelves (TVSTAND_SHELVES) etc etc... And my problem with having it all combined from their tables in an order table, is that they want to save the new design... is this possible by drawing all the info through the
It may just be information overload on my part right now because I am sifting through hundreds of products that I am not yet familiar with, paired with the fact that no one here understands why I need to know the things I ask about lol. That may be causing me to overlook the obvious. Maybe. But can someone PLEASE show me the error of my ways and shed some light onto this for me?
Any help is really appreciated, and I apologize again for the length. Thank you!
Ok so heres the rundown. I just recentley started a job at a furniture design company. They have been around for about 18 years and have never had a solid catalog or any sort of information process.(!!!) No database, no records of past or present products, just random excel sheets, some with pictures some without and all products just named on a whim. The guys in the back doing the building have the info in their heads, they get work orders and know what to do. They write stuff down on wood. lol So to say this is an interesting and challenging project is an understatement. This is my first "real world" database job. I feel confident in my skills and knowledge to take it on and Im enjoying it. Oh I should also say they sell only to companies and usually large quantities for a length of time, not a lot of quick product changes.
Now onto my question. I will use for example their TV stands. To bring them into the manufacturing side of the database I have the following design:
TVS_ID(PK)| Wood_ID(FK) | Finish_ID(FK) | Height | Width | Depth | Door_ID(FK) | Door_Quantity | Shelf_ID(FK) | Shelf_Quantity | Drawer_ID(FK) | Shelf_Quantity | Handle_ID(FK) | Handle_Quantity | TopMoulding_ID(FK) | BotMoutlding_ID(FK) | FaceMoulding_ID | FaceMoulding_Quantity |
Ok now I do realise that there are dependincies that are not just the primary key. I know that there are several of them. And I know that this goes against everything I've been taught about databases and normalization. This is the but. All of those things thrown together create one product, say TVS335. Now anytime someone wants to order that they can. But if another company wants to order the same thing but with glass doors and different handles it would cause an anomoly. The thing is, any time a company wants something differnt, which does not happen that often, MY company wants to save that new design as a product, say TVS350.
Can I leave my TV Stand table as is and get away with the anomoly because anytime it is changed they want to keep it? Can I just copy all the information from TVS335 and create a new record as TVS350 then edit the parts? Or am I doomed to a disaster down the road? This would then force me to have a TV Stand Table for each type, with doors (TVSTAND_DOORS), with no doors (TVSTAND_NDOORS), with shelves (TVSTAND_SHELVES) etc etc... And my problem with having it all combined from their tables in an order table, is that they want to save the new design... is this possible by drawing all the info through the
It may just be information overload on my part right now because I am sifting through hundreds of products that I am not yet familiar with, paired with the fact that no one here understands why I need to know the things I ask about lol. That may be causing me to overlook the obvious. Maybe. But can someone PLEASE show me the error of my ways and shed some light onto this for me?
Any help is really appreciated, and I apologize again for the length. Thank you!