Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (Ref.: 201408846380) Pontos: 0,1 / 0,1 No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes. Sendo assim, é possível afirmar que se referem, respectivamente: atributo, apelido, campo, tabela coluna, tabela, apelido, chave primária apelido, atributo, tabela, chave estrangeira tupla, chave primária, apelido, chave estrangeira campo, atributo, apelido, tabela 2a Questão (Ref.: 201408395840) Pontos: 0,1 / 0,1 Qual a ordem correta dos argumentos DQL-SELECT: SELECT - FROM - WHERE - JOIN - HAVING - GROUP BY - ORDER BY SELECT - FROM - JOIN - WHERE - GROUP BY - ORDER BY - HAVING SELECT - FROM - JOIN - WHERE - GROUP BY - HAVING - ORDER BY SELECT - FROM - WHERE - JOIN - GROUP BY - HAVING - ORDER BY SELECT - FROM - JOIN - WHERE - HAVING - GROUP BY - ORDER BY 3a Questão (Ref.: 201408239593) Pontos: 0,1 / 0,1 Considere o script: CREATE TABLE PECA (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5) NOT NULL, PRIMARY KEY(CODIGO)); Após a criação desta tabela, o comando que inclui a tupla (1234, "lápis de cor", 500) está representado em: INSERT INTO PECAS (1234, "lápis de cor", 500); INSERT PECAS (1234, "lápis de cor", 500); INSERT INTO PECA (1234, "lápis de cor", 500); INCLUDE INTO PECA (1234, "lápis de cor", 500); INSERT INTO PECAS ("1234", "lápis de cor", 500); Gabarito Comentado. Gabarito Comentado. 4a Questão (Ref.: 201408395830) Pontos: 0,1 / 0,1 Para se obter a quantidade de empregados por cargo deve-se digitar qual o select abaixo: 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 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 ON C.CODIGO = E.CARGO GROUP BY C.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 GROUP BY C.DESCRICAO FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO; Gabarito Comentado. 5a Questão (Ref.: 201408722633) Pontos: 0,1 / 0,1 SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A; 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 NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; 1a Questão (Ref.: 201408942197) Pontos: 0,1 / 0,1 Ano: 2010 - Banca: ESAF - Órgão: MPOG - Prova: Analista de Planejamento e Orçamento - Tecnologia da Informação Em uma SQL os comandos básicos da Linguagem de Definição de Dados são Select, Insert, Update e Delete. os comandos básicos da Linguagem de Definição de Dados são Sort, Insert, Undo e Store. a Linguagem de Definição de Dados fornece tabelas para criação e modificação de comandos. a Linguagem de Manipulação de Relacionamentos compreende os comandos para construir tabelas em um banco de dados. a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modificar informações em um banco de dados. 2a Questão (Ref.: 201408796863) Pontos: 0,1 / 0,1 Observe o script SQL a seguir: SELECT f.nome, d.nome FROM funcionario AS f, departamento AS d WHERE departamento = d.reg No script apresentado aparece a palavra departamento duas vezes. Desta forma, pode-se dizer que se referem, respectivamente: tabela, tabela tabela, coluna tabela, linha coluna, tabela linha, coluna 3a Questão (Ref.: 201408909571) Pontos: 0,1 / 0,1 Sobre a linguagem SQL, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). I. O nome da SQL é derivado de Structured Query Language (Linguagem estruturada de consulta), foi chamada inicialmente de SEQUEL (Structured English QUEry Language Linguagem de Pesquisa em Inglês Estruturado). II. O núcleo da especificação SQL deve ser implementado por todos os vendedores de SGBDs relacionais, compatíveis com o padrão. III. Essa linguagem tem funcionalidades, como definição de visões, no banco de dados. IV. A SQL é uma linguagem de banco de dados abrangente: ela possui comandos para definição de dados, consulta e atualizações. Assim ela tem ambas as DDL e DML. Apenas I, III e IV. I, II, III e IV. Apenas I, II e III. Apenas II, III e IV. Apenas I. 4a Questão (Ref.: 201408250382) Pontos: 0,1 / 0,1 Qual das consultas abaixo retorna o nome e a placa de todos os veículos? SELECT c.nome FROM Veiculo v INNER JOIN Cliente c ON cpf = cpf; SELECT v.placa, c.nome FROM Cliente INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; SELECT v.placa, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf; SELECT placa FROM Veiculo INNER JOIN Cliente ON Cliente_cpf = cpf; SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa; 5a Questão (Ref.: 201408909518) Pontos: 0,1 / 0,1 O comando SQL para inserir todos os registros da tabela T1, na tabela T2, é: INSERT INTO T2 SELECT MAX FROM T1 INSERT INTO T2 SELECT * FROM T1 INSERT INTO T2 SELECT FROM T1 INSERT INTO T2 SELECT ALL T1 1a Questão (Ref.: 201408257034) Pontos: 0,1 / 0,1 Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? Sub-Consulta Correlata Sub-Consulta Multi-Valorada Sub-Consulta Principal Sub-Consulta Simple Sub-Consulta Multi-Linhas 2a Questão (Ref.: 201408395838) Pontos: 0,1 / 0,1 Para se obter todos as matrículas, nomes e descrições dos departamentos de todos empregados independente de terem ou não códigos de departamento atribuídos (entenda-se por nulo os departamentos não atribuídos) deve-se escrever qual o select: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO WHERE E.NU_EMP_DEPARTAMENTO IS NULL; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E RIGHT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E LEFT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO != D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; Gabarito Comentado. 3a Questão (Ref.: 201408396394) Pontos: 0,0 / 0,1 createtable Pessoa( Id int not null identity (1,1) primary key, Nome varchar(30), Idade int, Sexo char(1) ) create table Parentesco( PaiMaeint not null , FilhoFilhaint not null ) Que comando SQL incluirá a informação de que João é pai de Joana? INSERT INTO Parentesco VALUES SELECT F.Id,P.Id FROM Pessoa AS P , Pessoa AS F WHERE P.Nome='João' AND F.Nome='Joana' INSERT INTO Parentesco SELECT P.Id,F.Id FROM Pessoa AS P , Pessoa AS F WHERE P.Nome='João' AND F.Nome='Joana' INSERT INTO Parentesco SELECT P.Id,F.Id FROM Pessoa AS P , Pessoa AS F WHERE P.Nome='Joana' AND F.Nome='João' INSERT INTO Parentesco SELECT F.Id,P.Id FROM Pessoa AS P , Pessoa AS F WHERE P.Nome='João' AND F.Nome='Joana' INSERT INTO Parentesco VALUES SELECT P.Id,F.Id FROM Pessoa AS P , Pessoa AS F WHERE P.Nome='João' AND F.Nome='Joana' 4a Questão (Ref.: 201408810051) Pontos: 0,0 / 0,1 A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina 'Banco de Dados' com o professor 'Rui'? Use inner join. Relações: PROFESSOR (idprofessor, nomeprofessor); LECIONA (idprofessor, iddisciplina); DISCIPLINA (iddisciplina, nomedisciplina); ALUNO (matricula, nomealuno); MATRICULA (inscrição, iddisciplina, matricula, nota, período, ano) SELECT count(distinct) AS total FROM professor p INNER JOIN leciona l ON p.idprofessor = l.idprofessor INNER JOIN disciplina d ON l.iddisciplina = d.iddisciplina INNER JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' SELECT count(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' SELECT count(*) AS total FROM professor p LEFT JOIN leciona l ON p.idprofessor = l.idprofessor LEFT JOIN disciplina d ON l.iddisciplina = d.iddisciplina LEFT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' OR nomedisciplina = 'Banco de Dados' SELECT count(distinct) AS total FROM professor p RIGHT JOIN leciona l ON p.idprofessor = l.idprofessor RIGHT JOIN disciplina d ON l.iddisciplina = d.iddisciplina RIGHT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' OR nomedisciplina = 'Banco de Dados' SELECT sum(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' 5a Questão (Ref.: 201408909517) Pontos: 0,1 / 0,1 Considere a seguinte consulta SQL: SELECT XXX * FROM TAB Para que não haja repetições nos valores obtidos como resposta, XXX deve ser substituído por: JOIN Distinct Having AS 1a Questão (Ref.: 201408903843) Pontos: 0,1 / 0,1 Quantos acessos a disco são necessários para encontrar uma linha de uma tabela utilizando um índice hash, admitindo que não há a ocorrência de overflow de buckets? n2 2n 2 1 log2n 2a Questão (Ref.: 201408909584) Pontos: 0,1 / 0,1 A linguagem SQL possui comandos de defnição de dados (DDL - Data Defnition Language), dos quais faz parte o seguinte comando: Delete Update Alter Select Insert 3a Questão (Ref.: 201408903831) Pontos: 0,1 / 0,1 Admita as seguintes relações: Carros(placa, cod_modelo, ano, cor) Modelos(cod_modelo, nome_modelo, cod_fabr) Fabricantes(cod_fabr, nome_fabr) Quais das seguintes consultas SQL obtém corretamente as placas dos carros cujo fabricante se chama "BMW"? SELECT placa FROM Carros WHERE cod_modelo = ANY (SELECT cod_modelo FROM modelos WHERE cod_fabr IN (SELECT cod_fabr FROM fabricantes WHERE nome_fabr >= 'BMW')) SELECT placa FROM Carros WHERE cod_modelo IN (SELECT cod_modelo FROM modelos WHERE cod_fabr IN (SELECT cod_fabr FROM fabricantes WHERE nome_fabr <> 'BMW')) SELECT placa FROM Carros WHERE cod_modelo IN (SELECT cod_modelo FROM modelos WHERE cod_fabr NOT IN (SELECT cod_fabr FROM fabricantes WHERE nome_fabr = 'BMW')) SELECT placa FROM Carros WHERE cod_modelo IN (SELECT cod_modelo FROM modelos m WHERE EXISTS (SELECT f.cod_fabr FROM fabricantes f WHERE f.cod_fabr = m.cod_fabr AND nome_fabr = 'BMW')) SELECT placa FROM Carros WHERE cod_modelo = ALL (SELECT cod_modelo FROM modelos WHERE cod_fabr IN (SELECT cod_fabr FROM fabricantes WHERE nome_fabr = 'BMW')) 4a Questão (Ref.: 201408729744) Pontos: 0,1 / 0,1 Qual a sintaxe SQL-SELECT correta? SELECT COLUNA1, SUM(COLUNA2) FROM TABELA1 HAVING SUM(COLUNA2) > 100 GROUP BY COLUNA1; SELECT SUM(AVG(COUNT(MIN(COLUNA1)))) FROM TABELA1; SELECT ALL * FROM TABELA1 WHERE COLUNA1 IN (SELECT MAX(COLUNA2) FROM TABELA2); SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 = MAX(COLUNA4); SELECT COLUNA1, COLUNA2 FROM TABELA1 JOIN TABELA2 WHERE COLUNA2 LIKE 'X%'; 5a Questão (Ref.: 201408910719) Pontos: 0,1 / 0,1 Analise a instrução SQL e assinale a alternativa correta. FUNCIONARIO { fun_codigo, fun_nome, fun_cpf, fun_datanasc } DEPENDENTE { dep_id, dep_nome, tip_codigo, dep_datanasc, fun_codigo } TIPODEPENDENTE { tip_codigo, tip_nome } SELECT fun_nome from funcionario WHERE fun_codigo NOT IN (SELECT fun_codigo FROM dependente INNER JOIN tipodependente ON dependente.tip_codigo = tipodependente.tip_codigo WHERE tip_nome = 'Filho') Exibe o nome de todos os funcionários que possuem dependentes do tipo filho. Exibe o nome e a quantidade de dependentes de cada funcionário. Exibe o nome de todos os dependentes que estão associados a um funcionario. Exibe o nome de todos os funcionários que não possuem dependentes. Exibe o nome de todos os funcionários que não possuem dependentes do tipo filho.
Compartilhar