I was thinking that in an instance a user decides to change email, maybe as a result of the older email not working again.
But I did not think of the user email as being a unique value the user uses to login.
However I have situations where users change emails as a result of the former email not being functional anymore.
I was recently browsing a website and when I went to settings I saw where I can update my account like name, email and password. Even though the email is the username used to login.
After thinking it through, I just discovered that instead of using email to link principal user to child user, I can use the Id of the principal user as the basis which child user is linked to the principal user. That way, I do not have to change the email in principal email in CreatedBy column.
Thank you for giving me that direction to have a rethink