Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Modelagem bitemporal com o InfoSphere Data Architect, Parte 1: Modelando requisito temporal de período de aplicativo

Balaji Kadambi, Advisory Software Engineer, IBM
Photo of Balaji Kalambi
Balaji Kadambi é engenheiro de software consultor no laboratório da IBM em Bengaluru, Índia. Atualmente, ele faz parte da equipe de desenvolvimento de InfoSphere Data Architect e participou do desenvolvimento do recurso bitemporal no InfoSphere Data Architect V7.6.0. Suas áreas de interesse incluem Modelagem de dados e Bancos de dados. Balaji tem mais de 12 anos de experiência trabalhando no segmento de mercado de software comercial.
Rahul Jain, Staff Software Engineer, IBM
Photo of author Rahul Jain
Rahul Jain é engenheiro de software da equipe no laboratório da IBM em Bengaluru, Índia. Atualmente, ele faz parte da equipe de desenvolvimento do InfoSphere Data Architect. Suas áreas de conhecimento incluem Modelagem de dados e tecnologias da plataforma Eclipse. Rahul é mestre em tecnologia da informação pelo IIIT, em Bengaluru, Índia.

Resumo:  Regulamentos do segmento de mercado e pressões competitivas estão fazendo com que departamentos de TI precisem manter mais dados por períodos maiores e fornecer melhores maneiras para usuários corporativos analisarem eventos passados, atuais e futuros. Para alcançar esses objetivos, as firmas estão desenvolvendo aplicativos com conhecimento de tempo e consultas com bancos de dados temporais. A partir do IBM ® InfoSphere® Data Architect versão 7.6, é possível modelar bancos de dados relacionais como bancos de dados relacionais temporais. Esta série de dois artigos mostrará como acelerar a modelagem de dados temporais com banco de dados DB2 para z/OS versão 10, adotando InfoSphere Data Architect 7.6.

Visualizar mais conteúdo nesta série

Data:  15/Dez/2011
Nível:  Introdutório Também disponível em :   Inglês
Atividade:  470 visualizações
Comentários:  


Introdução

Esta série de artigos está dividida em duas partes. Este artigo (Parte 1) descreve a modelagem de dados temporais de período de aplicativo e mostra como é possível usar o InfoSphere Data Architect 7.6 para realizar as seguintes tarefas.

  • Criar um modelo de dados lógicos temporal.
  • Transformar o modelo de dados lógicos temporal em um modelo de dados físico temporal para DB2® para z/OS® versão 10 (modo Nova Função).
  • Gerar DDL com sintaxe temporal específica para DB2 para z/OS versão 10 (modo Nova Função) que pode ser executado no servidor de banco de dados.

A Parte 2 desta série descreve modelagem bitemporal que exige modificações em um modelo existente, e mostra como é possível usar o InfoSphere Data Architect versão 7.6 para incluir suporte bitemporal em um modelo de dados físico.


Descrição do problema

Você é membro da divisão de TI do Sample Bank. Sua equipe quer desenvolver um aplicativo para o departamento de empréstimo doméstico. O departamento de empréstimo doméstico especificou os seguintes requisitos que o aplicativo deve ter.

  • O banco oferece empréstimos domésticos a juros variáveis associados a uma taxa de referência que é especificada pelo Banco Central, pela duração que o cliente especificar.
  • O banco revisa os juros do empréstimo doméstico sempre que recebe uma notificação de que a taxa de referência será modificada.
  • A notificação de mudança na taxa de referência é emitida pelo Banco Central duas semanas antes da data em que a mudança será efetivada de fato. Os juros do empréstimo doméstico são então calculados com base na nova taxa de referência e inseridos manualmente no sistema.
  • A parcela mensal é baseada no valor do empréstimo e nos juros do momento.
  • As mudanças de juros devem ser controladas durante a duração do empréstimo.

Design do modelo

