Adicionando uma chave estrangeira no MySQL

Como se adicionar uma chave estrangeira no mysql?
A criação de chaves estrangeiras em uma tabela se dá de duas formas: a Listagem 2 mostra a adição da chave estrangeira diretamente quando criamos a tabela, enquanto na Listagem 3 vemos a utilização do comando ALTER TABLE para inserir essa constraint em uma tabela já existente.
Aprender mais sobre www.devmedia.com.br

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.

Para adicionar uma chave estrangeira no MySQL, é necessário seguir estes passos:

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.

Por exemplo:

“`

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.

Por exemplo:

“`

ALTER TABLE customers

ADD CONSTRAINT pk_customer_id

PRIMARY KEY (customer_id);

“`

Essa instrução adiciona uma restrição de chave primária chamada “pk_customer_id” à tabela “customers”. A coluna “customer_id” é a coluna de chave primária.

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.

Para adicionar uma restrição de chave estrangeira, você pode usar as opções ON DELETE e ON UPDATE com a instrução ALTER TABLE. Por exemplo:

“`

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”.

FAQ