今天晚上无意中进入http://www.yupoo.com/photos这个网站,别的不说,注册后发觉它的“标签”挺好玩,但想了一晚上不知道这个数据库是怎么设计的?我注册后,上传自己的图片后,可以为图片添加标签,但是每个人又都有自己的标签,说可能说不太明白,举个例子:我上传了一张徐静蕾的照片,然后添加“明星”,“美女”,“老徐”这样三个标签。我现在是假象这么设计的数据库:
1。图片表Pics  
    字段:ID   PicName      PicUrl                 Tags
          1    徐静蕾图片   xujinglei.jpg         明星,美女,老徐
2.标签表Tags
    字段:ID    Name      UserID(所属用户ID,这里假设在用户表里我的ID为55)
          1     明星       55
          2     美女       55
          3     老徐       55
因为在我的图片表Pics中很有很多图片都有“美女”这个标签,现在如果我要删除掉“美女”,是不是要挨个从数据库里修改?

解决方案 »

  1.   

    我觉得肯定不是这么设计数据库吧,因为对于“美女”这一个标签,可能以前张三,李四都建立过,但这里我因该怎么设计表,才能实现这个功能:
    在我登陆后,点击“我的标签”可以找出我以前用过的所有标签,如果别人用也用过这个标签,则这个标签也属于他,而我在修改删除这个标签时如何能保证不影响别人