Baza danych - ID, maski

0

Hej.
(pytanie dotyczy konkretnie MS SQL, o ile w tym przypadku to jakas roznica)
Aktualnie tworze portal internetowy z mozliwoscia zakladania przez uzytkownikow kont.

Kazdy obiekt w serwisie (uzytkownik, zdjecie itp.) po stronie bazy danych zawiera ID (int) oraz maske.
Dla przykladu link do konkretnego uzytkownika zawiera maske aby nie ujawniac bazodanowych numerow ID.
Po numerach ID lacze np. uzytkownika z konkretnym komentarzem na stronie, ze zdjeciami.

Maska to varchar(6), ktory zawiera losowo wygenerowany, unikalny ciag znakow, tak jak pisalem tylko ta maska jest widziana 'na zwenatrz', jednak zastanawiam sie czy w takim przypadku jest sens trzymania kolumny ID? Czy z powodzeniem moge laczyc tabele poprzez takie varcharowe pole, czy beda jakies problemy np. z rozmiarem idenksow?

Pozdrawiam.

0
  1. jeśli weźmiesz maskę zamiast id jako pk i fk to czym się to będzie różniło od numerycznego id, które w ten sposób chciałeś ukryć?
  2. pk inne niż int nie ma żadnego wpływu na samo działanie bazy. Jedyna różnica jest taka, że int32 zapiszesz na 4bajtach a odpowiadający mu ciąg znakowy od 10 do 40 bajtów w zależności od kodowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1