Uploaded by Martin Avila

Esquema de Banco de Dados de Cronograma

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