"The last genealogy software I used (now discontinued) associated the spelling of names with the source in which that name spelling was used."
Unfortunatelly, associating a persons name with the source was a bad design decision by that software company. Software companies make bad design issue all the time. Usually they fiix those issues or people relize the error and move to software that does not have that design issue.
As a database designer and later reiterated as a Library Science student we all know that indexes between record types (in this case person to source) should never use data, but should use some value hidden from the user. Most modern DBMS systems have internal keys that directly associate record types. Using data as a foreign key is one of the few downsides to SQL databases. Data based foreign keys can cause data integrity issues, and leave orphaned records until a reorg (compact) is executed.