零件 组成 部件 组成 组件 组成 产品,希望把这四种不同阶段的东西都保存在数据库中。怎么设计?

解决方案 »

  1.   

    Bom 啊!ID     --零件ID
    p_ID   --组成部件ID(父ID)
    Name-------这样递归下去!!
      

  2.   

    EG:
    产品 A1
    组件 A01,A02,A03组件 A01
    部件 A011,A012
    部件 A011
    零件 A0111,A0112
    create table Tbl_Bom
    (
       id int 
       p_id int
       Name varchar(10)
    )insert Tbl_Bom select 1,0,'A1'
    insert Tbl_Bom select 2,1,'A01'
    insert Tbl_Bom select 3,1,'A02'
    insert Tbl_Bom select 4,1,'A03'
    insert Tbl_Bom select 5,2,'A011'
    insert Tbl_Bom select 6,2,'A012'
    insert Tbl_Bom select 7,5,'A0111'
    insert Tbl_Bom select 8,5,'A0112'
      

  3.   

    首先,建四个数据字典,每个表记录一个阶段的东东,比如表1:两个字段,代码和名称,记录产品的信息,表2:同表1,记录组件的信息,表3,表4结构同样的,一个记录部件,一个记录零件然后,建一个主表,三个字段:parent ,children ,parts
    比如1号产品由01、02、03、04四个组件构成,那么数据如下:
    parent    children    parts
       1         01         4
       1         02         4
       1         03         4
       1         04         4
    其他三个阶段依此类推