Isto explica-o melhor do que eu poderia!
A chave preliminar de uma tabela relacional identifica excepcionalmente cada registro na tabela. Pode qualquer um ser um atributo que normal que seja garantido para ser original (como o número da Segurança Social em uma tabela sem mais de um registro por a pessoa) ou pode ser gerado pelo DBMS (tal como o identificador original da global -, ou o GUID, no usuário de Microsoft SQL). As chaves preliminares podem consistir em um único atributo ou em uns atributos múltiplos na combinação.
http://databases.about.com/cs/administration/g/primarykey.htmSomente as tabelas têm chaves preliminares, não outros objetos.
Mais informação
http://en.wikipedia.org/wiki/Unique_keyGary