Uploaded by Martin Avila

MARTIN AVILA PROJETO BD

advertisement
MARTIN AVIL BUITRON
RA 2274183
Alguns requisitos para ajudar no projeto do esquema de banco de dados do cronograma:
●
O esquema deve manter um cadastro de projetos, tarefas, grupo de tarefas e área
de conhecimento. Uma tarefa pertence a um projeto específico e possui um grupo
e uma área de conhecimento. Um grupo pode ser associado a outro grupo, ou seja,
organização em grupo e subgrupo (hierarquia de grupos).
●
As informações mantidas sobre um projeto são: identificador, nome, descrição,
data de início e término.
●
As informações sobre as tarefas de um projeto são: projeto ao qual a tarefa
pertence, grupo, duração, área de conhecimento, tarefa predecessora e indicador
do status. O status da tarefa pode ser: iniciada, não iniciada, interrompida,
cancelada ou concluída. O domínio do status é uma decisão de projeto.
●
As informações mantidas sobre o grupo são: identificador, nome e descrição, e
caso seja um subgrupo, o grupo ao qual ele pertence.
●
As informações sobre as áreas de conhecimento são: identificador, nome e
descrição.
dado o projeto de esquema elaborado é possível projetar o nome das tarefas e suas
predecessoras?
SELECT
t1.nome_tarefa AS tarefa,
t2.nome_tarefa AS tarefa_predecessora
FROM
public."Tarefa" t1
LEFT JOIN
public."Tarefa" t2 ON t1.tarefa_predecessora_id = t2.tarefa_id;
É possível obter o tempo previsto por grupo de tarefas (por exemplo, tarefas do grupo
planejamento)
SELECT GT.nome_tarefa AS grupo_tarefa, SUM(EXTRACT(EPOCH FROM T.duracao))
AS tempo_previsto
FROM public."Tarefa" T
JOIN public."Grupo_Tarefa" GT ON T.grupo_id = GT.grupo_id
-- Filtrar pelo grupo desejado
WHERE GT.nome_tarefa = 'planejamento'
GROUP BY GT.nome_tarefa;
É possível verificar o quanto uma tarefa já foi executada?
ALTER TABLE public."Tarefa"
ADD COLUMN progresso numeric;
Download