Superkey is any number of columns that force very row to be unique.
Such as ID.
2-Candidate key:
Candidate key is the least number of columns that is needed to force every row to be unique.
In this one the user name could be enough to be candidate key.
But also there are more possible keys such as email or full name (first name, middle name, last name it also could include the address and the birthday).
3-Primary key:
When you have defined the all possible candidate key you should pick one of them to be the primary key.
Primary key should match at least these requirements:
Never change.
Never null.
Be unique.
If we take a look on the suggested candidate keys above will realize that: