Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7555075
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T11:30:28+00:00 2026-05-30T11:30:28+00:00

I have this person table as super parent, id firstname lastname email telephone …

  • 0

I have this person table as super parent,

id
firstname
lastname
email
telephone
...
...

and user table as a child

id
person_id (FK)
password
username
screenname
...
... 

They must be 1:1 relationship, because an user cannot be repeated twice. and so the email in the 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 firstname,lastname, email,telephone are duplicated in message table.

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 message to me as many times as they want. so the details he/she provides can be repeated.

so should I make message as a child of person the parent or they should be separate entities?

or any better suggestions to solve this problem.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T11:30:30+00:00Added an answer on May 30, 2026 at 11:30 am

    You have to decide what you want your system to do. Do you want old messages to reflect someone’s new name or do you want each message to have the name (and other details) which were in effect when the message was created?

    If you want the system to only reflect the current personal details then all your message needs is a foreign key to PERSON.

    If, on the other hand, you want your messages to look the same way for all time, even if the person who sent them changes their name, email address or other details, then you have to find a way to keep the historical information. Two obvious choices would be (i) denormalize the person details down to the message – as in your current design or (ii) keep a history table of PERSON with snapshots of each combination of personal details with MESSAGE referring to the appropriate person history record with a foreign key.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have three tables like this: Person table: person_id | name | dob --------------------------------
I have a Person table with LastName and FirstName. Consider the following record where
Let's say I have a Person table with a FirstName and LastName column. I
I have this schema: There is a table for persons. Each person has one
Say I have this table: Person table -------------- PersonId Address table ------------ AddressId PersonAddressId
For example, say I have this SQL Script: create table Person ( id int
Suppose I have a Person table that looks like this, where fk_FriendID is related
Imagine I have this table: Month | Person | Value ---------------------- Jan | P1
Suppose we have this person table id name gender 1 John male 2 Kurt
I have this objects : public class Person { public string FirstName { get;

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.