Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0199_AV_201603473017 » IMPLEMENTAÇÃO DE BANCO DE DADOS Tipo de Avaliação: AV Aluno: 201603473017 - ERICK VICTOR MARTINS SPÍNOLA Professor: RENATO AUGUSTO DOS SANTOS CORTES Turma: 9001/AA Nota da Prova: 9,0 Nota de Partic.: 1 Av. Parcial 2 Data: 16/11/2017 19:44:51 1a Questão (Ref.: 201604183126) Pontos: 1,0 / 1,0 Considere as seguintes tabelas: Pedidos (numero, dataCriacao, codigoVendedor, codigoCliente, tipoEntrega, valorTotal) Vendedores (codigo, nome, cidadel, estado, email) Clientes (codigo, nome, endereco, cidadel, estado, email) Escreva uma instrução SQL que retorne uma listagem com os seguintes dados: número do pedido, data de criação do pedido, nome do cliente e valor total do pedido. Somente os clientes que possuam o nome iniciando com as letras A, M, S e T, deverão ser recuperados. A listagem deverá ser exibida em ordem alfabética pelo nome do cliente. Resposta: select p.numero, p.dataCriacao, c.nome, p.valorTotal from Pedidos p left join Clientes c on p.codigoCliente = c.codigo where (c.nome like 'A%') or (c.nome like 'M%') or (c.nome like 'S%') or (c.nome like 'T%') order by c.nome Gabarito: SELECT PEDIDOS.NUMERO, PEDIDOS.DATACRIACAO, CLIENTES.NOME, PEDIDOS.VALORTOTAL FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.CODIGOCLIENTE = CLIENTES.CODIGO WHERE CLIENTES.NOME LIKE '[AMST]%' ORDER BY CLIENTES.NOME 2a Questão (Ref.: 201603572955) Pontos: 1,0 / 1,0 Considere o seguinte esquema relacional: Empregado ( Id, Nome(PK) , Id_Depto(FK Departamento) , Id_Gerente ( FK Empregado), Cargo, Salario) Departamento ( Id(PK), Nome, Id_Regiao(FK Regiao)) Regiao (Id(PK), Nome ) A partir do esquema escreva um comando SQL na sintaxe ANSI que retorne o id e o nome do empregado e o nome da região onde ele trabalha. Resposta: select e.id, e.nome, r.nome from empregado e left join departamento d on e.id_depto = d.id left join regiao r on d.id_regiao = r.id Gabarito: Select e.id,e.nome. r.nome From Empregado e inner join departamento d on e.id_Depto = d.id inner join regiao r on d.id_regiao = r.id 3a Questão (Ref.: 201603628122) Pontos: 1,0 / 1,0 Considere o esquema: Aluno(matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-chave deste esquema. matricula, endereco cpf, nome matricula, nome matricula, cpf nome, endereço 4a Questão (Ref.: 201604291326) Pontos: 1,0 / 1,0 Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos? Alunos(matricula, nome, endereco, cpf, cod_curso) Cursos(codigo, nome_curso) ᴨnome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(σcod_curso=codigo (Alunos)) ᴨnome, nome_curso(σmatricula=codigo (Alunos X Cursos)) σnome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(Alunos X Cursos) 5a Questão (Ref.: 201603779164) Pontos: 1,0 / 1,0 Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela Exclui a primeira linha da tabela Exclui a tabela do banco de dados Exclui o banco de dados inteiro Exclui todas as colunas da tabela Exclui todas as linhas da tabela 6a Questão (Ref.: 201603549399) Pontos: 1,0 / 1,0 Os operadores aritméticos, lógicos e de comparação são usados em consultas SQL para? Fazer uma atualização de dados mais precisa. Realizar tarefas como somar ou agrupar valores, comparar valores. Criar novas consultas. Não é utilizado em Banco de Dados. Para excluir dados por um procedimento no banco. 7a Questão (Ref.: 201603628369) Pontos: 1,0 / 1,0 Considere a seguinte consulta SQL: SELECT nome, count(*) FROM aluno GROUP BY nome Esta consulta tem como resultado. todos os atributos das tabelas nome e aluno. todos os atributos da tabela nome, além do atributo especial Count. o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno. o atributo nome e o número de registros existentes para cada nome, na tabela nome. o atributo nome e o número de registros existentes para cada nome, da tabela aluno. 8a Questão (Ref.: 201603783318) Pontos: 1,0 / 1,0 Para se obter a quantidade de empregados por cargo deve-se digitar qual o select abaixo: SELECT DESCRICAO AS CARGO, COUNT(MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON CODIGO = CARGO GROUP BY DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, SUM(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE GROUP BY C.DESCRICAO FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO; 9a Questão (Ref.: 201603783324) Pontos: 0,5 / 0,5 Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a alternativa válida: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > E.NU_EMP_SALARIO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); 10a Questão (Ref.: 201603764462) Pontos: 0,5 / 0,5 Uma unidade de execução de programa delimitada pelos comandos BEGIN TRANSACTION e END TRANSACTION é denominada uma: Seleção Proograma Comando Transação Operação
Compartilhar