You can always construct a full name from its components, but you can't always deconstruct a full name into its components.
Say you want to write an email starting with "Dear Richie" - you can do that trivially if you have a given_name
field, but figuring out what someone's given name is from their full name isn't trivial.
You can also trivially search or sort by given_name
, or family_name
, or whatever.
(Note I'm using given_name
, family_name
, etc. rather than first_name
, last_name
, because different cultures put their names in different orders.)
Solving this problem in the general case is hard - here's an article that gives a flavour of how hard it is: Representing People's Names in Dublin Core.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…