I have this
person table as super parent (or supertype),
id firstname lastname email telephone ... ...
user table as a child (or subtype)
id person_id (FK) password username screenname ... ...
They must be in a one-to-one (1:1) relationship, because an user cannot be repeated twice, and so a particular email value in a given person row must not be repeated twice.
Then I have this
message table which stores messages from anyone,
id firstname lastname email telephone subject content ... ...
but you can see that
telephone are duplicated in the
So, I am thinking to refer it to
person table like this below,
id person_id subject content ...
but then it does not seem right, as a person with the same email, name, etc. can send a message to me as many times as they want, so the details he/she provides can be repeated.
So, should I make
messageas a child of
personthe parent or they should be separate entities?
Or, are there any better suggestions to solve this problem?