Click here to Skip to main content
15,867,959 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have run into an issue with my design. I noticed that not everyone has a middle name or that they have multiple parts to their name. This makes it extremely difficult to use a middle name column. Is it better or "cleaner" to use a full name column or given and surname columns, which way is better?

As of right now, I have 3 columns set up last_name, First_name, and Middle_name. As stated before I realized that not everyone has a middle name or has multiple names for their middle name.

What I have tried:

I have tried to investigate what the best approach is, however, I have not found many articles on this.
Posted
Updated 10-Oct-18 4:28am
v2
Comments
David O'Neil 29-Sep-18 23:30pm    
>> This makes it extremely difficult to use a middle name column.
Processing for 'IsNull', or its equivalent, is not very difficult, in order to build the full name on the fly. If you want to eliminate that processing at query time, you can create a 'fullname' column and populate it after the user verifies first, middle, and last, and save those to independent columns for simpler processing, for a total of four columns. And let them use multiple names in each column, for instances where someone is actually called Mary Sue Kendall Jenkins-Taylor.
Member 11856456 29-Sep-18 23:48pm    
so you are saying create a first, middle, and last columns with a 4th column being a fullname which would be the concentated values of the first 3 columns?
David O'Neil 30-Sep-18 0:05am    
Yes, if you want to save processing later.

ps - 'concentated' isn't a word - you probably meant 'compounded'
Member 11856456 30-Sep-18 0:10am    
CONCENTATE is a Function in specific microsoft products (excel, access, and sql), However, I do not see this word anywhere else.
David O'Neil 30-Sep-18 0:14am    
Interesting, thanks. I'd never heard of it before, and it isn't in the English dictionary I have.

1 solution

That's a difficult one. It all really boils down to this: how are you going to use the information?

If it's just addressing an envelope or a delivery, then one line of input; one column in the table.

If you are planning on sending deliveries and "informal messages" then I'd go with two lines of input: "formal name", and "friendly name": for me those would be "Paul Griffin" and "Griff" - nobody I want to talk to starts a message with my given first name! :laugh:
Similarly, A friend of mine is known universally as "Iris", but her "formal name" is "Winifred Iris Lewis" - nobody knows her as "Winifred", or even "Winnie"!

Adding multiple input boxes is just a recipe for confusion, so keep them to a minimum, and base them - and your data storage - on what you intend to do with them.
Do not attempt to "break up" names yourself: there are no universal hard and fast rules on what "a name" constitutes - Chinese naming conventions for example are "family name", "personal name" - except when they westernise them and use a western "personal name" and then the "family name" to fit in. And some family names can contain spaces!
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900