? Uma chave estrangeira em um banco de dados relacional é uma chave usada em uma tabela filho que corresponde a chave primária em uma tabela pai relacionado. Chaves estrangeiras podem ter valores duplicados (multiplicidade ) na tabela filho enquanto que as chaves primárias não podem. Usando chaves estrangeiras corretamente pode impor a integridade referencial . Um exemplo simples
Um exemplo simples de uma chave estrangeira do banco de dados é uma tabela de " Student " banco de dados pai com student_id como sua chave primária . Em relacionado tabela filho " Course_Enrollment " com Course_ID como sua chave primária , para cada curso em que o aluno se matriculou , a chave estrangeira, student_id da tabela de Student , aparece.
Integridade referencial Regra < br >
a regra de integridade referencial estabelece que qualquer valor de chave estrangeira não nulo em uma tabela filho deve se referir a um valor de chave primária da sua tabela pai no banco de dados . No exemplo da Etapa 1, não faria sentido no banco de dados para ter um aluno matriculado em um curso em que não há informações sobre o que o aluno na tabela de Student. Esta regra impõe consistência em um banco de dados.
Cascade Exclui
Cada registro filho em um relacionamento de chave estrangeira deve ter um registro pai correspondente de acordo com a integridade referencial governar. A exclusão em cascata deve ocorrer sempre que um registro de uma tabela pai for removido, o que também remove todos os registros correspondentes do banco de dados filho. No exemplo Etapa 1, a remoção de um aluno do banco de dados do estudante também irá remover todas as ocorrências de matrícula do aluno na tabela de Course_Enrollment .