IBM DB2 Query Toolbox - List foreign keys with columns in Db2 database



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

IBM Db2 Query Toolbox - List foreign keys with columns in Db2 database

A consulta abaixo retorna colunas constrant de chave estrangeira definidas em um banco de dados.
Query below returns foreign key constrant columns defined in a database.

Consulta - Query

SELECT REF.TABSCHEMA CONCAT '.' CONCAT REF.TABNAME AS FOREIGN_TABLE
,      '>-' AS REL
,      REF.REFTABSCHEMA CONCAT '.' CONCAT REF.REFTABNAME AS PRIMARY_TABLE
,      KEY.COLSEQ  AS NO
,      KEY.COLNAME  AS FK_COLUMN_NAME
,      ' = ' AS JOIN
,      KEYPK.COLNAME AS PK_COLUMN_NAME
,      REF.CONSTNAME AS FK_CONSTRAINT_NAME
  FROM SYSCAT.REFERENCES REF
       LEFT OUTER JOIN SYSCAT.KEYCOLUSE KEY ON 
        KEY.TABSCHEMA = REF.TABSCHEMA AND KEY.TABNAME = REF.TABNAME 
        AND KEY.CONSTNAME = REF.CONSTNAME
       LEFT OUTER JOIN SYSCAT.KEYCOLUSE KEYPK ON 
        KEYPK.TABSCHEMA = REF.REFTABSCHEMA 
        AND KEYPK.TABNAME = REF.REFTABNAME 
        AND KEYPK.CONSTNAME = REF.REFKEYNAME 
        AND KEYPK.COLSEQ=KEY.COLSEQ

Colunas

  • Foreign_table - nome da tabela estrangeira com nome do esquema
  • rel - símbolo de relacionamento que implica a direção
  • tabela_primária - nome da tabela primária (referenciada) com nome do esquema
  • no - id da coluna na chave. As chaves de um único canal sempre têm 1, as chaves compostas têm 1, 2, ... n para cada coluna da chavev
  • fk_column_name - coluna da tabela estrangeira
  • join - símbolo "=" indicando operação de junção para par de colunas
  • pk_column_name - coluna da tabela primária (referenciada)
  • fk_constraint_name - nome de restrição de chave estrangeira

Linhas

  • Uma linha representa uma coluna de chave estrangeira. Se a chave estrangeira consistir em várias colunas (chave composta), cada coluna aparecerá separadamente.v
  • Escopo das linhas: todas as chaves anteriores em um banco de dados e suas colunas
  • Ordenado pelo nome do esquema da tabela estrangeira e nome da tabela e posição ordinal da coluna na chave

Columns

  • foreign_table - foreign table name with schema name
  • rel - relationship symbol implicating direction
  • primary_table - primary (referenced) table name with schema name
  • no - id of the column in key. Single coumn keys always have 1, composite keys have 1, 2, ... n for each column of the key
  • fk_column_name - foreign table column
  • join - "=" symbol indicating join operation for pair of columns
  • pk_column_name - primary (referenced) table column
  • fk_constraint_name - foreign key constraint name

Rows

  • One row represents one foreign key column. If foreign key consists of multiple columns (composite key), each column appears separately.
  • Scope of rows: all foregin keys in a database and their columns
  • Ordered by foreign table schema name and table name and column ordinal posion in key


Resultado - Sample results

Chaves estrangeiras no banco de dados de amostra com suas colunas:
Foreign keys in Sample database with their columns:


Copyright © Dataedo.