I have a couple of quick questions about the attached diagram.
1) First of all, what do you think? Any comments or suggestions? This is my first real attempt at designing a database diagram.
1) If I wanted to record user history dates like "login", "user created", etc, where would you suggest putting them? Do you suggest a seperate table for that data or would you append two additional columns to the user table?
2) I need to somehow record the relationships between employee and manager. I've looked at a couple of different ways, but looking for your suggestions on the best way to do this. Not all users will have relationships as there are many different types of user roles.
3) What do you think about storing the userStatus in a separate table? Some have suggested that simple 1:1 "lookup" relationships like this are better defined programatically than in the database. What do you think?
I think the first thing I would think about, looking at your diagram, is your normalization of user and user profile. Does it not seem likely that a person (user profile) could have many accounts (user)?
Second should you not have a create timestamp on user? If you are going to have a user status, should you not also have an update timestamp on user and have a one status to many user relationship?
Third, for logins would you not have a one user to many logins relationship, with logins having a time stamp?