A chave primária e a chave estrangeira são conceitos importantes no banco de dados MySQL e são fundamentais para garantir a integridade dos dados armazenados em diferentes tabelas.
A chave primária é uma coluna ou conjunto de colunas em uma tabela que identifica de forma exclusiva cada linha da tabela. Ela é usada para garantir que não haja duplicatas de registros na tabela. Para definir uma chave primária em uma tabela, é necessário usar a cláusula PRIMARY KEY
e especificar a(s) coluna(s) que formam a chave primária. Veja um exemplo:
sqlCREATE TABLE clientes (
id INT NOT NULL PRIMARY KEY,
nome VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
);
Nesse exemplo, a tabela clientes
tem uma coluna id
que é definida como chave primária. Isso garante que cada linha da tabela tenha um valor único para o campo id
.
A chave estrangeira é uma coluna ou conjunto de colunas em uma tabela que se relaciona com a chave primária de outra tabela. Ela é usada para garantir que os dados em uma tabela relacionada estejam em sincronia com a tabela principal. Para definir uma chave estrangeira em uma tabela, é necessário usar a cláusula FOREIGN KEY
e especificar a(s) coluna(s) que faz(em) referência à chave primária da tabela relacionada. Veja um exemplo:
sqlCREATE TABLE pedidos (
id INT NOT NULL PRIMARY KEY,
cliente_id INT NOT NULL,
valor DECIMAL(10,2) NOT NULL,
FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);
Nesse exemplo, a tabela pedidos
tem uma coluna cliente_id
que faz referência à coluna id
da tabela clientes
. Isso garante que cada linha na tabela pedidos
esteja associada a um cliente válido na tabela clientes
. Ao tentar inserir um registro em pedidos
com um cliente_id
que não existe em clientes
, ocorrerá um erro de violação de integridade referencial.
Esses conceitos de chave primária e chave estrangeira são importantes para garantir a integridade dos dados em um banco de dados MySQL e devem ser usados sempre que necessário.