DB2 - Banco de dados - DB2 keys (Chaves do DB2) - www.cadcobol.com.br



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 keys (Chaves do DB2)

Uma chave é uma coluna ou uma coleção ordenada de colunas que é identificada na descrição de uma tabela, um índice ou uma restrição referencial.
As chaves são cruciais para a estrutura da tabela em um banco de dados relacional.

As chaves são importantes em um banco de dados relacional porque garantem que cada registro em uma tabela seja identificado exclusivamente, ajudam a estabelecer e impõem a integridade referencial e estabelecem relacionamentos entre tabelas.
A mesma coluna pode fazer parte de mais de uma chave.

Uma chave composta é um conjunto ordenado de duas ou mais colunas da mesma tabela.
A ordem das colunas não é restringida pela ordem real na tabela.
O valor do termo , quando usado em relação a uma chave composta, indica um valor composto.
Por exemplo, considere esta regra:
"O valor da chave estrangeira (foreign key) deve ser igual ao valor da chave primária (primary key)".
Esta regra significa que cada componente do valor da chave estrangeira deve ser igual ao componente correspondente do valor da chave primária.

O DB2 suporta vários tipos de chaves.

Chaves exclusivas (Unique keys)

Uma restrição exclusiva é uma regra em que os valores de uma chave são válidos apenas se forem únicos.
Uma chave que é restrita a ter valores exclusivos é uma chave exclusiva .
O DB2 usa um índice exclusivo para impor a restrição durante a execução do utilitário LOAD e sempre que você usa uma instrução INSERT, UPDATE ou MERGE para adicionar ou modificar dados.
Cada chave exclusiva é a chave de um índice exclusivo.
Você pode definir uma chave exclusiva usando a cláusula UNIQUE da instrução CREATE TABLE ou ALTER TABLE.
Uma tabela pode ter qualquer número de chaves exclusivas.

As colunas de uma chave exclusiva não podem conter valores nulos.

Chaves primárias (Primary keys)

Uma chave primária é um tipo especial de chave exclusiva e não pode conter valores nulos.
Por exemplo, a coluna DEPTNO na tabela DEPT é uma chave primária.

Uma tabela não pode ter mais que uma chave primária.
As chaves primárias são opcionais e podem ser definidas nas instruções CREATE TABLE ou ALTER TABLE.

O índice exclusivo em uma chave primária é chamado de índice primário .
Quando uma chave primária é definida em uma instrução CREATE TABLE ou ALTER TABLE, o DB2 cria automaticamente o índice primário.

Se um índice exclusivo já existir nas colunas da chave primária quando ele for definido na instrução ALTER TABLE, esse índice exclusivo será designado como o índice primário quando o DB2 estiver operando no modo de nova função e criou implicitamente o espaço de tabela.

Chaves dos pais (Parent keys)

Uma chave pai é uma chave primária ou uma chave exclusiva na tabela pai de uma restrição referencial.
Os valores de uma chave pai determinam os valores válidos da chave estrangeira na restrição.

Chaves estrangeiras (Foreign keys)

Uma chave estrangeira é uma chave especificada na definição de uma restrição referencial em uma instrução CREATE ou ALTER TABLE.
Uma chave estrangeira refere-se a ou está relacionada a uma chave pai específica.

Ao contrário de outros tipos de chaves, uma chave estrangeira não requer um índice em sua coluna ou colunas subjacentes.
Uma tabela pode ter zero ou mais chaves estrangeiras.
O valor de uma chave estrangeira composta é nulo se algum componente do valor for nulo.

A figura a seguir mostra o relacionamento entre algumas colunas na tabela DEPT e a tabela EMP.

A tabela DEPT e a tabela EMP são mostradas com setas indicando as chaves primárias e estrangeiras de cada tabela.

Notas da figura

  • Cada tabela possui uma chave primária:
    • DEPTNO na tabela DEPT
    • EMPNO na tabela EMP

Cada tabela possui uma chave estrangeira que estabelece um relacionamento entre as tabelas:

  • Os valores da chave estrangeira na coluna DEPT da tabela EMP correspondem aos valores na coluna DEPTNO da tabela DEPT.
  • Os valores da chave estrangeira na coluna MGRNO da tabela DEPT correspondem aos valores na coluna EMPNO da tabela EMP quando um funcionário é gerente.

Para ver um relacionamento específico entre linhas, observe como as linhas sombreadas do departamento C01 e o número do funcionário 000030 compartilham valores comuns.



© Copyright IBM Corp.