If a table has two columns that act as a composite candidate key (uniquely identifying each row), is it a good practice to create a surrogate key and use it as the primary key instead?
The reason would be: foreign keys referencing it would be simpler to read (referencing one column instead of two).
Also, if a surrogate key is used, should I create a unique constraint on the two columns previously mentioned?
You have actually asked several questions:
And here are the answers: