The schema is as it describes, simple. The only thing is... I kind of have one underlying problem with the schema. The UserProfile & Membership table both share the same primary key. I see a greater benefit in doing this:
UserProfileTable: UserProfileID, UserID, Email
Membership Table: MembershipID, UserID, etc...
Notice how each of the tables have their own unique primary key and they share a unique index UserID in this case. Wouldn't this be the better way to go about it? It just seems more flexible and better practice.
...
Go to the complete details ...