2011-03-16 74 views
0

我正在构建一个类似于facebook上的广告投放系统..基本上,我的客户可以创建广告并将其定位到特定成员,这取决于我们将不断从他们那里收集的位置和生物数据。db设计的广告投放

它被设计成这样的时刻..

member 
----- 
id 
fname 
lname 
country_id 
state_id 
region_id 
postcode_id 
etc.. 

我知道我只需要postcodeid和邮政编码表中查找它..但我对每一个国家大约50邮编桌一个..只是对我来说更容易..

member_profile 
----- 
id 
mem_id 
bio_q (id linked to varchar .. eg. 'profession') 
bio_a 

advert 
------- 
id 
client_id 
ad_title 
ad_line 
start_date 
end_date 
status 
etc.. 

advert_target 
----- 
id 
advert_id 
fk_id 
type 

例如,数据上面..

1, 1, 1, 'state' 
2, 1, 2, 'state' 
3, 1, 5, 'profession' 

一个方式,我虽然这样做的是通过做联合声明的一大堆......不知道这是否是最effecient方式..与方向的任何帮助将不胜感激..

感谢

一个

+0

你能澄清你的问题到底是什么吗? – Blorgbeard 2011-03-16 11:50:54

+0

只是要求在这种类型的系统的数据库设计的帮助 – Alessandro 2011-03-16 11:51:45

回答

1

通常,这种应用程序引入了“细分”的概念,将用户分配到细分受众群,并将广告定位到细分受众群。

因此,您可以为“住在欧洲”,“住在意大利”,“住在罗马”,“住在5公里的邮政编码x”,“至少18岁的人” “,

然后,您可能会将广告定位到”住在意大利“,”至少18岁“,”已访问过该网站至少3次“的广告。我们的示例用户在3条标准中得分为2,因此只有在noboy更符合条件时才会显示广告。

您希望在常规数据库作业中预先填充细分;即时执行此操作会使您的系统处于中等程度的流量状态。

+0

谢谢内维尔.. 我会看看段 – Alessandro 2011-03-16 12:10:09

+0

问题..这是你怎么认为Facebook做它的系统?我开始认为我可能不得不限制我的客户说出5个生物问题。将我的广告桌变成一个关键点...会更好吗? – Alessandro 2011-03-16 12:48:54

+0

不知道FB如何做他们的东西 - 但你可能。不想复制他们所做的事情,因为他们有可能永远不会面对的问题。看看这个开源的广告服务器 - http://sourceforge.net/projects/phpadsnew/,并在他们的数据库模式中寻找灵感... – 2011-03-16 12:58:26

相关问题