鍍金池/ 問答/PHP  數(shù)據(jù)庫/ MySQL數(shù)據(jù)庫字段關于文章欄目的設計

MySQL數(shù)據(jù)庫字段關于文章欄目的設計

我們有個新聞類的APP,里面有新聞和視頻的欄目,還是對應網(wǎng)站的欄目,這些欄目都是不一樣的,預想中一篇文章或者一個視頻都放在一張表中,欄目頁放在一張表中。其中:

1.欄目表用一個字段區(qū)別欄目是網(wǎng)站的,還是APP視頻的,還是APP新聞的。
2.內(nèi)容表中用一個字段區(qū)別是視頻還是新聞。
menu欄目表可能如下:
圖片描述

其中內(nèi)容表(content)的一條新聞可以同時屬于多個欄目,比如同時屬于APP新聞欄目的“熱點”欄目和網(wǎng)站欄目“國外”欄目,那我在content表中該用什么樣的設計比較合適呢,要便于管理和后期檢索
content表可能如下:
圖片描述

現(xiàn)在我的content要加個什么樣的字段才能表明我的某一條新聞或者視頻是屬于哪個欄目(可能同時屬于多個欄目)的呢,預想中可能有一個varchar的字段channel,比如保存的值為“1,3,5”表明它屬于1,3,5這幾個欄目,可是這樣的話,對于后期的檢索可能不太方便,因為content經(jīng)常要檢索,也只能用like模糊查找,大家有什么好的主意嗎,謝謝指教!

回答
編輯回答
九年囚

可以使用位元來表達,一個int就能表達32個欄目,
例如

SELECT * FROM content WHERE `type`=POW(2,0)|POW(2,2)

可以查出屬于1,3欄目的新聞

2018年3月16日 10:39
編輯回答
青瓷

如果不是只讓用兩張表的話,多對多的關系正常操作應該是另放一張表存。
比如加個tag表,對menu.idcontent.id建立關系。

這樣在使用的時候多做一步表連接即可

2017年2月1日 19:09