Como mostra a Figura 1, você cria uma versão simplificada do modelo de dados lógicos chamada Loan_Model.ldm, que contém entidades, atributos e relacionamentos que modelam os requisitos não temporais listados na descrição anterior do problema.


Figura 1. Modelo de dados lógicos simplificado do sistema de empréstimo

A entidade LOAN modela informações sobre um empréstimo em particular, incluindo:

  • LOAN ID: código identificador exclusivo para um empréstimo cedido pelo banco.
  • BORROWER ID: código identificador exclusivo para o solicitante de crédito.
  • LOAN AMOUNT: valor do empréstimo concedido pelo banco ao solicitante de crédito.

A entidade BORROWER modela informações sobre um solicitante de empréstimo, incluindo:

  • BORROWER ID: código identificador exclusivo do solicitante de crédito.
  • BORROWER NAME: nome do solicitante de crédito.
  • BORROWER ADDRESS: endereço do solicitante de crédito.

A entidade LOAN INTEREST modela as informações sobre os juros e as mensagens esperadas de um solicitante de empréstimo, incluindo:

  • LOAN ID: código identificador exclusivo para um empréstimo cedido pelo banco.
  • INTEREST: juros variáveis do empréstimo, calculados com base em uma taxa de referência.
  • INSTALLMENT AMOUNT: o valor da parcela que o solicitante paga, com base nos juros variáveis.

Criando atributos temporais com período de aplicativo em uma entidade

O design atual não permite que as alterações nos juros sejam controladas. Para controlar as mudanças de juros para um empréstimo, você precisa decidir incluir atributos de período de negócios na entidade LOAN INTEREST. Os atributos modelam uma maneira de controlar as alterações nos juros em um período de tempo relevante para os negócios. Você com certeza irá especificar que não há sobreposição nos períodos de negócios, pois há apenas uma taxa de juros associada com um empréstimo durante esse período de negócios.

Observação: Os termos período de aplicativo e período de negócios são usados com o mesmo sentido neste artigo. Ambos os termos descrevem como modelar alterações em um período de tempo que seja relevante para os negócios.

Isso pode ser feito realizando as seguintes etapas.

  1. Selecione a entidade LOAN INTEREST no Data Project Explorer. As propriedades da entidade são exibidas na visualização Properties.
  2. Para criar atributos de período de negócios na entidade, faça o seguinte.
    1. Selecione a caixa de seleção Business time period para incluir um período de negócios.
    2. Selecione a opção Business period without overlap para especificar que não há sobreposição de períodos de negócios para a entidade LOAN INTEREST selecionada, como mostra a Figura 2.


    Figura 2. Incluindo atributos de período de negócios na entidade LOAN INTEREST


    Ao selecionar essas opções, os atributos APPLICATION_START_TIME e APPLICATION_END_TIME foram incluídos na entidade LOAN INTEREST que modela a capacidade de controlar e consultar mudanças nos juros.

    Observação: Não é possível excluir as colunas de período de aplicativo. O ícone Delete é desativado para atributos de período de aplicativo, como mostrado anteriormente na Figura 2. Ao desativar os atributos de período de negócios, os atributos relevantes são automaticamente removidos.
  3. O modelo de dados lógicos com atributos de período de negócios é mostrado na Figura 3.

    Figura 3. Incluindo recursos temporais no modelo atualizado de dados lógicos


    Observação: O ícone da entidade temporal é diferente do ícone que indica uma entidade padrão. O ícone de entidade temporal contém uma decoração de relógio, como se pode ver na entidade LOAN INTEREST mostrada anteriormente na Figura 3.

Transformar o modelo de dados lógicos em um modelo de dados físicos

O design de modelo de dados lógicos recebeu aprovação do departamento de empréstimo do Sample Bank. Para modelar o armazenamento físico, é preciso transformar o modelo de dados lógicos em um modelo de dados físico temporal para o DBMS que você usa, DB2 para z/OS versão 10 (modo Nova Função).

