Consultas de BD
From Grupo6 Especoo
(→13 - Consultas de BD) |
(→13 - Consultas de BD) |
||
Line 39: | Line 39: | ||
SQL | SQL | ||
- | select a.idatend from atendentes a where especialidade = 'software'; | + | r1 := select a.idatend from atendentes a where especialidade = 'software'; |
+ | |||
+ | |||
+ | Selecionar todos os chamados com status 'aberto' | ||
+ | |||
+ | Álgebra relacional | ||
+ | |||
+ | r1 := project idstatus(select descricao = 'aberto' (statuschamado)); | ||
+ | |||
+ | r2 := project nro, departamento, descricao (chamado njoin r1); | ||
+ | |||
+ | Cálculo Relaciona de Tuplas | ||
+ | |||
+ | r1 := {C.nro, C.departamento, C.descricao | (exists S) ( statuschamado(S) and chamado(C) | ||
+ | |||
+ | and S.descricao = 'aberto' and C.idstatus = S.idstatus) }; | ||
+ | |||
+ | SQL | ||
+ | |||
+ | r1 := select C.nro, C.departamento, C.descricao from chamado C where C.idstatus in (select | ||
+ | |||
+ | idstatus from statuschamado S where S.descricao = 'aberto'); |
Revision as of 12:06, 6 December 2006
13 - Consultas de BD
Consultas utilizadas nos use cases:
insert chamado
select chamado where status aberto
update chamado prioridade, idAtendente, status
select atendente
select chamado where id atendente
update chamado status
select chamado nrochamado
update chamado status
update chamado id avaliacao
Selecionar todos os ids dos atendentes de software
Álgebra relacional
r1 := select especialidade = 'software' (atendentes);
r2 := project idatend (r1);
Cálculo Relaciona de Tuplas
r1 := { A.idatend | atendentes(A) and A.especialidade = 'software'};
SQL
r1 := select a.idatend from atendentes a where especialidade = 'software';
Selecionar todos os chamados com status 'aberto'
Álgebra relacional
r1 := project idstatus(select descricao = 'aberto' (statuschamado));
r2 := project nro, departamento, descricao (chamado njoin r1);
Cálculo Relaciona de Tuplas
r1 := {C.nro, C.departamento, C.descricao | (exists S) ( statuschamado(S) and chamado(C)
and S.descricao = 'aberto' and C.idstatus = S.idstatus) };
SQL
r1 := select C.nro, C.departamento, C.descricao from chamado C where C.idstatus in (select
idstatus from statuschamado S where S.descricao = 'aberto');