AllFusion ERwin Data Modeler

Overview

 09-05pic02.JPG 

O AllFusion ERwin Data Modeler, mais conhecido como ERwin, é uma ferramenta case para modelagem de dados relacional e dimensional, que permite a construção de modelos de dados lógicos (DER) e modelos de dados físicos. Atualmente comercializado pela CA (Computer Associates), caracteriza-se pelo fácil manuseio e rápido entendimento das funcionalidades, sem no entanto, deixar de disponibilizar recursos avançados para a construção, documentação, padronização, disponibilização e consulta dos modelos de dados.

 Requisitos

Compatível com o sistema operacional Windows (2000 / Millennium Edition / XP / 2003), o ERwin requer recursos de software e hardware relativamente baixos: 85 MB de espaço livre em disco e 256 MB de memória RAM, recomendando-se 512 MB de RAM para modelos de dados grandes.

 

Instalação

O processo de instalação do ERwin é extremamente simples e inicia-se com a execução do assistente de instalação (InstallShield Wizard for AllFusion ERwin Data Modeler 4.1.4). Este assistente basicamente solicita ao usuário que informe o local de instalação do software e quais componentes devem ser instalados, como mostra a Figura 1.

 

09-05pic03.JPG

Figura 1. Escolha do local de instalação e dos componentes a serem instalados.

 

As demais janelas do assistente exibem algumas informações, possibilitando ao usuário prosseguir com a instalação (botão Next / Agree), voltar à tela anterior (botão Back) para alterar alguma escolha, ou cancelar o processo (botão Cancel). Após a cópia dos arquivos, é executado o processo de registro (RegisterIT) do ERwin. Caso o registro não seja concluído, a instalação do ERwin ficará como Trial.

OBS: no endereço http://www3.ca.com/trials/collateral.aspx?cid=72121 ), está disponível a última versão do ERwin para avaliação.

 

Interface

A interface do ERwin é muito intuitiva, além de apresentar recursos e qualidade gráfica excepcionais. Sua área de trabalho é composta pela janela de visualização do modelo (Stored Display), pelos menus, barras de ferramentas (Toolbars) e pelo painel de navegação (Model Explorer), como mostra a Figura 2.

 

09-05pic04.JPG 

Figura 2. Área de trabalho do ERwin.


Tipos de Modelos de Dados

O ERwin permite ao usuário trabalhar com três tipos de modelos de dados: somente lógico (Logical Only), somente físico (Physical Only) ou lógico e físico (Logical/Physical), que é um modelo que contém o modelo de dados lógico e o modelo de dados físico juntos. O tipo de modelo é selecionado ao criar um novo modelo de dados do ERwin, como mostra a Figura 3.

 

09-05pic05.JPG
Figura 3
. Selecionando o tipo do modelo de dados a ser criado.

 

OBS: antes da versão 4, todo modelo de dados do ERwin tinha, obrigatoriamente, o modelo lógico e o modelo físico juntos, ou seja, o modelo sempre era do tipo Logical/Physical. Devido a isto, no momento da criação do modelo de dados lógico, era necessário especificar o banco de dados para o qual o modelo de dados físico seria criado. Isto era “um problema”, visto que nesta fase do projeto lógico, na maioria das vezes, ainda não havia sido definido o banco de dados do sistema (esta decisão geralmente é feita no projeto físico).

 

Derivação de Modelos de Dados

Na nova versão do ERwin, foi incluído o recurso de derivação de modelos que permite gerar um modelo de dados a partir de outro. Por exemplo, a partir de um modelo de dados lógico deriva-se facilmente um modelo de dados físico. Por definição, o modelo lógico sempre é o “source” (origem ou pai) do outro modelo, mesmo que ele (o modelo lógico) tenha sido derivado a partir de um modelo físico, como mostra a Figura 4.

 

As derivações permitidas no ERwin são:

 

   - Derivar um modelo lógico a partir de um modelo lógico, físico ou lógico/físico;

   - Derivar um modelo físico a partir de um modelo lógico, físico ou lógico/físico;

   - Derivar um modelo lógico/físico a partir de um modelo lógico.

 

As alterações feitas em qualquer um dos modelos, pode ser replicada para o outro modelo “linkado”, seja ele source ou não, através do recurso de Sync with Model Source (sincronização entre os modelos de dados).

 

09-05pic06.JPG 

Figura 4. Derivação e sincronização.

 

Formas de Utilização

O ERwin permite que o usuário trabalhe com os modelos de dados de duas maneiras. A primeira delas e a mais convencional trata os modelos de dados como arquivos físicos do Windows, geralmente com a extensão ER1. A outra maneira envolve a ferramenta da CA, chamada de AllFusion Model Manager. O Model Manager, como é conhecido, é o repositório dos modelos de dados do ERwin. Este repositório é criado em um banco de dados, e neste caso, o modelo de dados do ERwin é salvo no formato de registros nas tabelas do Model Manager. A Figura 5 ilustra esta idéia. Mas informações sobre o repositório podem ser encontradas no endereço http://www.e-central.com.br/ca/erwin/sessao12.htm .

 

 