Faça o seguinte para transformar o modelo.

  1. Clique com o botão direito no modelo de dados lógicos e selecione Transform to Physical Model no menu de contexto, como mostra a Figura 4.

    Figura 4. Transformando em um modelo de dados físico


  2. Selecione a opção Create new model na página Target Physical Data Model.
  3. Na página Physical Data Model File, especifique um nome de arquivo. Em seguida, selecione DB2 for z/OS e V10 (Modo Nova Função) conforme mostrado na Figura 5.

    Figura 5. Especificar banco de dados, versão e local para transformação


    Observação: A partir da versão 10, o DB2 para z/OS suporta modelos temporais no modo Nova Função. A partir da versão 7.6, o InfoSphere Data Architect suporta modelagem para esse tipo de banco de dados.
  4. Na página Options, especifique LOAN_SCHEMA no campo Schema name, como mostra a Figura 6. Mantenha todas as outras opções com os valores padrão.


    Figura 6. Página de opções de transformação


  5. Na página Output, visualize o status da transformação e clique em Finish para gerar o modelo de dados físico. O modelo de dados físico Loan_Model.dbm é criado a partir do modelo de dados lógicos.

Modelo de dados físico gerado

Inspecione o modelo de dados físico no Data Project Explorer, como mostra a Figura 7.


Figura 7. Visualizando o modelo de dados físico

Ao inspecionar o modelo de dados físico, você descobre que os seguintes itens são verdadeiros.

  1. O esquema LOAN_SCHEMA é criado.
  2. Três tabelas, LOAN_INTEREST, BORROWER e LOAN são criadas com as colunas que foram transformadas dos atributos do modelo de dados lógicos.
  3. A tabela LOAN_INTEREST é uma tabela temporal.
  4. São criados dois relacionamentos de chave estrangeira, LOAN_BORROWER_FK e LOAN_INTEREST_LOAN_FK.

Uma visualização de diagrama do modelo de dados físico do empréstimo é mostrada na Figura 8.


Figura 8. Modelo de dados físico do empréstimo

A tabela LOAN_INTEREST pode ser selecionada no Data Project Explorer para exibir as propriedades da tabela na visualização Properties. Aqui é possível verificar que as opções Business time period e Business period without overlap estão selecionadas, como mostra a Figura 9.


Figura 9. Visualização de propriedades da tabela LOAN_INTEREST

Agora que você verificou o modelo, deve analisá-lo, corrigir erros e gerar o script DDL que pode ser compartilhado com o administrador do banco de dados para implementar suas mudanças.


Analisar o modelo

Antes de o DDL ser gerado, use o assistente Analyze Model para analisar o modelo de dados físico em busca de erros comuns de design. Como o InfoSphere Data Architect versão 7.6 suporta modelagem temporal do DB2 para z/OS versão 10 (Modo Nova Função), o ambiente de trabalho pode analisar modelos em busca de erros comuns de design temporal.

Para analisar o modelo, faça o seguinte.

  1. Clique com o botão direito no nó local (banco de dados) do modelo de dados físico e selecione Analyze Model, como mostra a Figura 10, para abrir o assistente Analyze Model. Como você selecionou um modelo de dados físico, as opções de modelos de dados físico são selecionadas por padrão.

    Figura 10. Analisar Modelo


  2. Para analisar as propriedades temporais, desmarque a caixa de seleção Physical Data Model.
  3. Selecione a opção Temporal Check. Clique em Finish.

Gerar DDL

