2009/6/16 Osvaldo Kussama <[email protected]>: > Caro Leandro: > > Dedique meia hora de seu tempo para ler o manual, economize seu dinheiro, e, > o mais importante, aprenda a fazer por você mesmo. > > > 2009/6/15 Leandro Barbosa Silva <[email protected]> >> >> Saudações a todos. >> >> Preciso realizar um trabalho(Curso Técnico) de PostgreSQL, mas não >> possuo domínio suficiente para o tal. Sou profissional de >> infra-estrura bruta (telecom e redes). O trabalho é dividido em duas >> partes, das quais a primeira (criar o banco, tabelas, roles, esquemas >> e usuários), com a devida pesquisa consegui fazer sem grandes >> dificuldades. Porém, a segunda parte envolve a criação de Functions, e >> por mais que eu tenha pesquisado e lido manuais, não consegui >> concluí-la. >> >> Bom, é fato que devo entregar esse trabalho, por isso venho até vocês >> na esperança de que alguém tenha a diposnibilidade de concluir essa >> parte de meu trabalho. Claro que sei que tal tarefa exige tempo, e >> consequentemente irá me gerar um custo. Podemos perfeitamente acertar >> um valor. >> >> São apenas 4 questões, que para quem está habituado com o PostgreSQL, >> creio que não será tão difícil quanto é para mim. > > É possível fazer funções SQL para atender estas questões. > Dê uma lida em: > http://pgdocptbr.sourceforge.net/pg80/xfunc-sql.html > que você verá como realmente é facil. > > >> >> >> As questões são as seguintes: >> >> >> "Considere as seguintes tabelas: >> >> funcionarios (id, nome, data_nascimento, salario, nro_departamento, >> id_superior_imediato) >> >> dptos(id, nome, id_gerente) >> >> projeto(id, nome, duracao, id_dpto) >> >> atividdes(id_projeto, id_funcionario, descricao, horas_trabalhdas) >> >> >> >> Responda as seguintes questões: >> >> 1) Crie uma função que receba como parâmetro o numero de um >> departamento e retorne o total de horas trabalhadas pelo gerente. > > Faça uma junção da tabela dptos com funcionarios e atividades. > Agrupe por id_gerente e some as horas trabalhadas. > Para o departamento em questão ($1). > > >> >> >> 2) Crie uma função que some as horas trabalhadas de cada projeto >> e apresente a duração das mesmas em dias. > > Faça uma junção de projeto com atividades, agrupe por projeto , some as > horas e divida por 24. > > >> >> >> 3) Crie uma função que receba como parâmetro o numero de um >> departamento e exclua todos os registros de participação em projetos >> controlados pelo mesmo. > > Apenas um comando DELETE com a cláusula USING. > http://pgdocptbr.sourceforge.net/pg82/sql-delete.html > > > >> >> >> 4) Crie uma função que receba como parâmetro s dois valores de >> porcentagem e aumente com o primeiro valor o salário dos funcionários >> nascidos antes de 1972 e com o segundo valor o salário dos >> funcionários nascidos em 1972 ou depois. > > Use a cláusula CASE para aplicar o percentual adequado. > > >> >> Espero que minha situação seja compreendida. Não quero "folgar", mas >> também não posso sair prejudicado por não ter entregue o trabalho. E >> sei que o mesmo me servirá como uma boa base de estudo. >> > > > Como você pode ver não é nada complicado. Dei o ponta-pé inicial agora vá > lá e faça o gol. > Se você tiver alguma dificuldade mas demonstrar que tentou fazer pode > colocar sua dúvida aqui que o pessoal responderá com a maior boa vontade. > > Osvaldo > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
Olá Oswaldo. Muito obrigado. Somando suas dicas às do Leo, estou começando a ver a luz no fim do problema. Mesmo que minha nota não seja lá grande coisa, irei terminar meu trabalho. Não viso a melhor nota, apenas quero entregar alguma coisa decente e compreendivel(mas estava dificil, rsrs). Agradeço mesmo pela força... -- Leandro Barbosa da Silva _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
