Estou iniciando uma coleção de modelos free, que oferecem os diagramas e também os scripts de alguns bancos de dados comuns. Pois ao efetuar uma boa busca na Internet não consegui encontrar algo parecido. Encontrei um ótimo site, com bons diagramas (http://www.databaseanswers.org/data_models/index.htm)
e agora estou com a intenção de gerar os scripts para alguns diagramas e em especial com foco em detalhes da nossa realidade brasileira.

Já elaborei modelos de dois bancos:
controle de estoque e vídeo locadora,
com os diagramas e respectivos scripts. Os scripts foram testados no PostgreSQL mas devem rodar em qualquer SGBD, já que usam apenas SQL padrão.

Na lista de PostgreSQL (pgbr-geral) estamos discutindo sobre os mesmos no intuito de melhorá-los. Traga sua sugestão e outros modelos que queira compartilhar. Deixe comentários na seção projetos do site:
http://pg.ribafs.net/content/view/15/34/

Torne-se um colaborador enviando artigos para o site: http://pg.ribafs.net (basta entrar em contato).

Participe da lista de discussão do PostgreSQL:
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Elaborar um projeto, por pequeno que seja, mesmo riscando algo no papel antes de começar de fato é algo que ajuda muito quando se cria um aplicativo, quando se cria um banco de dados e mesmo em muitas outras áreas.

A modelagem de bancos de dados é uma etapa que evita retrabalho na criação de bancos de dados e juntamente com outros conhecimentos da teoria dos bancos de dados, normalização, integridade referencial e outros ajuda a criar bancos robustos.

Controle de Estoque:

http://pg.ribafs.net/down/projeto//modelos_free/controle_estoque.sql

Vídeo Locadora:

http://pg.ribafs.net/down/projeto//modelos_free/video_locadora.sql

Anúncios

O objetivo principal deste tutorial é mostrar como se cria gráficos (relatórios) bonitos diretamente de bancos do PostgreSQL ou de qualquer outro SGBD que gere arquivos de saída de suas consultas, como faz o psql. Apenas precisamos do SGBD e do software open-source GNUPlot.

O GNUPLOT é um aplicativo open source, destinado à construção de gráficos e superfícies. É uma poderosa ferramenta, usada por uma série de organizações por todo o mundo, como pode-se ver a partir dos links disponíveis na página oficial.

Veja o tutorial aqui:

http://pg.ribafs.net/down/docs/Tutoriais/Graficos/gnuplot_tutorial.pdf

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe – quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

Em minhas aulas de PostgreSQL estarei dando o exemplo aos alunos, colaborando com os assuntos relacionados ao PostgreSQL e diretamente.

Nasce mais um site sobre PostgreSQL.

Este site nasceu na necessidade de reunir material para um curso sobre PostgreSQL, portanto esse nome.

Conta com módulos sobre programação no cliente e no servidor, administração e projeto de bancos de dados.

Reuni o material e gerei PDFs de cada aula e também de cada módulo. Os três módulos juntos resultam em mais de 700 páginas.

Além do material para o curso que compartilho, também conta com uma grande quantidade de tutoriais de diversos assuntos, dicas, diagramas de modelos, exercícios e muita informação sobre o SGBD PostgreSQL.

Aqui – http://pg.ribafs.net

Replicação com Slony no Windows e no Linux

Depois de muito pesquisar e testar algumas soluções finalmente consegui ver funcionando replicação no PostgreSQL.

Aqui mostrarei a solução que fiz funcionar, que usa o Slony-I e o pgAdmin, com PostgreSQL-8.2, tanto no Windows quanto no Linux (Ubuntu 7.10).

De início tive como base este tutorial:
http://people.planetpostgresql.org/dpage/index.php?/archives/51-Setting-up-Slony-I-with-pgAdmin.html

também divulgado na lista internacional do PostgreSQL.

Esse tutorial destina-se ao WindowsXP. Testei e funcionou direitinho no Windows.

Acontece que ele se refere de vez em quando ao Linux o que me motivou a tentar a mesma solução no Linux (Ubuntu 7.10).

Pesquisei outros tutoriais e um bom livro. Acabei por conseguir ver a replicação também no Linux.

Veja um PDF com os passos aqui:

ReplicacaoPostgreSQLSlony1.pdf

Mini Tutorial sobre a Ferramenta PostgreSQL Autodoc

 

O autodoc é um utilitário que roda para tabelas do PostgreSQL e retorna documentos HTML, Dot, Dia e DocBook XML com a descrição e diagramas das tabelas. Existe integração com o DIA (http://www.gnome.org/projects/dia/) e com o GraphViz (http://www.research.att.com/sw/tools/graphviz/).

 

Autodoc site oficial – http://www.rbt.ca/autodoc/

 

Instalar

Para quem tem Linux Ubuntu basta atualizar seus repositórios e no terminal executar:

sudo apt-get install postgresql-autodoc

 

Aproveitar e instalar também o DIA para visualizar os diagramas:

sudo apt-get install dia

 

Instalar também o GraphViz:

sudo apt-get install graphviz

 

Para Executar

Acesse um terminal e faça login como usuário do PostgreSQL

su – postgres

postgres@cmiin07 postgresql_autodoc –help

 

Exemplo:

Com este exemplo estou gerando diagramas e DDLs de um esquema (comercial) do banco dba_projeto2.

postgres@cmiin07 postgresql_autodoc -u postgres -d dba_projeto2 -s comercial -p 5433 –password=postgres

 

Ele gerará um arquivo em HTML contendo a estrutura dos objetos do esquema, gerará um arquivo do diagrama para o DIA, um XML e vários outros.

 

Agora um exemplo abrangento todo o banco, que contém dois esquemas:

postgres@cmiin07 postgresql_autodoc -u postgres -d dba_projeto2 -p 5433 –password=postgres

 

Agora transformando o .dot em png:

postgres@cmiin07 dot -Tpng -o dba_projeto2.png dba_projeto2.dot

Com este comando gerará uma imagem oriunda do .dot.

Veja o arquivo anexo contendo uma amostra do exemplo citado.

Diagrama

Pelo visto existem muito mais recursos nesta ferramenta. O form para comentários pode enriquecer as informações aqui contidas.

 

 

Criando Novos Clusters no PostgreSQL para Windows

Para criar um novo cluster:
Crie um diretório para abrigar o novo cluster (lembre que o usuário postgres deve ter permissão de escrita nele).
– Ex.: data2 no diretório bin.

Criar o novo cluster (acesse o terminal no diretório C:\Program Files\PostgreSQL\8.3\bin) e execute:
– C:\Program Files\PostgreSQL\8.3\bin>initdb -U postgres -D data2

Editar o data2\postgresql.conf e alterar a porta para 5444

Iniciar o servidor do novo cluster
– pg_ctl -D data2 start

Acessar a console (psql) do novo cluster
– psql -p 5444 -U postgres

Listar os bancos
– \l — Observe que somente existem os bancos de templates. Temos um novo cluster.

Obs.: No Windows não consegui dar suporte a latin1 em novos clustes nem o original suporta.
Isso só foi conseguido em novos clusters no Linux.

Tecle Ctrl+Alt+Del no Windows ou ‘ps ax|grep post’ no Linux e veja que agora temos dois pg_ctl na memória.

———————————————————————
Criação de Novos Clusters no PostgreSQL 8.3 for Linux (Ubuntu 7.10):
———————————————————————

Criando os clusters

cluster em latin1

Criação do diretório para o cluster, data_latin1, tornando o usuário postgres seu dono:
mkdir /home/ribafs/data_latin1
su – postgres
export LANG=pt_BR.ISO-8859-1

/usr/lib/postgresql/8.3/bin/initdb –encoding latin1 -D /home/ribafs/data_latin1/
Editar o script data_latin1/postgresql.conf e alterar a porta para 5433

Conectando no cluster em latin1

bin/pg_ctl -D data_latin1 start
bin/psql -U postgres postgres -p 5433
\l — Veja que a codificação de todos os bancos é a latin1.

create database testeutf8 with encoding ‘utf8’;

Obs.: Cluster em latin1 com suporte a UTF-8.

cluster em utf-8

su – postgres
bin/initdb -D data_utf8

Como utf8 o default no Ubuntu, não preciso passar parãmetro.
Editar o script data_utf8/postgresql.conf e alterar a porta para 5434

Conectando no cluster utf-8

bin/pg_ctl -D data_utf8 start
bin/psql -U postgres postgres -p 5434

Bem, a saída para quem quer usar o 8.3.x e precisa de latin, no Linux, é esta (dica que recebi na lista de PostgreSQL pgbr-geral, do Euler).