我在书签和标签之间有很多关系:
据我所知,这是规范化和有效的。
但是,多个用户可能会保存相同的书签,这意味着书签表中存在重复的URL。这种复制是否属于规范化,是否应该避免?
更新
系统的工作原理如下:
用户登录并创建书签/标签。
书签应附有至少一个标签。例如:“http://google.com”可能属于“Google”和“搜索引擎”标记。
当书签被删除时,TagsBookmarks中的关系也会被删除。标签不会被删除。
如果标签没有书签,用户可以删除标签。
没有标签就不能存在书签。
标签可以不带书签。
答案 0 :(得分:0)
通常,表名和表列是单数。
我会将UserID移动到TagBookmark。
Bookmark
--------
BookmarkID
BookmarkTitle
BookmarkURL
Tag
---
TagID
TagTitle
TagDescription
TagBookmark
-----------
UserID
TagID
BookMarkID
TagBookmark的主(聚类)键将连接所有3个ID字段。
我不确定TagTitle和BookmarkTitle之间有什么区别,所以可能会有一些进一步的规范化。
答案 1 :(得分:0)
您应该从书签和标签表中排除UserId并将其添加到联结表中,因为您的系统是以用户为中心的,正如我从您的解释中所理解的那样。像这样:
甚至你需要两个联结表,但这取决于你的系统逻辑: