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.