09-05pic07.JPG

Figura 5. Modelos no formato de arquivo X Modelos de dados no repositório.

 

OBS: o ERwin também trabalha com os modelos de dados no formato XML.


Recursos Básicos

O ERwin disponibiliza os padrões de notação IDEF1X (Integration DEFinition for Information Modeling) e IE (Information Engineering, mais conhecida como “pé-de-galinha”) para os modelos de dados lógicos e as notações IDEF1X, IE e DM (Dimensional Modeling) para os modelos de dados físicos.

 

É compatível com a maioria dos SGBD’s, como mostra a Figura 6. Para os bancos de dados não suportados, pode-se utilizar o tipo ODBC / Generic.

 

09-05pic08.JPG 

Figura 6. Bancos de Dados suportados pelo ERwin 4.1.4.

 

Provê suporte a todos os conceitos de modelagem relacional, tais como entidades fracas, supertipos e subtipos (generalização / especialização), relacionamentos identificadores e não-identificadores, chaves primárias (PK), chaves estrangeiras (FK), etc., como mostrado no exemplo da Figura 7. O ERwin também permite a criação de modelos de dados dimensionais para a construção de Data Warehouse.  

Além disto, como princípio básico de toda ferramenta case, o ERwin permite a criação de entidades/tabelas, atributos/colunas, índices, regras de verificação (check constraint), especificação do domínio do atributo, do tipo de dados da coluna, bem como da descrição da funcionalidade de qualquer objeto criado no modelo de dados.

No modelo de dados físico, permite a criação de objetos de banco de dados, tais como sequences, views, procedures, triggers, tablespaces / filegroups, rollback segments e databases.

 

09-05pic09.JPG 

Figura 7. Exemplo de modelo de dados relacional no ERwin.

 

O ERwin possui também um recurso muito flexível e útil para documentar itens definidos pelo usuário. Este recurso, chamado de UDP (User Defined Properties) permite, por exemplo, a criação de um campo, ou seja, uma UDP, para se preencher o nome do analista responsável por cada tabela do modelo de dados, ou uma UDP para categorizar a tabela de acordo com o seu volume, como mostra a Figura 8A.

É possível criar UDP’s em vários níveis, ou seja, podem ser criadas UDP’s de tabela, de modelo, de atributo, de relacionamento, de índice, etc. As UDP’s podem ser do tipo texto, inteiro, real, data, lista de valores, ou do tipo Command que permite abrir um arquivo externo ao modelo de dados, como mostrado na Figura 8B.

 

09-05pic10.JPG

Figura 8A. UDP de tabela.                                     Figura 8B. UDP de modelo.

 

Para refinar o modelo de dados, o ERwin disponibiliza recursos de edição, tais como formatação das fontes dos nomes dos objetos, das cores dos objetos, e itens de desenho como linhas, círculos e retângulos (disponíveis na barra de ferramentas Drawing Objects). Alguns destes recursos são mostrados na Figura 9.

 

09-05pic11.JPG 

Figura 9. Recursos de edição do ERwin.

 

Para organizar o modelo de dados utiliza-se o recurso de Subject Area, que permite a segmentação do modelo de dados em módulos, de acordo com os critérios definidos pelo modelador. Um modelo de dados do ERwin possui sempre no mínimo uma subject area, denominada Main Subject Area, que contém todas as entidades/tabelas e relacionamentos do modelo. Um modelo pode ter várias subject areas, cada uma com seu conjunto de entidades/tabelas. Por outro lado, uma entidade/tabela pode estar inserida em mais de uma subject area. Isto não implica em duplicá-la no modelo (o ERwin apenas a define como integrante da subject area). A Figura 10 ilustra este recurso.

 

09-05pic12.JPG 

Figura 10. Subject Area no ERwin.

 

O recurso Stored Display permite ao modelador definir quais informações deseja mostrar no modelo de dados, e qual o nível de detalhe a ser exibido. Com este recurso, um mesmo modelo de dados pode ser exibido de várias formas. Por exemplo, para uma apresentação de nível gerencial, pode ser criada uma stored display que exibe apenas as entidades e seus relacionamentos; para uma apresentação mais técnica, pode ser criada uma stored display que exibe as entidades e seus atributos, com a indicação do tipo de dados, chaves primárias, chaves estrangeiras e chaves secundárias (AK e IE), como mostra o exemplo da Figura 11.

 

09-05pic13.JPG

Figura 11. Stored Display no Erwin com duas opções de exibição para o mesmo modelo de dados.

 

