Utwórz identyfikator użytkownika, mimo że nazwy użytkowników są unikalne?

Moja aplikacja internetowa będzie miała różnych typów użytkowników: użytkownika root, sys-adminów, klientów, kontrahentów itp. Chciałbym mieć tabelę „Użytkownik”, która będzie miała kolumny „Nazwa użytkownika”, „Hasło” i „ Rola „z rolą będącą jedną z wyżej wymienionych ról. Będę na przykład miał również tabelę o nazwie „Klient” do przechowywania atrybutów specyficznych dla klienta.

Oto moje pytanie. Ponieważ wszystkie nazwy użytkowników będą unikalne, mógłbym użyć nazwy użytkownika jako klucza podstawowego dla tabeli użytkownika. Czy jednak bardziej sensowne byłoby utworzenie kolumny „ID użytkownika” i użycie jej zamiast kolumny Nazwa użytkownika jako PK? Istnieje wiele innych tabel, które będą używać tego PK użytkownika jako klucza obcego i sądzę, że z punktu widzenia wydajności, szybciej będzie porównywać identyfikatory użytkowników niż ciągi tekstowe nazwy użytkownika.

Dziękuję za odpowiedź.

questionAnswers(3)

yourAnswerToTheQuestion