As chaves estrangeiras são um conceito essencial nos sistemas de gestão de bases de dados (SGBD), que são utilizados para ligar tabelas numa base de dados relacional. Uma chave estrangeira é um campo ou uma combinação de campos numa tabela que se refere à chave primária de outra tabela. Esta relação entre tabelas é utilizada para criar uma ligação entre elas, permitindo que os dados sejam partilhados e acedidos entre tabelas.
Numa base de dados relacional, cada tabela tem uma chave primária (PK), que é um identificador único para cada linha da tabela. A PK é utilizada para garantir a integridade dos dados e para assegurar que cada linha da tabela pode ser identificada de forma exclusiva. Uma chave estrangeira (FK), por outro lado, é utilizada para ligar as tabelas entre si. A FK é um campo ou combinação de campos numa tabela que se refere à PK de outra tabela.
Por exemplo, considere uma base de dados para uma biblioteca. A biblioteca tem duas tabelas, uma para livros e outra para mutuários. A tabela de livros tem uma PK de book_id, que é um identificador único para cada livro. A tabela de mutuários tem uma PK de borrower_id, que é um identificador único para cada mutuário. Para ligar essas tabelas, a tabela de mutuários poderia ter um FK de book_id, que se refere ao PK da tabela de livros. Essa relação permite que a biblioteca rastreie quais livros foram emprestados por quais mutuários.
A FK geralmente está localizada na tabela filha, que é a tabela que se refere à PK da tabela pai. No exemplo acima, a tabela de mutuários é a tabela filha e a tabela de livros é a tabela pai. A FK book_id está localizada na tabela de mutuários e se refere à PK book_id na tabela de livros.
Adicionar uma FK a uma tabela existente pode ser feito usando comandos SQL. Primeiro, a coluna FK precisa ser adicionada à tabela filha usando o comando ALTER TABLE. Em seguida, a FK precisa ser definida usando a restrição FOREIGN KEY, que especifica a tabela pai e a coluna PK. Por exemplo, o seguinte comando SQL adiciona uma FK book_id à tabela de mutuários que faz referência à PK book_id na tabela books:
“`
ALTER TABLE borrowers
ADD COLUMN book_id INT;
ALTER TABLE borrowers
ADD CONSTRAINT fk_borrowers_books
FOREIGN KEY (book_id)
REFERENCES books(book_id);
“`
Em resumo, uma chave estrangeira é um campo ou combinação de campos em uma tabela que se refere à chave primária de outra tabela. A FK é utilizada para ligar tabelas e criar relações entre elas. A FK está normalmente localizada na tabela filha e é adicionada utilizando comandos SQL. Compreender as chaves estrangeiras é essencial para conceber e gerir bases de dados relacionais.
Para criar uma chave estrangeira no SQL Server, é necessário seguir os seguintes passos:
1. Identificar a chave primária da tabela referenciada (tabela pai).
2. Criar a coluna da chave estrangeira na tabela de referência (tabela filha) com o mesmo tipo de dados que a coluna da chave primária.
Use a instrução ALTER TABLE para adicionar uma restrição de chave estrangeira à tabela de referência, especificando as tabelas de referência e referenciada, e as colunas que formam o relacionamento.
Aqui está um exemplo de código SQL para criar uma restrição de chave estrangeira:
“`
ALTER TABLE tabela_filho
ADD CONSTRAINT fk_nome
FOREIGN KEY (coluna_filho)
REFERENCES tabela_pai (coluna_pai);
“`
Neste exemplo, `tabela_filho` é a tabela de referência, `nome_fk` é o nome da restrição de chave estrangeira, `coluna_filho` é a coluna de chave estrangeira na tabela de referência, `tabela_pai` é a tabela referenciada e `coluna_pai` é a coluna de chave primária na tabela referenciada.
Nos sistemas de gestão de bases de dados, uma chave estrangeira é uma coluna ou um conjunto de colunas numa tabela que se refere à chave primária de outra tabela. A integridade referencial, por outro lado, é um conjunto de regras que garante que os dados na(s) coluna(s) de chave externa de uma tabela se referem sempre a uma linha válida na(s) coluna(s) de chave primária da tabela referenciada. Por outras palavras, a integridade referencial garante que a relação entre as tabelas é mantida e que não existem linhas órfãs ou dados inválidos na(s) coluna(s) de chave estrangeira. Por conseguinte, as chaves estrangeiras e a integridade referencial são conceitos estreitamente relacionados nos sistemas de gestão de bases de dados.
Uma chave primária de uma tabela é um identificador único para cada registo na tabela. É uma coluna ou uma combinação de colunas que identifica exclusivamente cada linha na tabela e garante que duas linhas não tenham os mesmos valores para a chave primária. A chave primária é utilizada para impor a integridade referencial e para estabelecer relações com outras tabelas na base de dados.