我正在設計一個數據庫,其中可以標記任何內容,我很可能希望能夠使用特定標記選擇所有內容。數據庫設計:多個連接表或具有標識「表」列的表格
我正在努力與以下兩個選項,並希望得到一些建議。如果有更好的方法,請讓我知道。
選項A
多個「多對多」連接表。
tag: id tag media: id title src creation media_tags: id media_id tag_id article: id title content creation article_tags: id article_id tag_id
選項乙
單個「引用標記」表中,其使用一個「表」列,以確定加入到哪個表。
tag: id tag tag_reference: id row_id tag_id table media: id title src creation article: id title content creation
從視圖選項B的維修點似乎是有利的,但考慮到SQL查詢來選擇所有內容,並且不認爲這是可能沒有多個查詢。
我會去的第一個。將表格名稱存儲爲列不是一個好主意;恕我直言。 – hjpotter92
看看這個:http://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database。你的問題是繼承的一般問題的具體實例... –