🧠 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 uma FOREIGN 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 e UNIQUE criam índices automaticamente; FOREIGN não.

📈 Regras de integridade no DB2

  1. Unicidade – Nenhum valor duplicado nas colunas-chave.

  2. CHECK Constraints – Limita valores permitidos em colunas.

  3. Integridade Referencial – Garante consistência entre FOREIGN KEY e PARENT 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 a FOREIGN KEY como NULL 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.