树状结构怎么统一建表?

来源:百度知道 编辑:UC知道 时间:2024/06/11 17:14:43
我想在建表的时候统一建一张表,然后就可以实现页面统一。
现在情况是这样,有两个分类,但一个分两级,一个是三级,怎么也才能统一建表呢?
例如:“白炽灯”分三类(25/60/100W),灯管分三类(25/60/100W),但灯管下面的没个功率下面又有分类(红色、白色、紫色、红色)并且每个功率下的颜色并不一样,该怎么建表?灯还都有共同的属性:价格,图片灯

只建一个表即可:
类似地MRP中的BOM表。
使用这样的结构:
CREATE TABLE(父属性 varchar(30),子属性 varchar(30),备注 varchar(100))
使用这样的结构,可以完成任意的树型结构。而且有许多前台开发程序,者支持这种结构直接显示在树形结构的组件上。

====还是举个例子吧:

父属性=子属性=备注
产品==白炽灯=
产品==灯管==
白炽灯=功率1==
白炽灯=颜色1==
灯管==功率2==
灯管==颜色2==
功率1==25W
功率1==60W
功率1==1000W
颜色1==红1
颜色1==黄1
颜色1==白1
颜色1==紫1
颜色2==红2
颜色2==黄2
颜色2==白2
颜色2==紫2
每一属性可以添加说明,父属性和子属性作为复合主键.

一个主表一个从表就好了 ,上面和在一起也可以,不过要在程序中分开,看你了

主表lighthdr

light_id
light_cat 白炽灯/灯管
light_price 价格
light_pic 图片

从表lightdtl

light_id
light_det_id
light_watt 25/60/100W
light_color 红色/黄色/白色/紫色

其他的可以做一些 reference 表,不过要考虑你以后会不会增加值,如果不需要,也就不用建了,因为会使开发的sql稍微复杂一点。好处也不太大

比如

light_color_ref 表
color_id
color_name 红色/黄色/白色/紫色

如果是采用主子表的话建议楼主可以这样建表:

主表:
序列号,灯