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: 50.380 ]

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

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

Instalando Debian Lenny no laptop Lenovo ThinKPad SL400

Leitura recomendada

Checklist de performance do PostgreSQL 8.0

PostgreSQL no Slackware - Importando e Exportando arquivos TXT e CSV

Unificando bases de dados com Schemas

psql - Conheça o básico

PostgreSQL 9.4 - Replicação com slots

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts