primary key:
Oracle won’t allow two records to have the same primary key value.
Unique key:
Unique key constraints identify sets of columns that must be unique for each row in a table. Unique key constraints are similar to primary key constraints, and they often represent alternative primary key choices. The one difference between a unique key and a primary key is that columns in a unique key may be null.
(When you create a primary key or unique key constraint on a table, Oracle will create a unique index to enforce that constraint. The name of the index will match the name that you give the constraint.)
foreign key:
Foreign key constraints are used to link two tables that contain related information.They are most often used in parent-child relationships,
(Foreign keys must be linked to a corresponding primary or unique key.)