代码之家  ›  专栏  ›  技术社区  ›  Ross

在数据库中存储标记。存储标签一次还是多次?

  •  7
  • Ross  · 技术社区  · 16 年前

    我想对存储标签到数据库中的toxi方法做一点更详细的说明。

    数据库架构为:

    Table: Item
    Columns: ItemID, Title, Content
    
    Table: Tag
    Columns: TagID, Title
    
    Table: ItemTag
    Columns: ItemID, TagID
    

    这可能是个愚蠢的问题(但我不知道答案)。表标记中的每个条目都应具有唯一的标题。也就是说,我只存储一次标签,还是每次使用标签时都存储它?

    为了说明,下面的两个表中,我应该以哪一个结尾:

    TagID     Title
    1         Fish
    2         Cat
    3         Dog
    

    TagID     Title
    1         Fish
    2         Fish
    3         Cat
    4         Fish
    5         Dog
    6         Cat
    

    如果使用第一个表,在输入标记之前,我必须首先运行SQL语句以查明它是否存在,对吗?

    如有任何帮助,我们将不胜感激。最近,我的手指因黑客攻击和索引而烧坏了,我想开始纠正一些基本的问题。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Eimantas    16 年前

    EXPLAIN/DESCRIBE SELECT

        2
  •  2
  •   Pascal MARTIN    16 年前

    Fish Tag

    select insert TagID ItemTag

        3
  •  1
  •   Martin v. Löwis    16 年前