2011-01-12 43 views
0

我一直想知道什麼是最好的方式來處理與不同領域的職位類型。郵件類型(標題,正文)與照片(標題,網址路徑,說明)等有不同的字段。基於帖子類型的數據庫結構

理想情況下,我希望將它放在一張表下,因爲它更容易在視圖中聚合。它可以使用jQuery顯示和隱藏字段,但會在數據庫中留下冗餘字段。

對此有何建議?

感謝

回答

1

我建議

  1. 一個普通的職位表後類型字段。
  2. 帖子類型表
  3. 個別帖子類型的具體表格。

因此,對於適用於所有帖子類型的字段,它們存儲在通用帖子表中。

然後,您可以使用帖子類型ID來查找其他字段,並根據帖子類型ID檢索這些字段的數據。

因此,你的通用郵政表看起來像

| id |標題| author_id |文字|

您發佈類型的表將是

| id | post_type | < - post_type是一個字符串

假設您有一個需要日期字段的「日曆」發佈類型。我們將其稱爲照片帖子類型。該表將被稱爲「calendar_post_fields」,並且帖子類型將是「日曆」。

| id | post_id |日期|

+0

有道理,感謝龐大。我會放棄它。 – Goldy 2011-01-13 11:08:35

0

第一件事是第一件事。你是否有能力在運行時添加新的「類型」?這個問題的答案可能會使其他固體解決方案失效。

如果問題的答案是「否」,那麼請使用gargantuan的解決方案。爲通用字段提供基表,併爲特定字段提供單獨的表。特定的表具有基表的外鍵。這樣可以避免動態sql,避免冗餘字段,並提供良好的查詢性能。

還有其他解決方案,但我寧願不提及它們,除非上述解決方案不能滿足您的需求。