É ruim usar o nome de usuário como chave primária no design do banco de dados?

Foi-me dito por um amigo:

Que chave única você usa? Espero que você não esteja salvando o nome de usuário inteiro --- isso vai ocupar muito espaço de tabela! Atribua um userID exclusivo a cada userNAME (exclusivo) e salve este userID (deve ser auto_increment INTEGER UNSIGNED ou auto_increment BIGINT UNSIGNED). Não esqueça de criar uma referência

CHAVE ESTRANGEIRA (userID) REFERÊNCIASusertable (userID) em todas as tabelas usando o userID.

A afirmação acima está correta? Por que ou por que não?

questionAnswers(2)

yourAnswerToTheQuestion