公司经营两个品牌的产品,现在要进行区域管理
如下:
  把全球进行区域划分:如分成A、B、C、D、E五个区域
  那么这五个区域里都有经营公司两个品牌的产品。现在公司决定品牌1的区域分配如下:
  品牌1
  表1(区域名称           区域负责人)
      A-------------------------------负责人张三
       -A1----------------------------负责人李四
       -A2
       -A3
      B
       -B1
       -B2
   另有一张表2(区域范围分配)如下:
   区域   负责范围  标识
   A         中国   0
   A1        中国北京  1
     对于标识,0代表国家,1代表省份,2代表城市
      
     以上是区域分配与区域负责人的结构图。那么对于A区域比如分配的范围是中国。那么张三就全权
负责中国的销售。对于负责人李四,其所负责的区域是A1,而A1是区域A的子区域,所以李四负责的范围只能是在负责人张三的负责范围之内!    这种数据库应该如何设计,还有就是程序要进行怎样的设计呢?

解决方案 »

  1.   

    bom表一般设计为
    create table tb(父项 varchar(10),子项 varchar(10))
    insert tb select 'a001','A1'
    union all select 'a001','D1'
    union all select 'a001','E1'
    union all select 'A1'  ,'B1'
    union all select 'A1'  ,'C1'
    union all select 'E1'  ,'C1'
    union all select 'E1'  ,'D1'
    union all select 'E1'  ,'F1'
    go
      

  2.   

    bom的数据库我知道设计,我的想法是两个品牌就有两个区域管理结构,那么如果有多个品牌就应该有多个区域管理结构,这样应该如何设计呢?也就是:
     (1)区域与负责人、品牌的关系:
      一个区域可由多个人负责,但每个人只能负责一个品牌。
      一个负责人可负责多个区域,但所负责的区域之间不能存在父子关系。
      (2)区域与分配的地区范围是一对多的关系
      区域之内:一个区域可以分配多个地区,对于其子区域的分配范围只能是在父区域所分配的区域范围之内。
      区域之间:分配范围不能发生重复(如对于区域A,分配的地区是北京和上海,那么对于区域B
    ,就不能把北京和上海分配到B中)