问你个关于数据库设计的问题:
1、销售商可以发布广告,广告类型可以分为: 打折、促销、热卖、新品上架。
2、消费者可以针对广告类型分别订阅,可以订阅一种或者多种。
3、只要销售商发布了消费者所订阅的广告类型,消费者在他的管理板块就可以看到该广告。
数据库表该怎么设计,假设广告量和用户数都很大,求一个最优的设计方案。

解决方案 »

  1.   

    广告类型表:(类型码,类型名称)
    杂志信息表:(杂志ID,杂志名称,刊期,主编人,单价....)
    用户信息表:(用户ID,用户名称......)
    订阅表:(用户ID,[用户名称],杂志ID,[杂志名称],类型码,[类型名称],订阅数量,单价,金额.....)订阅表:中括号字段表示通过ID连接过来的,不列入数据库设计的字段,查询时显示中括号字段内容,不显示ID
      

  2.   

    貌似没明白我的意思...广告表要跟广告类型表匹配的,就是说一条广告信息只能针对一种广告类型
    杂志信息表:(杂志ID,杂志名称,刊期,主编人,单价....)你这里至少还要加个【广告类型id】的字段
     .......................
    继续求解......
      

  3.   

    一般的怎么设计?
    消费者表:消费者id,名称
    销售商:销售商id,名称
    广告类型表:类型id,名称
    广告表:广告id,内容,销售商id,广告类型id
    消费者订阅表:消费者id,广告类型id  (一对多)
    广告发送对象表:广告id,消费者id  (多对多)
    如果消费者表和广告表数据量很大的时候,广告发送对象表数据量是不是会非常大,查询效率太慢
      

  4.   

    以下两个为基本表:
    销售商:销售商id,名称 
    广告类型表:类型id,名称 以下两个为父子表关系:
    消费者表:消费者id,名称 --->(主键:消费者id)
    消费者订阅表:消费者id,订阅序号,广告类型id   --->(主键:消费者id,订阅序号) 订阅序号每订一次自动递增ID以下两个也是父子表关系:
    广告表:广告id,内容,销售商id,广告类型id  -->(主键:广告id)
    广告发送对象表:广告id,广告序号,消费者id   -->(主键:广告id,广告序号) 广告序号也是自动递增
      

  5.   

    1、销售商可以发布广告,广告类型可以分为: 打折、促销、热卖、新品上架。 
    2、消费者可以针对广告类型分别订阅,可以订阅一种或者多种。 
    3、只要销售商发布了消费者所订阅的广告类型,消费者在他的管理板块就可以看到该广告。 
    数据库表该怎么设计,假设广告量和用户数都很大,求一个最优的设计方案。1,销售商表(字典表)
    2,广告类型表(字典表)
    3,广告表(字典+关系表,含销售商ID,广告类型ID,广告标题和内容是字典数据)
    4,消费者表(字典表)
    5,消费者-广告类型关系表(关系表,含广告类型ID)