Czy powinienem mieć dedykowane pole klucza podstawowego?

Projektuję małą bazę danych SQL, która będzie używana przez aplikację internetową.

Powiedzmy, że konkretna tabela ma pole Nazwa, dla którego żadne dwa wiersze nie będą mogły mieć tej samej wartości. Jednak użytkownicy będą mogli zmienić pole Nazwa w dowolnym momencie.

Klucz podstawowy z tej tabeli będzie używany jako klucz obcy w innych tabelach. Jeśli więc pole Name zostało użyte jako klucz podstawowy, wszelkie zmiany musiałyby być propagowane do tych innych tabel. Z drugiej strony wymóg unikalności byłby obsługiwany automatycznie.

Moim instynktem byłoby dodanie pola liczby całkowitej, aby działało jako klucz podstawowy, który może być automatycznie wypełniany przez bazę danych. Czy jest jakiś powód, by mieć to pole, czy byłoby to stratą czasu?

questionAnswers(11)

yourAnswerToTheQuestion