🧠 Explicação
Chaves (ou keys) são conjuntos de colunas usados para identificar registros em uma tabela DB2. Elas são fundamentais para manter a integridade dos dados e definir como as tabelas se relacionam entre si.
Existem quatro tipos principais de chaves no DB2:
-
PRIMARY KEY
: identifica unicamente cada linha da tabela. -
UNIQUE KEY
: garante unicidade, mas pode haver mais de uma na tabela. -
FOREIGN KEY
: representa o relacionamento entre tabelas. -
PARENT KEY
: é a chave primária ou única de uma tabela referenciada por umaFOREIGN KEY
.
🔧 Usos mais comuns
-
Identificar registros de forma única.
-
Relacionar tabelas entre si (1:N).
-
Garantir integridade referencial.
-
Evitar duplicidade de dados.
📌 Tipos de chaves no DB2
🔹 PRIMARY KEY (Chave Primária)
Identifica de forma única cada linha de uma tabela.
-
Só pode existir uma por tabela.
-
Não permite
NULL
. -
Cria um índice automaticamente.
CREATE TABLE Fornecedor (
CodFornecedor INT NOT NULL PRIMARY KEY,
Nome VARCHAR(50),
Endereco VARCHAR(50),
Telefone VARCHAR(20)
)
🔹 UNIQUE KEY (Chave Única)
Garante que os valores de uma ou mais colunas sejam únicos na tabela.
-
Pode haver várias UNIQUEs por tabela.
-
Pode permitir
NULL
, dependendo da definição.
ALTER TABLE Cliente
ADD CONSTRAINT UQ_CPF UNIQUE (CPF)
🔹 FOREIGN KEY (Chave Estrangeira)
Relaciona uma tabela com outra, apontando para uma PRIMARY KEY
ou UNIQUE KEY
da tabela mestre.
ALTER TABLE ProdutoFornecedor
ADD FOREIGN KEY (CodFornecedor) REFERENCES Fornecedor(CodFornecedor),
FOREIGN KEY (CodProduto) REFERENCES Produto(CodProduto)
🔹 PARENT KEY
É a PRIMARY KEY
ou UNIQUE KEY
de uma tabela mestre que serve de referência para a FOREIGN KEY
.
💡 Dicas
-
Defina sempre as
PRIMARY KEY
no momento da criação da tabela. -
Crie índices para colunas envolvidas em
FOREIGN KEY
, mesmo que o DB2 não crie automaticamente. -
Nomeie suas restrições com
CONSTRAINT nome
para facilitar a manutenção. -
PRIMARY
eUNIQUE
criam índices automaticamente;FOREIGN
não.
📈 Regras de integridade no DB2
-
Unicidade – Nenhum valor duplicado nas colunas-chave.
-
CHECK Constraints – Limita valores permitidos em colunas.
-
Integridade Referencial – Garante consistência entre
FOREIGN KEY
ePARENT KEY
.
Inclusão: valor da FOREIGN KEY
deve existir na PARENT TABLE
(ou ser NULL
).
Alteração: novo valor da FOREIGN KEY
também deve existir na PARENT
.
Exclusão: depende da regra:
-
RESTRICT
: impede exclusão se houver dependência. -
CASCADE
: exclui também os registros filhos. -
SET NULL
: define aFOREIGN KEY
comoNULL
nos registros filhos.
✅ Conclusão
O uso correto de chaves é essencial para garantir integridade, organização e performance no DB2. Com PRIMARY
, UNIQUE
, FOREIGN
e PARENT KEY
, você estabelece um modelo de dados relacional robusto e confiável.
Saber modelar com chaves é a base para qualquer aplicação COBOL com banco de dados.