Agora que você validou o modelo, faça o seguinte para gerar o script DDL para implementar o modelo, e depois compartilhe o script com o administrador do banco de dados para executá-lo no servidor do banco de dados.

  1. Clique com o botão direito no esquema LOAN_SCHEMA no Data Project Explorer.
  2. Selecione Generate DDL como mostra a Figura 11.

    Figura 11. Gerar DDL para o novo esquema


  3. Preencha as páginas a seguir do assistente Generate DDL.
    • Não altere as configurações padrão na página Options.
    • Não altere as configurações padrão na página Objects.
    • Na página Save and Run DDL, como mostra a Figura 12, especifique um nome de arquivo. Lembre-se do nome do arquivo para que possa compartilhá-lo facilmente com um administrador de banco de dados, para que ele possa implementar suas alterações.

      Figura 12. Página Save and Run DDL


  4. Se sua organização permitir que você implemente modelos de dados diretamente no servidor, pode selecionar a opção Run DDL on Server antes de clicar em Next.
  5. Na página Select Connection, selecione uma conexão existente, como mostra a Figura 13, ou especifique uma nova conexão clicando em New.

    Figura 13. Selecionando uma conexão


  6. Verifique as opções selecionadas na página Summary, e clique em Finish para gerar o DDL.

Inspecionar o modelo implementado no servidor de banco de dados

Após o administrador de banco de dados executar o script DDL, é possível inspecionar as alterações implementadas no Data Source Explorer, expandindo os nós até o esquema LOAN_SCHEMA. Ao visualizar o modelo, verifique se as tabelas BORROWER, LOAN e LOAN_INTEREST foram incluídas no esquema LOAN_SCHEMA, como mostra a Figura 14.


Figura 14. Visualizando o modelo de empréstimo implementado

É possível verificar mais algumas das alterações. Na visualização Properties do ambiente de trabalho, selecione a tabela LOAN_INTEREST para exibir suas propriedades. Ao abrir a guia Columns, vê-se que a tabela LOAN_INTEREST é uma tabela de período de negócios que não permite períodos de tempo sobrepostos, como mostra a Figura 15.


Figura 15. Verificando atualizações na tabela LOAN_INTEREST


Conclusão

Neste artigo, você aprendeu a atender requisitos temporais de período de aplicativo para o departamento de empréstimo doméstico de um banco. Você aprendeu como o InfoSphere Data Architect versão 7.6 e o DB2 para z/OS versão 10 (Modo Nova Função) pode fornecer uma maneira conveniente de modelar dados temporais. Com pouco esforço, você transformou um modelo de dados lógicos que incluía uma entidade temporal em um modelo de dados físico com uma tabela temporal. Em seguida, analisou o modelo e gerou o script DDL necessário para implementar essas mudanças no banco de dados de destino.

Na Parte 2 desta série, você aprenderá como o InfoSphere Data Architect versão 7.6 ajuda a modelar requisitos bitemporais para dados.


Agradecimentos

Agradeço a Erin Wilson pelas sugestões valiosas e pela revisão desse artigo.


Recursos

Aprender

Obter produtos e tecnologias

  • Crie seu próximo projeto de desenvolvimento com a versão de teste do software IBM, disponível para download diretamente no developerWorks, ou passe algumas horas no SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.

Discutir

Sobre os autores

Photo of Balaji Kalambi

Balaji Kadambi é engenheiro de software consultor no laboratório da IBM em Bengaluru, Índia. Atualmente, ele faz parte da equipe de desenvolvimento de InfoSphere Data Architect e participou do desenvolvimento do recurso bitemporal no InfoSphere Data Architect V7.6.0. Suas áreas de interesse incluem Modelagem de dados e Bancos de dados. Balaji tem mais de 12 anos de experiência trabalhando no segmento de mercado de software comercial.

Photo of author Rahul Jain

Rahul Jain é engenheiro de software da equipe no laboratório da IBM em Bengaluru, Índia. Atualmente, ele faz parte da equipe de desenvolvimento do InfoSphere Data Architect. Suas áreas de conhecimento incluem Modelagem de dados e tecnologias da plataforma Eclipse. Rahul é mestre em tecnologia da informação pelo IIIT, em Bengaluru, Índia.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=780690
ArticleTitle=Modelagem bitemporal com o InfoSphere Data Architect, Parte 1: Modelando requisito temporal de período de aplicativo
publish-date=12152011

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).