2011-03-16 72 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

相關問題