Пользователи добавляют записи, есть поле created_by.
Вопрос: Что лучше туда записывать email пользователя или id?
Просто id может стереться при удалении аккаунта и потом все его записи станут ему недоступны, а email он уникальный и если он восстановит аккаунт по своему emailu то его записи определяться по email что они принадлежат ему.
Вообще лучше никогда не удалять записи с таблицы User, а ставить пометку удален или активен. Тогда не будет проблем с пропажей ссылок в записях на автора.
По хорошему вам не стоит удалять акк пользователей в БД. Добавьте в таблицу пользователей поле статуса, и присваивайте там для удаленных иной статус, и т.п.
Конечно, лучше всего делать связи через первичные ключи, как правило это id записи.
Это древний холивар естественный ключ vs суррогатный ключ.
А так зависит от задачи.
Если пользователь жестко привязан к email, то почему бы и не завязаться на него, как ключ.
Если нет, то id-ник проще.