[数据库表的设计]请教下多个表间是多对多关系该如何设计

2020-03-16 01:20:30 +08:00
 jgpliskin
我的工地是广告代理公司,广告公司赚钱就是靠(从下游媒体这拿到的折扣>给上游客户的折扣)赚差价。
我现在想要设计个数据库满足自己统计业务的需要:

大致业务关系是这样的:
内部:
1) 一个客户 ID 会有一个销售(员工)ID 去跟进,但是会有转户的情况,就是说 19 年 A 君跟进的客户 20 年会由 B 君跟进。
2) 一个客户会通过多个供应商在多个媒体上开账号投放,同时一个媒体也会有多个账户在上面投放
3) 客户侧:媒体不同,行业不同,给予客户的折扣也不同
4) 媒体侧:和客户侧一样,客户不同,行业不同,给予的折扣也不同
5) 需要统计每天每个投放账户的日消耗


想问下:
A. 1)的情况是不是也算多对多关系?除了建映射表有别的设计方法不?
B. 我现在主要的问题是不知道该把给客户的折扣和给媒体的折扣放在哪个表,是分别单独建一张客户折扣表和媒体折扣表还是说直接记录在日投放数据这张表里?
C. 如果是把折扣单独分开建表的话,像这种 分客户分行业分媒体的政策该怎么画关系图?

这里我画了给上游客户的折扣,但是从下游媒体这拿到的折扣政策我不知道该怎么画了。
或者说是应该把客户侧的折扣和媒体侧的折扣都记录在映射表里?


D. 由于从媒体侧拿到的折扣政策会随时间改变,所以需要记录历史折扣,我的想法是录入数据的时候匹配当时的政策写死,不知道有没有什么更好的方法?
E. 由于需要统计历史投放数据,所以像这种日消耗数据,大家一般是怎么记录的呢?是当成一条订单记录还是用时间和账户做联合主键记录呢?


请各位不吝赐教。
2388 次点击
所在节点    MySQL
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX