Um dos problemas de uma ferramenta de modelagem é a poluição visual causada por um banco de dados com muitas tabelas. No ERwin, isso não é diferente. Observe na figura 1 que mesmo num projeto de pequeno porte a visualização já perde um pouco de clareza (a resolução foi configurada para 1024x768).

Figura 1.
Projeto de pequeno porte que a visualização já perdeu um pouco de clareza

Além da quantidade de tabelas, outros fatores prejudicam a legibilidade no ERwin. Por exemplo, em alguns casos é necessário relacionar tabelas que estão em lados opostos do modelo; quando isso acontece com freqüência, o projeto vira uma verdadeira “teia” de linhas.

Veja algumas dicas para trabalhar num projeto com muitas tabelas:

  • Para navegar entre as tabelas de origem e destino de um relacionamento, clique com o botão inverso do mouse sobre a linha do relacionamento e selecione Go To Parent para ir à tabela pai, ou Go To Child para ir à tabela filho.
  • Para pesquisar uma tabela pelo nome, selecione a opção de menu Edit\Go To ou use a tecla de atalho G.
  • Uma boa prática é criar “agrupamentos”: aproxime as tabelas com funcionalidades em comum e defina cores diferentes para cada grupo (veja um exemplo na figura 2). Para mudar a cor ou a fonte de uma tabela, utilize a barra de ferramentas de formatação (figura 3). Para alterar a cor de várias tabelas ao mesmo tempo, utilize a tecla SHIFT.
Utilize a barra de ferramentas de formatação
Figura 3.

As opções da barra de ferramentas de formatação também estão disponíveis na caixa de diálogo Table Font/Color Editor, acessada através do menu Object Font/Color.

Nota: Através da caixa de diálogo All Default Font/Color é possível definir configurações de cor/fonte default para: i) o modelo completo; ii) os objetos selecionados; iii) os objetos novos.

Modularização

Quando um modelo possui muitas tabelas, a opção ideal para melhorar a legibilidade é dividílo em partes menores. No ERwin, essa divisão gera módulos conhecidos como subáreas. Se o projeto já tiver um agrupamento de tabelas por cor/área de interesse (como na figura 2), organize as subáreas de forma que cada grupo permaneça em uma área distinta. Para criar uma subárea, clique no botão Create Subject Area

Agrupamento de tabelas por cor/área de interesse
Figura 2.

A caixa de diálogo Subject Area Editor permite gerenciar todas as subáreas do projeto (figura 4). Para criar uma subárea, clique no botão New. Para configurar uma subárea, selecione-a na lista Subject Area e utilize as guias:

  • General: Configura o nome do autor da subárea;
  • Members: Indica quais tabelas devem permanecer dentro da área criada. Perceba que há nesta guia duas listas: Available Tables/Views e Included Tables/Views no modelo físico e Available Entities e Included Entities no módulo lógico. Quando uma nova área é criada, todas as Tabelas/entidades são adicionadas na segunda lista automaticamente. O projetista deve remover desta lista as tabelas/entidades que não farão parte da subárea.
  • Text Blocks: Permite copiar os labels criados na área principal para a subárea;
  • Definition: Usado para documentar a área que está sendo criada.
Caixa de diálogo Subject Area Editor
Figura 4.
Nota: NOTA: O ERwin sempre mantém uma área principal contendo todos os objetos, chamada de Main Subject Area. Ao contrário das subáreas, a Main Area não pode ser apagada.

Relacionamento entre subáreas

O ERwin permite fazer um relacionamento entre tabelas/entidades que estejam em subáreas diferentes. Para isso, basta selecionar o tipo de relacionamento na barra de ferramentas, abrir a subárea correspondente e clicar na tabela pai; em seguida, repetir o processo para a tabela filho. Para abrir uma subárea, utilize a seta do botão Create Subject Area, como mostra a figura 5.

Seta do botão Create Subject Area
Figura 5.

Nas figuras 6 e 7 temos um exemplo de um modelo dividido em subáreas. Para facilitar a visualização, as tabelas foram coloridas de acordo com a subárea. Observe que a tabela Fita foi identificada com uma cor diferente, por ser comum a ambos os módulos do sistema (toda a definição de cores deve ser feita manualmente pelo projetista).

Modelo dividido em subáreas
Figura 6.
Modelo dividido em subáreas
Figura 7.

Algumas observações sobre o uso de subáreas:

  • Todas as tabelas de uma subárea estão contidas na Main Subject Area. Quando uma tabela é criada em uma subárea, ela é automaticamente criada na Main Area.
  • Se uma tabela for alterada em uma subárea, ela será atualizada em todas as subáreas que a referenciam (incluindo a Main Area).
  • Quando uma tabela é excluída de uma subárea, o ERwin exibe uma caixa de diálogo questionando se a tabela será excluída somente da subárea ou de todo o modelo.
  • Para visualizar todos os relacionamentos de uma tabela, mesmo que as tabelas relacionadas não estejam na subárea atual, acesse a caixa de diálogo Relationship Editor, através do menu Edit\Relationship.

Comentando o projeto

Em projetos complexos, uma boa documentação se torna imprescindível. No ERwin a documentação pode ser estendida com comentários sobre tabelas, campos e relacionamentos. Para isso, siga os passos:

  • Comentário em tabelas: clique com o botão inverso do mouse sobre a tabela e selecione a opção Table Editor\Comment. O comentário de tabela pode ser visualizado no modelo através do botão Comments View da barra de ferramentas. Os comentários sobre colunas e relacionamentos são utilizados nos relatórios gerados pelo ERwin.
  • Comentário em campos: clique com o botão inverso sobre a tabela e selecione a opção Column Editor (é necessário estar no modelo físico). Na caixa de diálogo utilize a guia Comment para inserir o comentário.
  • Comentário em relacionamentos: clique com o botão inverso sobre a linha do relacionamento e selecione a opção Relationship Editor. Utilize a guia Comment para inserir o comentário.

Conclusão

Como visto, a utilização de cores, agrupamentos, comentários, bem como a definição de subáreas facilitam em muito a visualização e manutenção de um projeto no ERwin. O uso desses recursos, apesar de ser um pouco trabalhoso no início, permite a produção de modelos bem modularizados e legíveis.