Ideally, you should also be able to capture "full name, including any middle names and all surnames". If you do this, you will need some method of capturing "used name" that is different from "the first of the names".
Johan went and applied for a bank account, with (say) HSBC plc. As his application is processed, the whole name question comes up. Every single piece of full ID that Johan has states that his name is "Pappnamn Johan Eriksson" and Johan queries what will be on his cards, because, you know, you want your used name spelled out in full and all that. And the bank replies that to make that happen, they will have to register him as "Johan P. Eriksson".
A couple of years pass. Johan decides it is time to proceed with two things, first buy a house and then get a pension insurance.
Johan finds a suitable house, gets a written mortgage offer and things proceed apace, until a diligent solicitor looks at Johan's ID and at Johan's mortgage offer. Horror! Catastrophe! One is issued to "Johan P. Eriksson" and the other to "Pappnamn Johan Eriksson"! All for the sake of getting names right.
This is eventually sorted and Johan gets himself some pension insurance. Eventually, the insurance company sends him a letter, addressed to "Pappnamn Eriksson". Now, there is no one by that name living in Johan's house. In fact, "Pappnamn Eriksson" is Johan's father, dead the last 15 years (OK, fair enough, the deceased father was named "Olof Pappnamn Eriksson", but was usually called Pappnamn by family and friends) and Johan is, obviously, a bit annoyed about getting paperwork that is important to himself addressed to his very departed father.
Using this slight expansion, namely keeping an index of the used name(s) (alas, there might well be more than one, depending on how you classify a name split, like "Bobbi Jo" or "Sven-Göran"), you can rest assured that you run a MUCH better chance of not annoying any eventual customers.
This is one of Ingvar's essays