Buscar

aula9 exercicio1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1a Questão
	
	
	
	- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
                        PACIENTE (id_pac, nome_pac, sexo, fone_pac)
                        ESPECIALIDADE (id_espec, nome_espec)
                        MEDICO (id_med, nome_med, fone_med, id_espec)
                        CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
		
	 
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	 
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	 
	
	
	
	 2a Questão
	
	
	
	
	A linguagem mais utilizada em Sistemas de Gerenciamento de Banco de Dados (SGDBs) é a SQL. Esta fornece a possibilidade de realizar o produto cartesiano dos dados, ou seja, gera um conjunto de todos os pares ordenados. A linguagem SQL também fornece uma função que corresponde a operação de produto cartesiano da álgebra relacional, esta função é:
		
	 
	JOIN
	
	HAVING
	
	WHERE
	
	SELECT
	
	FROM
	
	 
	
	
	
	 3a Questão
	
	
	
	
	- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do médico, nome da especialidade para todos os médicos.
		
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec >= T2. id_espec
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <> T2. id_espec
	 
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec = T2. id_espec
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec < T2. id_espec
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <=T2. id_espec
	
	 
	
	
	
	 4a Questão
	
	
	
	
	
 Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN '15/11/2014' AND '16/11/2014';":
 
		
	 
	SELECT * FROM TCC WHERE DTDEFESA => '15/11/2014' AND <= '16/11/2014';
	 
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014','16/11/2014');
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014' AND '16/11/2014');
	
	SELECT * FROM TCC WHERE DTDEFESA > '15/11/2014' AND < '16/11/2014';
	
	SELECT * FROM TCC WHERE DTDEFESA = '15/11/2014' AND '16/11/2014';
	
	 5a Questão
	
	
	
	
	Considere as seguintes tabelas:
    CLIENTE   (idCli, NomeCli)
    PEDIDO   (idPEDIDO, Data, idCli, ValorPedido)
Qual alternativa apresenta os clientes que NÃO tiveram nenhum pedido?
		
	
	SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli
	 
	SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO)
	
	SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli
	
	SELECT * FROM CLIENTE
	
	SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO)
	
Explicação: sub-select listando clientes com pedido
	
	
	 6a Questão
	
	
	
	
	
		
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	 
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	 
	
	
	
	 7a Questão
	
	
	
	
	De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado e o seu salário, daqueles que ganham o maior salário do seu departamento, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                   Null                  Type
------------------------------------------
EMPNO              NOT NULL   NUMBER(4)
NOME_EMP                             CHAR(10)
CARGO                                     CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                  NUMBER(7,2)
COMISSAO                              NUMBER(7,2)
DEPTNO                                   NUMBER(2) 
TABELA DEPT
Name                   Null                Type
------------------------------------------
DEPTNO           NOT NULL     NUMBER(2)
NOME_DEPT                            CHAR(14)
LOCALIZACAO                       CHAR(13)
		
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME
      HAVING SALARIO=MAX(SALARIO);
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP);
	 
	SELECT E.NOME_EMP, E.SALARIO
FROM EMP E
WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
 
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME;
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM DEPT
                                     WHERE   DEPTNO=E.DEPTNO);
	
	 
	
	
	
	 8a Questão
	
	
	
	
	- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome daespecialidade, nome do médico, data de consulta para todos os pacientes.
		
	 
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T2, CONSULTA T4 Where T1.id_pac   = T4.id_pac And
T4.id_med = T3.id_med And T3.id_espec= T2.id_espec
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T2, ESPECIALIDADE T3, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T4, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec

Continue navegando