Diagrama Entidade-Relacionamento com Dia e tedia2sql para o PostgreSQL

Esse artigo procura demonstrar como é fácil criar uma diagrama de Entidade-Relacionamento com o Dia e gerar o SQL DDL para criar as tabelas através do tedia2sql para o banco de dados PostgreSQL.

[ Hits: 46.660 ]

Por: Rogério Sousa Guimarães em 05/11/2008 | Blog: http://rojeryo.dyndns.org


Gerenciando tabelas



Criando o relacionamento entre as tabelas

Para relacionar as tabelas, selecione o objeto foreign-key, clique na tabela ufs e com o botão pressionado arraste-a até a tabela cidades, acesse a propriedade do relacionamento e configure-o conforme figura abaixo.
Linux: Dia - relacionamento entre tabelas

Inserindo dados na tabela

Para inserir registro nas tabelas construídas através do diagrama, adicione o objeto values, acesse as propriedades, no campo estereótipo informe nome da tabela(campos). Configure-o conforme figura abaixo.
Linux: Dia - inserindo dados na tabela
Adicionando registros, clique dentro do objeto values e insira os dados da tabela correspondente, conforme figura abaixo.
Linux: Dia - adicionando registros na tabela
Para mais informações: Using Dia to Interact With tedia2sql

Gerando SQL

Finalmente vamos gerar o SQL pra criar as tabelas construídas no diagrama.

Para converter o diagrama em SQL, digite:

tedia2sql -i exemplo.dia -o script.sql -t postgres
Linux: Dia - gerando SQL das tabelas
Onde:
  • -i = opção para informar o arquivo de entrada;
  • exemplo.dia = nome do arquivo do diagrama;
  • -o = opção para informar o arquivo de saída;
  • script.sql = arquivo com SQL para criar as tabelas/dados;
  • -t = opção para selecionar o banco de dados;
  • postgres = para qual banco de dados que deverá ser convertido o diagrama.

Para mais informações digite:

tedia2sql --help

Agora é criar as tabelas/relacionamentos/registros a partir do arquivo script.sql.

Testado no sistema operacional Linux Debian Lenny 2.6.26-1-686.

Página anterior    

Páginas do artigo
   1. Sobre o Dia
   2. Gerenciando tabelas
Outros artigos deste autor

Instalando Debian Lenny no laptop Lenovo ThinKPad SL400

Configurando DHCP com DNS (Bind9) na rede local - Debian Linux

Leitura recomendada

Programando PostgreSQL + PHP

PostGIS no Slackware

psql - Conheça o básico

Pool de Conexões Transparentes no Postgres usando o pgpool

Automação comercial livre no Slackware 12

  
Comentários
[1] Comentário enviado por kabalido em 05/11/2008 - 17:32h

Muito bom artigo! Valeu!

[2] Comentário enviado por nelson777 em 06/11/2008 - 13:32h

Venho acompanhando várias soluções de software livre para DERs à muito tempo, e o melhor software que encontrei para esta finalidade é o Power*Architect de uma empresa canadense chamada SQLPower. Muito bom, feito em java, portanto multiplataforma. Tem tudo que é necessário, diagramação, engenharia reversa, geração do sql, comparação do diagrama com o banco ou com outro script, entre outras coisas. Licença GPL. Está em: http://www.sqlpower.ca/page/architect

-Nelson Teixeira

[3] Comentário enviado por pedroarthur.jedi em 06/11/2008 - 17:20h

Ei cara, desculpe mas não li o artigo. Porém venho a comentar pois o DIA é uma grande ferramenta! VEnho-o usando para vários fins, desde projeto de redes até modelos ER, porém, sem nunca ter exportado os modelos. PArabéns pelo artigo!

[4] Comentário enviado por silvioadl em 20/11/2008 - 01:24h

Parabéns, belo artigo!

[5] Comentário enviado por rl27 em 05/01/2009 - 09:37h

Nelson, realmente o Power*Architect é bom mesmo, naquilo que se propõe a fazer no momento. Baixei a versão 0.9.12. Tem recursos muito interessantes mesmo.
Mas, por enquanto, não há suporte a views e triggers, por exemplo. Mas isso está previsto para a versão 1.0.0. Aí o Power*Architect vai ficar o bicho!

Estou com a versão 0.96.1 do Dia. Ele não é voltado só para bancos de dados. A especialização nesta área fica por conta do tedia2sql. É "meio gambiarra" (no bom sentido, é claro), pois adapta objetos UML para bancos de dados. Porém já traz suporte a views, triggers e uma penca de coisas.
Ainda só traduzi a metade do documento indicado pelo rojeryo na segunda parte deste artigo: http://tedia2sql.tigris.org/usingtedia2sql.html. Esse documento explica todos os conceitos que fazem o tedia2sql funcionar.

As duas ferramentas são muito boas. Ambas suportam bancos como MySQL e PostgreSQL (entre outros). Cada uma seguindo seu caminho e propondo auxiliar muuuuiiitooooo os DBAs. E são software livre!!! Lembrem-se que esses projetos precisam de ajuda. Espero poder ajudar de alguma forma. O simples fato de usá-los e reportar bugs já é um bom começo.

Estou enviando este comentário com a intenção de ajudar quem estiver escolhendo uma
ferramenta pra esse fim, como eu.

Valeu pelo artigo rojeryo! Foi através dele que comecei a pesquisar mais a fundo sobre a criação de diagramas pra bancos de dados (com geração automática do SQL DDL). Trabalho com desenvolvimento de software, mas por força do destino (ou do xHarbour+DBF!!! rsrsrs), só agora estou me aprimorando na administração de bancos SQL.

[6] Comentário enviado por rojeryo em 05/01/2009 - 22:36h

Rodrigo é isso ai, seu comentário foi muito pertinente... E com certeza ira ajudar alguém a se decidir sobre qual ferramenta a utilizar...

Abs,

R. Guimarães

[7] Comentário enviado por franciscosouza em 30/07/2009 - 00:01h

Excelente artigo, parabéns. Mas eu fico com o Power Architect também, é uma ferramenta extremamente profissional! ;)

Um abraço, e sucesso!

[8] Comentário enviado por rojeryo em 30/07/2009 - 12:16h

Francisco,

Obrigado...

Abs,

R. Guimarães

[9] Comentário enviado por juin em 09/11/2010 - 16:43h

Rpz, cada dia me fascino mais e mais com software livre, a apenas 2 anos me dedicando exclusivamente em aprender software livre, já estou mais que satisfeito, cada dia descubro mais uma maravilha..e este artigo é uma delas. sempre usei o dia para projeto de rede, e agora vou usar para projetar meus bds também! muito bom o artigo.

Parabém ao rojeryo pelo artigo! muito bom mesmo!

[10] Comentário enviado por rojeryo em 09/11/2010 - 20:16h

Olá Júnior,


Obrigado....

Quanto a sua solicitação "Queria pedir sua autorização para citar seu artigo no meu blog e aqui no site" pode utilizar sem problema!!!

Abs,

R. Guimarães


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts