Ты не понимаешь одной очень простой вещи. Что база у тебя реляционная. Это всё.
Как только поймёшь - сразу станет ясно, что в таблице пользователей поле id необходимо.
В реляционной базе данных таблицы между собой связаны. И что ты будешь писать в связанную таблицу - е-мейл? Серьезно? А если пользователь поменяет его? Будешь по всем таблицам бегать и менять?
У строки в бд, если она хранит какую-либо информацию, должен быть уникальный, неизменяемый, прикрепленный к ней навечно идентификатор.
Чтобы независимо от изменения самих данных в строке, ее всегда можно было идентифицировать.