关于一个数据库表的设计,求高手指路!

jiangabcwei 2008-12-16 10:07:24
问你个关于数据库设计的问题:
1、销售商可以发布广告,广告类型可以分为: 打折、促销、热卖、新品上架。
2、消费者可以针对广告类型分别订阅,可以订阅一种或者多种。
3、只要销售商发布了消费者所订阅的广告类型,消费者在他的管理板块就可以看到该广告。
数据库表该怎么设计,假设广告量和用户数都很大,求一个最优的设计方案。
...全文
130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2009-03-05
  • 打赏
  • 举报
回复
数据库里只有2种表:
1,字典表(有一个ID主键)
2,关系表(有2个以上外键)

这样你思路就清晰了。
广告表具备两种性质,根据功能,查用户订阅按照关系表来看待,查广告按照字典表看待。
超级大笨狼 2009-03-05
  • 打赏
  • 举报
回复
1、销售商可以发布广告,广告类型可以分为: 打折、促销、热卖、新品上架。
2、消费者可以针对广告类型分别订阅,可以订阅一种或者多种。
3、只要销售商发布了消费者所订阅的广告类型,消费者在他的管理板块就可以看到该广告。
数据库表该怎么设计,假设广告量和用户数都很大,求一个最优的设计方案。

1,销售商表(字典表)
2,广告类型表(字典表)
3,广告表(字典+关系表,含销售商ID,广告类型ID,广告标题和内容是字典数据)
4,消费者表(字典表)
5,消费者-广告类型关系表(关系表,含广告类型ID)



Andy__Huang 2008-12-16
  • 打赏
  • 举报
回复
以下两个为基本表:
销售商:销售商id,名称
广告类型表:类型id,名称

以下两个为父子表关系:
消费者表:消费者id,名称 --->(主键:消费者id)
消费者订阅表:消费者id,订阅序号,广告类型id --->(主键:消费者id,订阅序号) 订阅序号每订一次自动递增ID

以下两个也是父子表关系:
广告表:广告id,内容,销售商id,广告类型id -->(主键:广告id)
广告发送对象表:广告id,广告序号,消费者id -->(主键:广告id,广告序号) 广告序号也是自动递增

jiangabcwei 2008-12-16
  • 打赏
  • 举报
回复
自己顶下
jiangabcwei 2008-12-16
  • 打赏
  • 举报
回复
都不是,网站上销售商发给消费者的广告。
销售商发送广告先指定广告类型,比如:打折、促销、热卖等
然后发到我们平台,平台经过审核后发布,可以让消费者接收。
消费者可以定制接收的广告的类型,只要销售商发布了消费者所定制的广告,消费者就可以接收到
比如:一个销售商发了一个打折的广告消息,一个消费者定制了打折促销的广告类型,那么这个消费者就能接收到这条消息,显示在消费者的管理板块
Andy__Huang 2008-12-16
  • 打赏
  • 举报
回复
杂志上的广告还是街头广告?
jiangabcwei 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
就按照一般的关系数据库设计表单就可以了,即便是打数据量在有索引的情况下也没有问题。
[/Quote]
一般的怎么设计?
消费者表:消费者id,名称
销售商:销售商id,名称
广告类型表:类型id,名称
广告表:广告id,内容,销售商id,广告类型id
消费者订阅表:消费者id,广告类型id (一对多)
广告发送对象表:广告id,消费者id (多对多)
如果消费者表和广告表数据量很大的时候,广告发送对象表数据量是不是会非常大,查询效率太慢
jiangabcwei 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hdhai9451 的回复:]
广告类型表:(类型码,类型名称)
杂志信息表:(杂志ID,杂志名称,刊期,主编人,单价....)
用户信息表:(用户ID,用户名称......)
订阅表:(用户ID,[用户名称],杂志ID,[杂志名称],类型码,[类型名称],订阅数量,单价,金额.....)

订阅表:中括号字段表示通过ID连接过来的,不列入数据库设计的字段,查询时显示中括号字段内容,不显示ID

[/Quote]
貌似没明白我的意思...广告表要跟广告类型表匹配的,就是说一条广告信息只能针对一种广告类型
杂志信息表:(杂志ID,杂志名称,刊期,主编人,单价....)你这里至少还要加个【广告类型id】的字段
.......................
继续求解......
Andy__Huang 2008-12-16
  • 打赏
  • 举报
回复
广告类型表:(类型码,类型名称)
杂志信息表:(杂志ID,杂志名称,刊期,主编人,单价....)
用户信息表:(用户ID,用户名称......)
订阅表:(用户ID,[用户名称],杂志ID,[杂志名称],类型码,[类型名称],订阅数量,单价,金额.....)

订阅表:中括号字段表示通过ID连接过来的,不列入数据库设计的字段,查询时显示中括号字段内容,不显示ID
jinjazz 2008-12-16
  • 打赏
  • 举报
回复
就按照一般的关系数据库设计表单就可以了,即便是打数据量在有索引的情况下也没有问题。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