A unique code simplifies many operations when searching or sorting the database. This code can be a sequential number assigned as the record is first added. It should not change when earlier records are deleted. Customers' names are not simple to record. If separate fields are used for first and last names, the software can put them together again on mailing labels, but unusual names get complicated.
Business names are even more complicated.
A good solution is to be redundant. Have one field with the name in telephone-book style and a second with the name as it is to be printed on a mailing label. The street number and name need a separate field. The postal service asks that the apartment or unit number be put at the end of this field. City, state abbreviation, and ZIP code belong in separate fields so they can be searched and sorted.