Obligatory link to Patio11's gem of an article about this: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-... Edit: phone typo
The only feasible way to handle a name given that, at least what I can think of, is a single unbounded textbox that's also optional. Actually, I guess it really must be a foreign key M{0,}:N as a many-to-many to allow for having multiple names.
- Your legal name
- What you'd like us to call you