表A
产品表
A
B
C
D
表B
生产单位表
AA
BB
CC
DD
单位产品表C
单位   产品
AA     A
AA     B
AA     C
BB     A
BB     B
...
目前的情况是
有的产品如:A,B,C是任何一个厂家都可以生产的(AA,BB,CC,DD可以,以后新添加的EE,FF...也都可以)
而有的产品如:D,E,F是指定某些厂家专门生产的
如果按我这种设计办法
每增加一个厂家,就要增加N条记录(N为所有通用品种总和)
每增加一个通用品种,就要增加M条记录(M为所有厂家总和)
在N,M值很大的时候,性能就很差了
请问我到底应该怎么设计呢???

解决方案 »

  1.   

    能不能这样:
    表A
    产品表
    A
    B
    C
    D
    表B
    生产单位表
    AA
    BB
    CC
    DD
    单位产品表C
    单位   产品
    AA     A,B,C
    BB     A,B
    如果这样设计表结构,每增加一个厂家只增加一条记录,增加一个通用品种,不增加任何记录,只是修改相关的记录。
      

  2.   

    可以對廠家 進行抽象一下就是類似於模板了廠家  ->  廠家模板  ->  對應的系列通用產品(A,B,C)
                          -> 對應的特殊產品(X,Y,Z)or廠家 -> 對應的特殊產品(X,Y,Z) // 一般的都不用記了。商品 -> 是特殊的?
    -> 是: 更新相關
    -> 否: 不需要。。
      

  3.   

    可以考虑把单位产品表拆为三个表 
    C1 (类型表, 呵呵,我也不晓得怎么取名字好) 
    ( 编号, 类型, 单位)
       001, 通用,---通用的就不要单位了
       002, 特定, AA
       003, 特定, BB
    )C2 ( 单位表)
    (编号, 单位)
    001, AA
    001, BB
    002, AA
    003, BBC3 (产品表)
    (编号, 产品)
    001, A
    001, B
    001, C
    001, D
    002, A
    002, A
    003, B
    003, B这样,在增加 通用产品,或者单位的时候, 只需要在  C2, 和  C3 中增加一条记录就可以了, 最后用视图把这些关联起来,就行了
      

  4.   

    谢谢各位
     beyondtkl(大龙驹<干掉小日本>) 
    能说的详细一点吗??
    不太看的明白
    谢谢
      

  5.   

    我现在有个办法
    分两个产品表
    一个是通用产品表TYB
    一个是特殊产品表TSB
    一个是单位产品表DWCPB
    TYB
    1 A
    2 B
    3 CTSB
    1 D
    2 E
    3 FDWCPB
    AA  D
    BB  E
    CC  F特殊产品直接在DWCPB中查找
    通用产品可以用DWB×TYB做第卡尔集来查找
    各位意下如何?