我設計有關的寵物分類廣告網站,將有廣告的3(主)類:層次模型
A- Sale
B- Breeding
C- Jobs
我現在面臨的問題是,所有3個廣告類別,有一些共同的東西,但他們也有一些差異。
例如,類別A,B和C都具有以下共同點:
category_id
ad_id
user_id
location
然而,B類廣告不能被歸類爲 「尋找/出售」,而乙& C能。此外,每個類別都有其自己的子類別。例如,類別A將具有采用子類別,並且類別C的銷售子類別將具有作業子類別和服務子類別。
他們也會有一些不常見的屬性,例如類別C中的薪水。
我已經開始做這個工作,作爲一個實體的屬性值的模式,但我有幾個擔心:
難道這會影響性能?因爲用戶應該能夠根據一些獨特的屬性進行搜索。所以不會通過一張巨大的桌子查詢影響性能?
我的一個屬性是「動物」(對於A & B來說是獨特的),最初我想擁有一個動物表和一個繁殖表(類似於分類數據庫模型的位置在它自己的表中) 。但我無法想象如何用entity-attribute-model來做到這一點。
這裏的數據庫設計,我想出了:http://i.imgur.com/jyV6Cjc.png
[更新]
類表繼承讀了之後,這似乎是一個比EAV模型更適合,所以我改變了我的EER這樣:http://i.imgur.com/JWPjt23.png
招聘廣告和銷售廣告可以分爲一s「尋找/供應」,但是這些屬性之間沒有多少區別,可能只是他們的名字(例如價格與首選價格)。那麼你認爲有必要在這裏增加另一層次的繼承,否則會是一件麻煩事?
銷售廣告可以是出售寵物,收養寵物,請求領養,請求購買寵物。你認爲我應該把它們分成兩個表。採用和銷售?屬性沒有太大差異,可能只是一個不同的屬性。
您沒有爲數據分析師指定足夠的信息來做出設計決策。如果該字段大部分時間不爲空,那麼您的廣告表中可以包含可爲空的字段。您也可以爲唯一字段設置[實體 - 屬性 - 值模型](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)。 –
感謝吉爾伯特,我添加了更多的細節來澄清和指定我的問題。你能看看編輯並幫助我嗎? – Youmna