@arvin
UNIQUE KEY + NOT NULL = CANDIDATE KEY
one of the candidate key choosen as PK
every candidate key is indirectly a PK
Why we have to declare a PK in relation externally ?
For prevention only... means by mistake we can insert Duplicates or NULL values in the Candidate Key
Every Table have a PK internally? ( in worst case combination of all attributes of a relation act as PK for that relation )
yes, otherwise duplicate rows are allowable in the table.