Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nilson Cl.

Diagram no postgresql como fazer ?

Recommended Posts

Boa tarde pessoal.

 

Gostari a de saber se tem como montar diagrama no postgresql

 

e como proceder?

 

pois sou novo em postgre, sempre usei bd´s da microsoft.

 

agradeço a atenção

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Nilson,

 

Por favor explique melhor a sua dúvida, assim eu e outros usuários poderemos ajuda-lo de forma mais objetiva.

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal

 

Sempre utilizei o sql sever da microsoft para criar o bancos de dados para cliente e para mim.

 

agora estou começando a utilizar o postgresql, fazendo testes para ver como ele funciona e desempenho.

 

Montei duas tabelas que ela são relacionadas, entre elas.

 

Coluna codigo da tabela clienteCont para a coluna clienteCont na tabela Calculo.

 

Gostaria de fazer como faço no sql Server. Criar um relacionamento com o modo de atualizar e exclusão em cascata.

 

Quando excluir o cliente da tabela cliente automaticamente devera excluir os calculos deste cliente.

 

ele faz isto graficamente ou tenho que criar trigger?

 

 

agradeço atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Nilson,

 

Eu utilizo o Postgres há alguns anos e estou muito satisfeito. Ele segue os padrões do SQL, tem ótimo suporte a funções e triggers, é robusto, implementa bem a integridade referencial, tem muitas funções nativas disponíveis, enfim, ele é um MySQL bem turbinado.

 

A única desvantagem que confesso que existe é o fato de muitos desenvolvedores terem se acomodado usando o MySQL, então para o Postgres não existe tanta troca de informação em foruns como existe para o MySQL, assim como a maioria das aplicações free que utilizam banco de dados, utilizam o MySQL. Essa sua dúvida mesmo, se ela tivesse sido relacionada com o MySQL, certamente você tá teria obtido várias respostas. Mas mesmo assim, para mim tem valido muito a pena usar o Postgres, pois se eu estivesse usando o MySQL já teria ficado na mão várias vezes em aplicações que desenvolvo.

 

Vamos a sua dúvida, para resolver essa questão é simples, basta na criação da tabela você utilizar a cláusula "ON DELETE CASCADE" na coluna que é chave estrangeira, no caso das tabelas que você falou ficaria assim:

 


create table clienteCont(
   codigo integer PRIMARY KEY
);

create table Calculo(
   codigo serial PRIMARY KEY,
   clienteCont integer REFERENCES clienteCont(codigo) ON DELETE CASCADE
);

A cláusula "ON DELETE CASCADE" quer dizer que se um cliente for excluido na tabela clienteCont, todos os registros da tabela Calculo que fizerem referência a ele também serão excluídos.

 

As cláusulas possível são:

ON DELETE CASCADE (Apagar em cascata)

ON UPDATE CASCADE (Atualizar em cascata)

ON DELETE CASCADE ON UPDATE CASCADE (Apagar e atualizar em cascata)

 

Caso você não queira permitir que um cliente seja excluído se tiver registros na tabela Calculo, basta omitir o "ON DELETE CASCADE". Se você quiser deixar isso mais claro ainda, basta usar a cláusula "ON DELETE RESTRICT", ela quer dizer que um determinado registro não pode ser excluído se houver alguma coluna que a referencie, esta é a opção padrão para chaves estrangeiras no Postgres.

 

Espero que tenha sido útil a informação para você!

 

Até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde M. Simão

 

Cara ajudou muito, esta resposta.

 

ja estou utilizando o postgresql 9.1 como bd para uma aplicação.

 

 

valeu se eu tiver alguma duvida de mando um novo post.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.