Em um banco de dados relacional, uma chave secundária é um identificador exclusivo para uma linha de uma tabela, mas não é a chave primária. A chave primária é o identificador principal de uma linha e deve ser exclusiva para cada linha da tabela. Uma chave secundária pode ser qualquer coluna ou combinação de colunas que identifique exclusivamente uma linha, mas não precisa ser exclusiva em todo o banco de dados.
As chaves secundárias são frequentemente usadas para indexar tabelas, o que pode melhorar o desempenho ao consultar o banco de dados. Índices são estruturas de dados que armazenam os valores de uma determinada coluna ou colunas em uma ordem classificada, para que o banco de dados possa encontrar rapidamente as linhas que correspondem a um determinado valor.
As chaves secundárias também podem ser usadas para impor a integridade referencial, que é o conceito de garantir que os dados em um banco de dados sejam consistentes. Por exemplo, se uma coluna de chave estrangeira em uma tabela fizer referência a uma coluna de chave primária em outra tabela, a chave secundária poderá ser usada para garantir que o valor da chave estrangeira sempre se refira a uma linha válida na outra tabela.
As chaves secundárias são uma parte importante do design do banco de dados e podem ajudar a melhorar o desempenho, impor a integridade referencial e facilitar a consulta ao banco de dados.