Database Design for a Configurable product with standard/customized configurations and Individually sold components
I have a problem designing database for a configurable product. My application requirement is to create a configurable product from components which can also be sold separately
The products which can be sold alone have common attributes like size and color which can be combined while selling single
Also there is a Standard configuration and customized configuration which needs to be saved in database
Eg:- Bed being a configured product, it consist of Base, Middle-Mattress, Top-Mattress, Legs, Headboard... All of this components except Base can be sold individually There common attributes are size and color while Middle-Mattres开发者_JS百科s has got a additional attribute as Firmness
The design that i came up with till now is ....
Component_Master comp_id comp_name comp_desc comp_type sold_aloneComponent_Attribute_Header
attrib_id comp_id attrib_nameComponent_Attribute_Details
attrib_id attrib_details_id valueNow I am stuck at designing tables for standard configuration and customized configuration
Can anyone please help me with this design
Thanks in advance,
Siddhesh TawdeYou may do this:
A product should have one or more parts. Each part should have one or more attributes. An assembly is a relation between parts and a product, once one part should be in different products, and one product should have one or more prarts. Customize the fields according to your specifications.
tbl_product
-----------
prd_id:long PK
prd_name:string
prd_date:datetime
tbl_parts
---------------
comp_id:long PK
comp_name:string
comp_description:string
comp_type:long
comp_sold_alone:boolean
comp_can_assembly:boolean
tbl_assemblies
--------------
ass_id:long PK
ass_description:string
ass_date:datetime
ass_product:long FK (tbl_products)
ass_part_id:long FK (tbl_parts)
tbl_attributes
--------------
atrb_id:long PK
atrb_description:string
atrb_part:long FK (tbl_parts)
精彩评论