Prévia do material em texto
Prova Linguagem SQL para Data Analytics 1) Joins em SQL permitem combinar dados de várias tabelas, tornando o trabalho mais fácil. O __________ inclui todos os registros do lado esquerdo e as linhas correspondentes da tabela à __________, enquanto o __________ retorna todas as linhas do lado direito e as linhas não correspondidas da tabela da __________. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: · Left join; esquerda; right join; direita. · Inner join; esquerda; full join; direita. · Full join; esquerda; direita; left join. · Left join; full join; right join; esquerda. · Left join; direita; right join; esquerda.CORRETO Resolução comentada: Incorreta: full join; esquerda; direita; left join. A cláusula FULL JOIN tem como objetivo trazer a seleção de todos os dados de tabelas diferentes. Correta: left join; direita; right join; esquerda. O LEFT JOIN inclui todos os registros do lado esquerdo e as linhas correspondentes da tabela à direita, enquanto o RIGHT JOIN retorna todas as linhas do lado direito e as linhas não correspondidas da tabela da esquerda. Incorreta: left join; full join; right join; esquerda. A cláusula FULL JOIN tem como objetivo trazer a seleção de todos os dados de tabelas diferentes. Incorreta: left join; esquerda; right join; direita. O LEFT JOIN inclui todos os registros do lado esquerdo e as linhas correspondentes da tabela à direita, enquanto o RIGHT JOIN retorna todas as linhas do lado direito e as linhas não correspondidas da tabela da esquerda. Incorreta: inner join; esquerda; full join; direita. A cláusula INNER JOIN tem como objetivo trazer a seleção dos dados da intersecção de duas tabelas, e a cláusula FULL JOIN tem como objetivo trazer a seleção de todos os dados de tabelas diferentes. 2)Durante o desenvolvimento de uma tabela, definimos um campo de chave __________ para garantir exclusividade do campo, ou seja, garantir que não haja duplicidade nos dados. Além disso, criamos um __________ entre as duas tabelas com a chave __________, facilitando a investigação de dependência. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: · Primária; relacionamento; estrangeira.CORRETO · Primária; foreign key; estrangeira. · Primary; foreign key; relacionamento. · Estrangeira; primary key; agrupamento. · Estrangeira; agrupamento; primária. Resolução comentada: A alternativa que preenche corretamente as lacunas é: “Primária; relacionamento; estrangeira”. A chave primária é responsável por garantir a exclusividade do campo, e o relacionamento é criado entre duas tabelas com a chave estrangeira, facilitando a investigação de dependências. 3)Conforme a teoria relacional criada em 1970 por Codd, a modelagem de dados pode ser definida como a primeira etapa do projeto do banco de dados. A respeito da modelagem de dados, quais são os elementos que fazem parte do modelo entidade-relacional? Alternativas: · Relacionamento, linha e cardinalidade. · Atributo, entidade e relacionamento.CORRETO · Círculo, quadrado e losango. · Característica da entidade, entidade e atributo. · Entidade, atributo e linha. Resolução comentada: Os elementos que fazem parte do modelo entidade-relacional são atributo, entidade e relacionamento. Portanto, a alternativa correta é: “Atributo, entidade e relacionamento”. 4)Uma empresa contratou você para desenvolver um sistema de cadastros de funcionários. Esse sistema deverá incluir dados pessoais do funcionário, como cargo e unidade. Será necessário criar o relacionamento das tabelas Funcionário, Departamentos e Unidades com chaves estrangeiras. Sobre os comandos da linguagem SQL, analise as assertivas a seguir e identifique as corretas: I. Para o desenvolvimento desse sistema, é necessário criar as tabelas Funcionário, Departamentos e Unidades com o comando CREATE, e em seguida utilizar o ALTER para criar o campo de relacionamento e a chave estrangeira. II. É necessário usar o CREATE. Por padrão, o SGBD não cria as tabelas Funcionário, Departamentos e Unidades. III. A utilização do ALTER serve para alterar a tabela e criar a chave estrangeira entre as tabelas Funcionário, Departamentos e Unidades. IV. As chaves estrangeiras, também conhecidas como FK ou foreign keys, servirão para criar os relacionamentos entre as tabelas. V. A chave estrangeira é importante, considerando que as tabelas não podem ficar separadas e há necessidade de criar vínculos. São verdadeiras: Alternativas: · I, III e V, apenas. · I, II, III, IV e V.CORRETO · I, apenas · I, II e V, apenas. · I, III e IV, apenas. Resolução comentada: I, II, III, IV e V. Afirmativa I. Está correta, pois podemos adotar essa ordem para desenvolver o projeto, criando as tabelas e alterando-as para criar relacionamentos com as chaves estrangeiras. Afirmativa II. Está correta, pois se faz necessário criar as tabelas, já que nenhuma das tabelas solicitadas no projeto vem automaticamente. Afirmativa III. Está correta, pois, no caso de as tabelas serem criadas sem as FK, se faz necessário utilizar o ALTER para alterá-las, adicionando as chaves estrangeiras. Afirmativa IV. Está correta, pois a FK serve justamente para esta finalidade: criar o relacionamento. 5)Um operador lógico é um símbolo ou uma palavra usada para conectar duas ou mais expressões, de modo que o valor da expressão composta produzida dependa apenas das expressões originais e do significado do operador. Sobre os operadores lógicos e relacionais, analise as assertivas a seguir e identifique as corretas: I. SELECT nome, cargo FROM funcionario WHERE cargo IS NOT NULL. II. SELECT nome, salario FROM funcionario WHERE salario >= 1800 E = 18. IV. SELECT nome, idade, salario FROM funcionario WHERE nome = “Paulo Silva”. V. SELECT nome, salario FROM funcionario WHERE salario >= 1800 AND salario = 1800 E = 18 seleciona o colaborador com 18 anos ou mais. IV. Correta. O comando SELECT nome, idade, salario FROM funcionario WHERE nome = “Paulo Silva” seleciona o colaborador que tiver o nome igual a Paulo Silva. V. Correta. O comando SELECT nome, salario FROM funcionario WHERE salario >= 1800 AND salario = 18. · SELECT nome, idade TABLE clientes NULL idade >= 18. · SELECT nome, idade WHERE clientes FROM idade >= 18. · SELECT nome, idade >= 18. · SELECT nome, idade FROM clientes WHERE idade >= 18.CORRETO Resolução comentada: SELECT nome, idade FROM clientes WHERE idade >= 18, pois segue a estrutura padrão, em que o SELECT carregará os atributos a serem selecionados, FROM carregará a tabela cujos atributos selecionaremos e WHERE carregará as condições da consulta. 7)A cláusula HAVING é usada em vez de WHERE com funções agregadas. Por sua vez, a cláusula GROUP BY agrupa linhas que possuem os mesmos valores em linhas de resumo. Imagine que você foi contratado para executar a análise de idades dos alunos por curso, e precisa gerar um relatório com o resultado da concentração de alunos com mais de 50 anos por curso. Considerando os estudos das cláusulas GROUP BY eHAVING, assinale a alternativa que contenha a sequência correta para executar a extração dos dados conforme solicitado: Alternativas: · SELECT SUM (nome), curso WHERE alunos GROUP BY curso HAVING idade >50. · SELECT COUNT (nome), curso FROM alunos GROUP BY curso HAVING idade >50.CORRETO · SELECT COUNT (nome), curso FROM alunos HAVING curso GROUP BY idade >50. · SELECT nome SUM (nome), curso FROM alunos GROUP BY curso HAVING idade >50. · SELECT COUNT (nome), curso FROM nome GROUP BY curso HAVING idade >50. Resolução comentada: SELECT COUNT (nome), curso FROM alunos GROUP BY curso HAVING idade >50 é a sequência correta. 8)O SGBD é uma ferramenta utilizada para criar e gerenciar o banco de dados. Sobre o SGBD, analise as assertivas a seguir e identifique as corretas: I. O SGBD é utilizado para criar um modelo conceitual de dados. II. O SGBD tem a finalidade de gerenciar o backup dos dados. III. O SGBD é utilizado para realizar consultas na base de dados. IV. O SGBD é um software de armazenamento e recuperação de dados. V. O SGBD é um programa de criação de gráficos dinâmicos. São verdadeiras: Alternativas: · I, II, III e IV, apenas. · I, apenas. · III e V, apenas. · II, III e IV, apenas.CORRETO · I, III e IV, apenas. Resolução comentada: I é incorreta, pois com o SGBD é possível apenas implementar um modelo físico de dados, e não conceitual. II é correta, pois o SGBD tem a finalidade de gerenciar o backup dos dados. III é correta, pois o SGBD é utilizado para realizar consultas na base de dados. IV é correta, pois o SGBD é um software de armazenamento e recuperação de dados. V é incorreta, pois o SGBD é um programa para criar e gerenciar o banco de dados, e não é possível através dele realizar a criação de gráficos dinâmicos. 9) Alternativas: · I – B; II – A; III – C.CORRETO · I – C; II – B; III – A. · I – A; II – C; III – B. · I – A; II – B; III – C. · I – C; II – A; III – B. Resolução comentada: 10)Imagine que você precisa gerar um relatório para descobrir quantas pessoas visitaram um museu em cada dia. Ou seja, para cada data, deve ser apresentado o número de visitas ao museu. Considere a tabela a seguir: Alternativas: · SELECT data,COUNT(visitantes) FROM visitantes GROUP BY data. · SELECT data,COUNT(data) FROM data GROUP BY visitants. · SELECT nome,COUNT(data) FROM data GROUP BY visitants. · SELECT data,COUNT(nome) FROM visitantes GROUP BY data.CORRETO · SELECT visitantes,COUNT(data) FROM visitantes GROUP BY data. Resolução comentada: Incorreta: SELECT data,COUNT(data) FROM data GROUP BY visitantes, pois não há tabela com nome “data”, e “visitantes” não é um atributo. Incorreta: SELECT nome,COUNT(data) FROM data GROUP nomes, pois não há tabela com nome “data”, e a função “GROUP BY” está incompleta. Correta: SELECT data,COUNT(nome) FROM visitantes GROUP BY data, pois a consulta está contando os nomes e agrupando por data, apresentando os dados solicitados da tabela visitantes. Incorreta: SELECT data,COUNT(visitantes) FROM visitantes GROUP BY data, pois ‘’visitantes’’ não é um atributo nessa tabela. Incorreta: SELECT visitantes,COUNT(data) FROM visitantes GROUP BY data, pois “visitantes’’ não é um atributo nessa tabela. image1.png image2.png image3.png image4.png