I am creating a bookmark system where people can save their bookmarks. Each user has its own personal page with bookmarks. A bookmark should have atleast one tag and max five. Each user can create unlimited bookmarks / tags. I created the following tables: User ---- Id Email Bookmark -------- Id UserId Title Url Tag --- Id UserId Title Description TagBookmark ----------- TagId BookmarkId Is this normalized? Or should I do this differently? Will this perform well with a million bookmarks? I am also not sure if I should reuse already existing bookmarks / tags. **Example 1:** User1 and User2 both create the bookmark "http://google.com". Should I save this as one bookmark? Or save them for each user individually? **Example 2:** User1 and User2 both create the tag "search-engine". Should I save this as one tag? Or save them for each user individually? If I do not reuse bookmarks and tags between users these tables may grow quite large.