|
Esta consulta lista tabelas que não possuem chaves estrangeiras, o que significa que não estão referenciando nenhuma tabela ou não estão no lado "muitos"
do FK.
This query listed tables that have no foreign keys, meaning they are not referencing any table or are not on the "many" side of FK.
A consulta abaixo lista algo um pouco diferente - tabelas que não fazem referência e não são referenciadas por outras tabelas.
Algo que chamávamos de Mesas do Solitário.
Este diagrama ilustra o conceito:
Query below lists something a little different - tables that are not referencing and are not referenced by other tables.
Something we called Loner Tables.
This diagram illustrates the concept:

Saiba mais sobre Loner Tables
Learn more about Loner Tables
Consulta - Query
SELECT TABLE_COUNT
, LONER_TABLES
, CAST(100 * LONER_TABLES / TABLE_COUNT AS DECIMAL (14,2)) CONCAT '%'
AS LONER_RATIO
FROM (SELECT COUNT(DISTINCT TAB.TABSCHEMA CONCAT '.' CONCAT TAB.TABNAME)
AS TABLE_COUNT
, SUM(CASE WHEN CONST.CONSTNAME IS NULL AND REF.CONSTNAME IS NULL THEN 1
ELSE 0 END) AS LONER_TABLES
FROM SYSCAT.TABLES TAB
LEFT OUTER JOIN SYSCAT.TABCONST CONST
ON CONST.TABSCHEMA = TAB.TABSCHEMA
AND CONST.TABNAME = TAB.TABNAME AND CONST.TYPE ='F'
LEFT OUTER JOIN SYSCAT.REFERENCES REF
ON REF.REFTABSCHEMA = TAB.TABSCHEMA
AND REF.REFTABNAME = TAB.TABNAME
WHERE TAB.TYPE ='T'
AND TAB.TABSCHEMA NOT LIKE 'SYS%'
) LONER_RATIO
|
Colunas
- table_count - número de tabelas no banco de dados
- loner_tables - número de Loner Tables no banco de dados
- loner_ratio - Taxa de solitários -% de tabelas de solitários no banco de dados
Linhas
- Escopo das linhas: a consulta retorna uma linha
|
Columns
- table_count - number of tables in database
- loner_tables - number of Loner Tables in the database
- loner_ratio - Loner Ratio - % of Loner Tables in the database
Rows
- Scope of rows: query returns one row
|
Resultado - Sample results
Loner Ratio in GSDB database is 9% - i.e. 9% of tables are not related with FKs to any other table.

Copyright © Dataedo.
|