Rather than make the email a primary key, which i am not sure is a good idea anyway, I would have the email as a property and put a unique index on it. Now, it can be used in queries efficiently, will trigger errors if duplicate inserted. Also, if it changes then you do not lose all the relationships it already has to other tables. I think this is a win.
– Ryan VincentJul 04 '15 at 08:51