Często w tabeli, która nie ma naturalnego klucza, nadal przydatne jest, aby użytkownicy mogli mieć unikatowo wygenerowany identyfikator. Jeśli tabela ma zastępczy klucz podstawowy (a w takim przypadku na pewno byś się tego spodziewał), czy klucz ten powinien zostać udostępniony użytkownikowi, czy też powinno się w tym celu użyć innego pola?
Jednym z powodów, dla których nie należy ujawniać klucza zastępczego jest to, że teraz nie można wykonywać operacji, które zachowują związek między rekordami, ale zmieniać wartości kluczy, takie jak niektóre rodzaje usuwania / ponownego wstawiania, wiele metod kopiowania danych z jednej bazy danych do inny itp.
Główną zaletą ujawnienia klucza zastępczego jest prostota korzystania z pola, które i tak masz.
W jakich okolicznościach lepiej jest bezpośrednio udostępniać klucz zastępczy użytkownikom?