假設我有一個可以有0個或多個標籤的表:MySQL的:標籤系統
TABLE: foo
- foo_id (PK)
TABLE: tag
- tag_id (PK)
- name
TABLE: foo_tag
- foo_tag_id (PK)
- foo_id (FK)
- tag_id (FK)
問題:
- 以上是落實標籤系統中最常見,最簡單的方式,我見過。我意識到標籤系統在可伸縮性方面存在潛在的問題。我會在這裏嗎?
- 有沒有辦法在PHP或SQL中做這樣的事情:插入一個新的標籤「bar」。如果「酒吧」不存在,將其添加到
tag
表中並返回最後插入的ID。如果「bar」確實存在,請不要添加它並返回tag_id。 - 對於在#2中描述的這樣的表,是否存在「適當」的DB術語?
幾乎相同:http://stackoverflow.com/questions/20856/how-do-you-recommend-implementing-tags-or-tagging –
鏈接可能回答問題#1。問題#2和#3對我來說也很重要。 – StackOverflowNewbie