Consultas de BD

From Grupo6 Especoo

(Difference between revisions)
(13 - Consultas de BD)
(13 - Consultas de BD)
Line 25: Line 25:
-
[[Selecionar todos os ids dos atendentes de software]]
+
----
-
Álgebra relacional
+
'''Selecionar todos os ids dos atendentes de software'''
 +
 
 +
''Álgebra relacional''
r1 := select especialidade = 'software' (atendentes);
r1 := select especialidade = 'software' (atendentes);
Line 33: Line 35:
r2 := project idatend (r1);
r2 := project idatend (r1);
-
Cálculo Relacional de Tuplas
+
''Cálculo Relacional de Tuplas''
r1 := { A.idatend | atendentes(A) and A.especialidade = 'software'};
r1 := { A.idatend | atendentes(A) and A.especialidade = 'software'};
-
SQL
+
''SQL''
r1 := 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']]
+
----
 +
 
 +
'''Selecionar todos os chamados com status 'aberto' '''
-
Álgebra relacional
+
''Álgebra relacional''
r1 := project idstatus(select descricao = 'aberto' (statuschamado));
r1 := project idstatus(select descricao = 'aberto' (statuschamado));
Line 50: Line 54:
r2 := project nro, departamento, descricao (chamado njoin r1);
r2 := project nro, departamento, descricao (chamado njoin r1);
-
Cálculo Relacional de Tuplas
+
''Cálculo Relacional de Tuplas''
r1 := {C.nro, C.departamento, C.descricao | (exists S) ( statuschamado(S) and chamado(C)   
r1 := {C.nro, C.departamento, C.descricao | (exists S) ( statuschamado(S) and chamado(C)   
Line 56: Line 60:
and S.descricao = 'aberto' and C.idstatus = S.idstatus)  };
and S.descricao = 'aberto' and C.idstatus = S.idstatus)  };
-
SQL
+
''SQL''
r1 := select C.nro, C.departamento, C.descricao from chamado C where C.idstatus in (select  
r1 := select C.nro, C.departamento, C.descricao from chamado C where C.idstatus in (select  
idstatus from statuschamado S where S.descricao = 'aberto');
idstatus from statuschamado S where S.descricao = 'aberto');

Revision as of 12:13, 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 Relacional 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 Relacional 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');

Personal tools