Prévia do material em texto
Exercícios - União de conjuntos em SQL A linguagem SQL (Structured Query Language) implementa operadores que atuam sobre conjuntos, como, por exemplo: UNION, INTERSECT, EXCEPT, etc. Sobre a operação de união, assinale a alternativa correta: Você acertou! C. Retorna todas as linhas da consulta 1 e da consulta 2 removendo as duplicadas. A alternativa correta é a que retorna todas as linhas da consulta 1 e da consulta 2 removendo as duplicadas. Para manter as duplicadas, precisa-se adicionar o ALL na cláusula. Além disso, retornar as linhas da consulta 1 que não estão na consulta 2 é papel da cláusula EXCEPT. O comando UNION foi utilizado para a construção de uma consulta que retornava a quantidade de pessoas que são tanto funcionários como clientes de uma determinada empresa. Sabendo que a tabela funcionário contém 30 linhas e que a tabela cliente também contém 30 linhas, qual das opções a seguir indica o número de linhas retornadas pela consulta, sendo que 20% dos funcionários são também clientes? Você acertou! A. 54. O primeiro passo é calcular 20% de 30 linhas, que é 6 linhas. Esta é a quantidade de linhas repetidas que serão removidas do resultado final. Como temos 30 linhas na primeira consulta e 30 na segunda consulta, o total é de 60 linhas menos as 6 repetidas, logo, 54 linhas. A resposta seria 57 se a quantidade de funcionários que são clientes fosse 10%. 30 seria retornado caso todos os funcionários fossem clientes. Por fim, 27 e 24 só poderiam ser retornados caso as tabelas tivessem 15 linhas cada, ao invés de 30, e a quantidade de funcionários que são clientes fosse 10% e 20%, respectivamente. Buscando otimizar uma consulta, o administrador de banco de dados pode gerar planos de execução e analisá-los buscando melhorar uma operação específica. Nesse sentido, qual é o comando do PostgreSQL que executa uma consulta e a analisa? Você acertou! D. ANALYZE. O comando que realiza essa operação é o ANALYZE. O EXPLAIN faz o mesmo, entretanto, estima todos os dados sem executar a aplicação. O COUNT, por exemplo, é utilizado para contar o número de linhas retornadas por uma consulta. O diagrama de Venn é uma forma de representar conjuntos graficamente. Dois diagramas de Venn foram montados tendo como base os conjuntos A = {43, 80, 86, 61, 28, 4} e B = {16, 58, 28, 35, 18, 79}. O primeiro diagrama é resultado da operação A UNION B, enquanto o segundo, da operação A UNION ALL B. Nesse sentido, qual das opções a seguir indica corretamente o número de elementos dos diagramas da operação UNION e UNION ALL, respectivamente? Você acertou! D. 11 e 12. A operação UNION não mantém elementos iguais. Neste caso, o conjunto de solução seria C = {43, 80, 86, 61, 28, 4, 16, 58, 35, 18, 79}, o qual contém 11 elementos. Todavia, a operação UNION ALL mantém os iguais, assim, manteria o elemento 28, o qual é o único repetido. Então, o conjunto teria 12 elementos. Sendo assim, a resposta seria 11 e 12 elementos, respectivamente. A álgebra relacional também contém diferentes operações sobre conjuntos, como, por exemplo, a operação de união. Esta operação é representada por U e retorna uma relação contendo todas as tuplas que ocorrem em uma relação A e B. Sobre a operação de união, assinale a alternativa correta: Você acertou! A. A operação de união é comutativa, ou seja, R1 U R2 é equivalente a R2 U R1. A resposta correta é a que diz que a operação de união é comutativa. Além disso, essa operação pode ser aplicada a vários conjuntos e não apenas a dois. Ela leva em consideração apenas o tipo do atributo, e não o seu nome. Seu resultado herda nomes da primeira tabela utilizada, e não da segunda. Por fim, ela remove os repetidos.