Como toda ferramenta case que se preze, o ERwin disponibiliza alguns recursos úteis para auxiliar as atividades diárias de modelagem de dados, automatizando algumas tarefas e agilizando outras. O primeiro deles, denominado Forward Engineer / Schema Generation, permite a geração dos scripts de criação dos objetos existentes no modelo de dados físico. Permite ainda selecionar quais objetos ou tipos de objetos (tabelas, views, sequences, etc) deseja-se gerar, podendo-se salvar o script ou disparar a criação diretamente no banco de dados.   

O processo inverso também é possível no ERwin. Com o recurso de Engenharia Reversa (Reverse Engineer) os objetos existentes em um banco de dados ou script podem ser importados para um modelo de dados.

Para atualizar um modelo de dados com base em outro modelo, script ou até mesmo a partir de um banco de dados, pode-se utilizar o recurso Complete Compare. Este recurso realiza as comparações e disponibiliza um relatório com as diferenças existentes entre os itens comparados, possibilitando a atualização automática das opções desejadas. A Figura 12 ilustra a idéia destes recursos.

 

09-05pic14.JPG

Figura 12. Complete Compare, Forward Engineer e Reverse Engineer.

 

A utilização de macros permite automatização de tarefas. Como exemplo, pode-se construir uma macro que para cada tabela do modelo de dados, gera um script adicional com as permissões a serem concedidas no(s) objeto(s) criado(s). A Figura 13 exibe uma macro criada e seu resultado quando da geração do script.

 

09-05pic15.JPG 

Figura 13. Macro para a geração de script de privilégios nas tabelas do modelo de dados.

Recursos Extras

Além dos recursos básicos de uma ferramenta case tradicional, o ERwin disponibiliza alguns recursos extras que agregam qualidade e padronização aos modelos de dados. Um deles, o recurso Naming Standards, permite a criação de um glossário de termos que pode ser utilizado como forma de consulta, checagem, conversão e padronização dos termos que compõem os nomes dos objetos.

Por exemplo, pode-se criar um glossário de termos utilizados nos nomes das colunas das tabelas. Neste glossário, a palavra CODIGO será sempre abreviada para COD, a palavra DESCRICAO abreviada como DESC e assim por diante. Deste modo, quando o modelo físico for gerado a partir do modelo lógico (onde as palavras que compõem o nome dos atributos das entidades estão escritas por extenso), o ERwin pode ser configurado para consultar este glossário e aplicar as devidas abreviações nas palavras que irão compor os nomes das colunas das tabelas. A Figura 14 mostra um exemplo de glossário.

 

09-05pic16.JPG

Figura 14. Naming Standards (glossário).

 

Já o Datatype Standards provê o mapeamento dos domínios do modelo lógico em tipos de dados lógicos, que não necessariamente são específicos para algum banco de dados. O conceito de domínio do atributo refere-se à natureza dos dados deste atributo (string, data, numérico, dado formatado, como por exemplo CPF, etc.). O Datatype Standard também realiza o mapeamento dos tipos de dados lógico para os tipos de dados físico, de acordo com o SGBD selecionado, além de permitir a construção de um “de-para” dos tipos de dados físicos de um SGBD para outro. Por exemplo, o domínio DATETIME pode ser mapeado para o tipo de dados lógico DATETIME HOUR TO HOUR, que por conseguinte será mapeado no SGBD SQL Server 2000 para o tipo de dados físico DATETIME e no SGBD Oracle 9i para DATE.

A Figura 15 mostra um exemplo de mapeamento criado.

 

09-05pic17.JPG

Figura 15. Datatype Standards.

 

Se tratando de uma ferramenta bem completa como o ERwin, não poderiam faltar os recursos para a disponibilização e consulta dos modelos de dados. Para isto, existem vários tipos de relatórios, com destaque para os relatórios HTML construídos através do Report Builder, como mostra o exemplo na Figura 16. Também é possível construir relatórios textos (.txt, .csv, etc) com o recurso Data Browser.

 

09-05pic18.JPG

Figura 16. Relatório HTML com mapa de imagens e janelas pop-up com descrição dos itens.

 

Para finalizar, grande parte das configurações mostradas podem ser salvas em um modelo de dados padrão (lógico, físico ou lógico/físico) denominado de ERwin Template, cujo arquivo possui a extensão ERT. A utilização de templates aumenta a produtividade e garante, de certa forma, um nível de padronização na construção do modelo de dados.

OBS: também é possível a criação de templates para relatórios HTML ou texto.

 

OBS: no dia 1º de maio de 2006, a CA anunciou nos EUA o lançamento da nova versão do produto (ERwin r7), mas que ainda não está sendo amplamente utilizada pela comunidade de usuários ERwin. Informações da nova versão no endereço http://www3.ca.com/press/PressRelease.aspx?CID=88087

 

Outras informações sobre o ERWin, podem ser obtidas as no site da CA, no endereço

http://www.e-central.com.br/ca/erwin/sessao08.htm.

 

Até mais e não percam os próximos artigos, onde aprofundarei os conceitos e detalharei a utilização dos recursos do ERwin.

 

Grande abraço!

 

Gustavo Aguilar de Araújo