No MySQL, uma chave estrangeira é usada para estabelecer um relacionamento entre duas tabelas. É uma restrição que garante a integridade e consistência dos dados. Quando uma chave estrangeira é adicionada a uma tabela, ela se refere à chave primária de outra tabela. Isto significa que os valores na coluna da chave estrangeira devem corresponder aos valores na coluna da chave primária da tabela referenciada.
Passo 1: Criar as Tabelas
Primeiro, é preciso criar as tabelas que estarão envolvidas no relacionamento. Por exemplo, se quiser criar uma relação de chave estrangeira entre uma tabela “customers” e uma tabela “orders”, precisa de criar ambas as tabelas com as suas colunas e tipos de dados.
Passo 2: Criar a chave primária Em seguida, é necessário criar a chave primária da tabela que será referenciada. Neste exemplo, a tabela “customers” terá uma chave primária de “customer_id”. Isto significa que a cada cliente será atribuído um ID único.
Passo 3: Adicionar a chave estrangeira Depois de criar a chave primária, pode agora adicionar a chave estrangeira à tabela “encomendas”. Isso é feito usando a instrução ALTER TABLE com a opção ADD CONSTRAINT. É necessário especificar o nome da restrição de chave estrangeira, o nome da coluna que será a chave estrangeira e o nome da tabela e da coluna referenciadas.
“`
ALTER TABLE orders
ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id)
REFERENCES customers(customer_id);
“`
Essa instrução adiciona uma restrição de chave estrangeira chamada “fk_customer_id” à tabela “orders”. A coluna “customer_id” é a coluna de chave estrangeira e faz referência à coluna “customer_id” da tabela “customers”.
Passo 4: Testar a chave estrangeira Uma vez adicionada a chave estrangeira, pode testá-la inserindo dados na tabela “encomendas”. Se tentar inserir um valor na coluna da chave estrangeira que não existe na tabela referenciada, receberá um erro de violação de restrição de chave estrangeira.
Adicionando uma chave primária no MySQL
Adicionar uma chave primária no MySQL também é importante para a integridade e consistência dos dados. Ela garante que cada linha em uma tabela é única e pode ser identificada por uma coluna específica ou conjunto de colunas.
Para adicionar uma chave primária no MySQL, pode utilizar a instrução ALTER TABLE com a opção ADD PRIMARY KEY. É necessário especificar o nome da restrição de chave primária e o nome da coluna ou colunas que serão a chave primária.
“`
ALTER TABLE customers
ADD CONSTRAINT pk_customer_id
PRIMARY KEY (customer_id);
“`
Adicionando restrição de chave estrangeira no MySQL
É possível adicionar restrições de chave estrangeira no MySQL. Isto significa que quando um registo é eliminado da tabela referenciada, todos os registos que o referenciam também serão eliminados ou actualizados.
“`
ALTER TABLE orders
ADD CONSTRAINT fk_customer_id
FOREIGN KEY (customer_id)
REFERENCES customers(customer_id)
ON DELETE CASCADE
ON UPDATE CASCADE;
“`
Essa instrução adiciona uma restrição de chave estrangeira com uma restrição de exclusão e atualização. Quando um registo é eliminado da tabela “customers”, todos os registos que o referenciam na tabela “orders” também serão eliminados. Quando um registo é actualizado na tabela “customers”, todos os registos que o referenciam na tabela “orders” também serão actualizados.
Criação de uma chave estrangeira no SQL Server
Para criar uma chave estrangeira no SQL Server, pode utilizar a instrução ALTER TABLE com a opção ADD CONSTRAINT, semelhante ao MySQL. No entanto, a sintaxe e as opções podem ser diferentes. Pode consultar a documentação do SQL Server para obter mais informações.
Chave primária e chave estrangeira na base de dados Numa base de dados, uma chave primária é uma coluna ou um conjunto de colunas que identifica exclusivamente cada linha de uma tabela. Uma chave estrangeira é uma coluna ou um conjunto de colunas numa tabela que se refere à chave primária de outra tabela. Isto estabelece uma relação entre as duas tabelas e assegura a integridade e consistência dos dados.
Colocando duas chaves primárias no MySQL
No MySQL, você não pode ter duas chaves primárias numa única tabela. No entanto, é possível criar uma chave primária composta que consiste em duas ou mais colunas. Isto significa que a combinação de valores nestas colunas deve ser única para cada linha na tabela. Para criar uma chave primária composta, pode utilizar a instrução ALTER TABLE com a opção ADD PRIMARY KEY e especificar os nomes das colunas que serão a chave primária. Por exemplo:
“`
ALTER TABLE orders
ADD CONSTRAINT pk_order_id_customer_id
PRIMARY KEY (order_id, customer_id);
“`
Esta instrução cria uma chave primária composta que consiste nas colunas “order_id” e “customer_id” na tabela “orders”.