The unique key in your database that you decide best uniquely identifies a record in the table is the main key. All tables should have a primary key because you need to be able to uniquely identify each record if you ever need to change or delete one.
An artificially produced key is known as a surrogate key. They are helpful in situations where your records effectively lack a natural key, such as in Person tables where it is feasible for two persons who share the same birthday to have the same name or log entries where it is possible for two events to occur with the same timestamp.
These are typically implemented as integers in fields that automatically increment or as GUIDs that are generated for each record. Surrogate keys are generally often ID numbers. Surrogate keys are not required for all tables, unlike primary keys. You don't actually need an ID number for the states if you have a database that displays them in America. The state abbreviation could be used as a primary key code.
The surrogate key's main benefit is that it's simple to verify its uniqueness. The biggest drawback is that they are meaningless. The fact that "28" is Wisconsin has no significance. I hope this helps you.