Nossa empresa optou por usar o InfoSphere Data Architect (IDA) da IBM para a arquitetura de dados em relação ao nosso data warehouse e data marts.
Os arquitetos de dados projetaram originalmente várias tabelas "reutilizáveis" para nossos marts. Em outras palavras, uma tabela como CUSTOMER_DIMENSION pode residir estruturalmente em mais de um mart. Cada mart terá sua própria cópia de seus dados.
Acredito que para facilitar, eles definiram todas as tabelas (dimensões e fatos) dentro do mesmo "esquema" que chamaram de DB2ADMIN dentro do IDA.
Como um mart só pode ter uma tabela de fatos, tenho que examinar os diagramas dos relacionamentos das tabelas com as tabelas de fatos para determinar quais tabelas devem ser geradas em um arquivo DDL para um mart específico. A partir de agora, cada mart reside fisicamente em seu próprio esquema em um banco de dados. Portanto, não apenas tenho que escolher manualmente as tabelas para geração DDL, mas também ajustar manualmente cada arquivo DDL para substituir o esquema. Isso não é ideal, pois é um processo sujeito a erros.
Existe uma maneira de ter uma definição "base" de uma tabela e, em seguida, herdá-la ou qualquer outra coisa na tabela real no IDA? O que pretendo fazer é ter definições de esquema na ferramenta iguais às que temos em nosso servidor. Eu gostaria que apenas as tabelas aplicáveis aparecessem dentro de cada esquema (como um mart deveria ser - um fato e apenas suas tabelas de dimensão com as quais ele se preocupa). Mas, para economizar trabalho, prefiro que as definições da tabela estejam em um só lugar. Assim, os arquitetos poderiam fazer uma alteração, mas poderíamos gerar nossas tabelas com mais facilidade.
Isso é possível? Há algum guru com IDA por aí?
Infelizmente, parece que pelo menos na versão que estamos usando atualmente (7.5.3.0), essa funcionalidade não existe. Marcando esta como a resposta por enquanto, a menos que alguém descubra o contrário (inclusive em uma nova versão).