Number vs. Number(n)
number(n) is a number with a constraint and edit.
create table t ( x number, y number(5) );
Table created.
insert into t values ( 123.456, 123.456 );
1 row created.
insert into t values ( 123.999, 123.999 );
1 row created.
insert into t values ( 12345, 12345 );
1 row created.
insert into t values ( 123456, 123456 );
insert into t values ( 123456, 123456 )
*
ERROR at line 1:
ORA-01438: value larger than specified precision allows for this column
select * from t;
X Y
---------- ----------
123.456 123
123.999 124
12345 12345
See how the number(5) behaves? 5 digits, no decimals, rounded.
The advantage is
a) you have 5 digits only, never more
b) you have no decimals, it is an integer type
consider it a constraint -- like a primary key, NOT NULL, check, whatever.
If your data is such that the number should never be more then 5 digits, the only correct way to implement it would be as a number(5) .