Junior
Como é que a chave estrangeira influencia a integridade dos dados na base de dados?
sobes.tech IA
Resposta da IA
A chave estrangeira (foreign key) garante a integridade referencial dos dados, assegurando que os valores na coluna de uma tabela (tabela filha) correspondam aos valores na coluna de outra tabela (tabela pai).
Impacto na integridade dos dados:
- Proíbe a adição de registos na tabela filha com um valor que não exista na coluna correspondente da tabela pai. Tentar inserir uma linha que faz referência a um registo pai inexistente causará um erro.
- Restringe a eliminação de registos na tabela pai que são referenciados por registos na tabela filha. O comportamento ao tentar eliminar depende da ação configurada (
ON DELETE):RESTRICT(por padrão): Proíbe a eliminação.CASCADE: Elimina os registos dependentes na tabela filha.SET NULL: Define o valor NULL na coluna correspondente da tabela filha (se a coluna permitir NULL).NO ACTION: Semelhante aRESTRICTna verificação padrão, mas pode diferir em tempo de execução.
- Restringe a atualização de registos na tabela pai. O comportamento ao tentar atualizar também depende da ação configurada (
ON UPDATE):RESTRICT(por padrão): Proíbe a atualização.CASCADE: Atualiza o valor correspondente nos registos dependentes da tabela filha.SET NULL: Define o valor NULL na coluna correspondente da tabela filha (se a coluna permitir NULL).NO ACTION: Semelhante aRESTRICTna verificação padrão, mas pode diferir em tempo de execução.
A chave estrangeira ajuda a prevenir o aparecimento de "registos órfãos" e garante que as ligações entre as tabelas permaneçam corretas.