There are two different ways on how to design tables:
- Use the natural keys, i.e. an employee number, a country code, etc.
create table country (code char(2), name varchar(100), ...);
create table employee (empno number(5), name varchar(100), ...);
create table order (orderno number(5), country_code char(2), ...);
- Use technical IDs:
create table country (id number(9), code char(2), name varchar(100), ...);
create table employee (id number(9), empno number(5), name varchar(100), ...);
create table order (id number(9), orderno number(5), id_country number(9), ...);
In any case you would not use the name in your program. This is just data you show to the user. You don't use it to access records.
As to the technical ID: These are only meant for references inside the database. You would only use them in your program when what you do is about joins. For instance: Let the user select a country from a list, then use its ID to access the orders placed in that country.
When it comes to having your program know codes, then you shouldn't use either. For instance when you want to treat Great Britain different from other countries, because it is your home country, then use its code 'GB'. Of course you can have your program select the ID for country 'GB' and compare your orders with that ID. Only never have something like select ... from orders where id_country = 187
in your app.
As to your table: countries as in my example already have a code; you can use an ISO code. Your item types probably don't. So you invent a code. This can be a code you even show to users, so they may get used to them after some time and start talking of RCs rather than of racing cars as before. Or you keep the codes from the users and only use them inside programs, so they never see the code 'RC', but for all your programs racing cars are RCs.
So you either have
create table item_type (code char(2), name varchar(100), ...);
or
create table item_type (id number(9), code char(2), name varchar(100), ...);
and use the code field in your app regardless.
Just an additional remark: When using natural keys and having them used by users, you would usually use short codes as 'RC' because these are used for references (foreign keys) and are also easy to type in. When using IDs and only using the codes internally, you could also use long codes, such as 'RACING_CARS' for readability in your programs.