EN - FR - DE - ES - IT - PT -

LexiconDream

🔗 Chave estrangeira

Um campo que liga registos de uma tabela a outra tabela.

Chave estrangeira

Uma chave estrangeira liga registos de uma tabela a registos de outra. Uma tabela de encomendas possui um campo `customer_id`. Este campo é uma chave externa que aponta para a chave primária da tabela de clientes. Esta ligação garante que cada encomenda pertence a um cliente real. Sem ela, os pedidos poderiam fazer referência a clientes que não existem. A base de dados impõe essa relação.

As chaves estrangeiras fazem mais do que documentar relações. Impõem integridade referencial. Se tentar introduzir um pedido com um `customer_id` que não existe na tabela de clientes, a base de dados irá rejeitá-lo. Se tentar eliminar um cliente que tenha encomendas, a base de dados bloqueará a eliminação ou propagá-la-á, dependendo da regra. Esta imposição evita registos órfãos e dados inconsistentes. As chaves estrangeiras também melhoram o desempenho das consultas. A base de dados pode usar o relacionamento para otimizar as junções. Nem todas as bases de dados impõem chaves estrangeiras. Algumas bases de dados NoSQL deixam a integridade referencial a cargo da aplicação. Isto dá aos programadores mais flexibilidade, mas também mais responsabilidade. A aplicação deve garantir que as referências são válidas. Se isto falhar, os dados tornam-se inconsistentes. As chaves estrangeiras são uma restrição. As restrições são inconvenientes até que impeçam um desastre.

Regras de chave estrangeira

Uma chave externa é uma ligação e uma garantia. A ligação liga tabelas. A garantia mantém a coerência entre elas.

Comments

No comments yet. Be the first to share a thought.

Leave a comment