int o smallint depende del SDBMS y la cantidad de bytes que usa para almacenar el valor, y si es con o sin signo.
esto puede llevar a que un int (MySQL) de 4 bytes (32 bits)
con signo tenga un rango de -2147483648 a 2147483647 y
sin signo de 4294967295, consulta sobre los tipos del SDBMS que uses