O documento fornece instruções sobre como modelar bancos de dados no PostgreSQL usando o ERwin, um poderoso ferramenta de modelagem de banco de dados. Ele explica como criar fontes de dados ODBC para se conectar ao PostgreSQL, mapear tipos de dados, gerar scripts SQL e visualizar as tabelas criadas no banco de dados PostgreSQL usando o pgAdmin III. Algumas funcionalidades como gatilhos e procedimentos armazenados não são totalmente suportadas nesse fluxo.
1. Modelando PostgreSQL no ERwin 1
O CA ERwin, um dos mais avançados e utilizados modeladores de entidade relacional, não
possui suporte direto ao PostgreSQL, porém, seus recursos flexíveis geram, com pouquíssimas
alterações, scripts prontos para o PostgreSQL.
Para que o ERwin gere o modelo físico compatível com o PostgreSQL, deve-se fazer o
seguinte:
1. Pela ferramenta de Fonte de dados ODBC:
crie uma fonte de dados de usuário para o PostgreSQL 30, referenciando-se ao
database em questão, previamente criado. Deve-se criar uma fonte para cada database:
2. No ERwin, especifique o database target como ODBC/Generic Version 3.0:
2. Modelando PostgreSQL no ERwin 2
3. Crie os datatypes padrões do PostgreSQL. Primeiro defina os datatypes lógicos:
e depois o mapeamento do Logical to ODBC:
Salve essa definição com um nome significativo, por exemplo PostgreSQL_Datatype.dsm.
Com esse arquivo separado, pode-se associá-lo a vários outros modelos ERwin.
3. Modelando PostgreSQL no ERwin 3
4. Associe o arquivo de Datatype Padrões a cada modelo no menu
Tools►Datatypes►Model Datatype Options:
5. Crie os domínios necessários no menu Model►Domain Dictionary, como por exemplo:
UNIQUEID associado ao datatype SERIAL.
assim como outros domínios da organização associados aos respectivos datatypes do
PostgreSQL. O ideal é que se crie esses dominíos e sejam salvos num arquivo template,
para poder ser utilizado em outros modelos, sem ter que definí-los novamente.
4. Modelando PostgreSQL no ERwin 4
6. O nome das tabelas (lado físico) deve ser minúsculo. Basta especificar no menu
Tools►Names►Data Names Options, na aba Physical, especifique o Case para lower:
7. Uma vez o modelo físico pronto, pode-se gerar os scripts de SQL pelo menu
Tools►Forward Engineer►Schema Generation. Na janela do Forward Enginner
Schema Generation, faça as seguintes seleções de opções nos respectivos checkboxes,
conforme as figuras abaixo:
7. Modelando PostgreSQL no ERwin 7
8. Salve essas opções selecionadas, clicando no botão Save As, selecionando no botão de
opção o Selected model e atribuindo um nome a esse default, como por exemplo, Default
Schema for PostgreSQL-ODBC:
9. Depois disso, clique no botão Preview, para visualizar o código do script sql:
8. Modelando PostgreSQL no ERwin 8
10. Agora clique o botão Generate para aplicar o código do script sql no database. Se não foi
feita nenhuma conexão com o database ainda, então irá aparecer a tela de conexão:
Nessa conexão, deve-se especificar além do User Name e Password, também o ODBC
Data Source, que foi criado no ítem 1.
11. Uma vez feita a conexão com o database PostgreSQL, são aplicados os comandos sql
contidos no script gerado, cujo resultado com sucesso ou com erros irão aparecer:
9. Modelando PostgreSQL no ERwin 9
12. Pelo pgAdmin III, a console do PostgreSQL, pode-se agora visualizar as tabelas criadas
no database previamente criado:
13. A questão dos Triggers que serão transformados em Funções de Gatilho, fica faltando,
pois eles não são gerados de acordo com o padrão do PostgreSQL. Da mesma forma, as
Stored Procedures também não são transformadas.
Curitiba, 22 de abril de 2009
Cesar Alpendre