Prévia do material em texto
07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 1/14 Revisar envio do teste: Clique aqui para iniciar o Quiz SP_GRAD_686276_2202_01 2201-BANCO DE DADOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário JOSEFA RAFAELA DE SOUSA Curso 2201-BANCO DE DADOS Teste Clique aqui para iniciar o Quiz Iniciado 07/05/22 09:31 Enviado 07/05/22 09:46 Data de vencimento 08/06/22 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 15 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Imagine o site de uma grande loja global de livros. Há sempre muitos clientes comprando livros na loja, e de vários lugares do mundo. Considere que o site da loja armazene seus dados (livros no estoque, vendas, etc.) em um banco de dados MySQL. Considere ainda que essa loja estabeleceu uma política de backup on-line e incremental para o banco MySQL, sendo o backup executado de hora em hora. Considere agora as afirmações: I. Sendo uma loja global, não há horário sem usuários ativos, o que inviabiliza o backup off-line. II. Havendo um grande volume de dados, o backup completo periódico exigiria muito espaço em disco, o que sairia muito caro. Sala de Aula Tutoriais 1 em 1 pontos JOSEFA RAFAELA DE SOUSA 86 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_182442_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_182442_1&content_id=_8155590_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 2/14 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: III. Um backup on-line deve ser feito o mais rápido possível, e o backup completo poderia demorar muito. Sobre essas afirmações, assinale a alterna�va correta. As afirmações I, II e III fazem sen�do e jus�ficam a polí�ca de backup escolhida. As afirmações I, II e III fazem sen�do, mas nenhuma delas ajuda a jus�ficar a polí�ca de backup escolhida. As afirmações I e III fazem sen�do e jus�ficam a polí�ca de backup escolhida. A afirmação II faz sen�do, mas não jus�fica a polí�ca de backup escolhida, já que custo é um fator a ser ignorado em decisões técnicas. As afirmações I, II e III não fazem sen�do. As afirmações II e III fazem sen�do e jus�ficam a polí�ca de backup escolhida. A afirmação I não faz sen�do, pois em algum momento todos os usuários vão estar dormindo. As afirmações I, II e III fazem sen�do e jus�ficam a polí�ca de backup escolhida. e. As afirmações I, II e III apresentam motivos para evitar o backup completo (todo o banco é copiado) e o off-line (no qual o banco tem que parar). As afirmações justificam a política de backup, porque o backup completo se contrapõe ao backup incremental, enquanto o backup off-line se contrapõe ao backup on-line. Pergunta 2 Considere a seguinte tabela de pratos disponíveis em um restaurante: CREATE TABLE pratos (nome text, pais_origem text, vegetariano boolean, preco float); Qual alternativa seleciona somente os pratos vegetarianos, mostrando a diferença entre o preço médio do prato e o preço do prato vegetariano mais caro de seu país de origem? 1 em 1 pontos 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 3/14 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem and vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE vegetariano GROUP BY pais_origem) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem and vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1 WHERE vegetariano; SELECT nome, (SELECT max(preco) FROM pratos p2 WHERE p1.pais_origem = p2.pais_origem and vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos p1; SELECT nome, (SELECT max(preco) FROM pratos WHERE vegetariano) – preco as diferenca_pro_vegetariano_mais_caro FROM pratos WHERE vegetariano; c. É preciso selecionar somente os pratos vegetarianos (“WHERE vegetariano” no final) e mostrar a diferença entre cada prato e “alguma coisa” (“alguma coisa” – preco). Essa “alguma coisa” deve ser o preço mais caro do prato vegetariano daquele país. Para ser vegetariano, há o “and vegetariano” no sub select, e, para ser do mesmo país, há o “WHERE p1.pais_origem = p2.pais_origem”, comparando os países do select mais interno (p2) com o do select mais externo (p1). Pergunta 3 Considere as seguintes tabelas: CREATE TABLE bares (nome text, preco float); CREATE TABLE restaurantes (nome text, preco float); CREATE TABLE cafes (nome text, preco float); 1 em 1 pontos 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 4/14 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Assinale a alternativa que forneça um significado plausível para o seguinte comando: SELECT nome, preco FROM ( SELECT nome, preco FROM bares WHERE preco = (SELECT min(preco) FROM bares) UNION SELECT nome, preco FROM restaurantes WHERE preco = (SELECT min(preco) FROM restaurantes) UNION SELECT nome, preco FROM cafes WHERE preco = (SELECT min(preco) FROM cafes) ) as lazer WHERE preco < 100; Um rapaz está procurando um lugar para marcar um encontro. Ele está em dúvida entre um restaurante, um bar ou um café. Como o rapaz está com pouco dinheiro, ele vai considerar somente as opções mais baratas de cada categoria, e desde que o preço da diversão não saia mais que 100 reais. Um inves�dor está procurando um estabelecimento para comprar. Ele está analisando um certo conjunto de restaurantes, bares e cafés. Ele pretende comprar o mais barato entre todos esses estabelecimentos, desde que o preço não ultrapasse 100 mil reais. Um rapaz está procurando um lugar para marcar um encontro. Ele está em dúvida entre um restaurante, um bar ou um café. Como o rapaz está com pouco dinheiro, ele vai considerar somente as opções mais baratas de cada categoria, e desde que o preço da diversão não saia mais que 100 reais. Um inves�dor pretende comprar um restaurante, um bar e um café. Mas o café ele só vai comprar se custar menos de 100 mil reais. Uma construtora aluga espaços para estabelecimentos comerciais, como restaurantes, bares e cafés. Um analista dessa construtora está montando um relatório com os aluguéis mais rentáveis para a construtora. A consulta não significa nada, pois possui um erro de sintaxe. b. A consulta retornará a princípio três registros: o restaurante mais barato, o bar mais barato e o café mais barato. Mas cada uma dessas três linhas só será exibida se seu preço correspondente for menor que 100. 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciaro Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 5/14 Pergunta 4 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Considere um banco de dados com uma tabela voos, contendo a coluna companhia, com a sigla da companhia aérea que operou o voo. Considere também que esse banco possui uma tabela companhias, com um cadastro de todas as companhias aéreas existentes. O que representa a seguinte consulta? SELECT (SELECT count(distinct companhia) FROM voos) / (SELECT count(*) FROM companhias); Considere como dica os seguintes comandos e suas respectivas saídas: > SELECT 4; 4 > SELECT 4/2; 2 A proporção de companhias cadastradas que operaram voos registrados na tabela voos. A quan�dade de companhias que operaram voos registrados na tabela voos. A proporção de companhias cadastradas que operaram voos registrados na tabela voos. A quan�dade total de companhias cadastradas. Não representa nada, pois seja qual for o conteúdo das tabelas esse comando sempre retorna o número zero. Não representada nada, pois resultará em um erro devido a sintaxe incorreta. b. A consulta está dividindo o “count(dis�nct companhia) FROM voos” (quan�dade de companhias que operaram voos) por “SELECT count(*) FROM companhias” (quan�dade de empresas cadastradas). Ou seja, temos a proporção de empresas que operaram voos pelo total de empresas cadastradas. Pergunta 5 Infodeck introdutório aos bancos de dados NoSQL 1 em 1 pontos 1 em 1 pontos 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 6/14 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Este texto fornece uma breve introdução aos bancos de dados NoSQL. Nossa intenção é explicar ao público técnico-gerencial por que os bancos de dados NoSQL são importantes. Descrevemos por que os bancos de dados relacionais têm sido tão dominantes e quais forças levaram o NoSQL a quebrar esse domínio. Discutimos os principais benefícios de uma abordagem NoSQL, mas enfatizamos que os bancos de dados relacionais ainda têm um grande papel a desempenhar, por isso nossa ênfase na persistência poliglota. FOWLER, M.; SADALAGE, P. Infodeck introdutório aos bancos de dados NoSQL. 2012. https://martinfowler.com/article s/nosql-intro. Acesso em: 15 jul. 2020. Assinale a alterna�va que melhor explica o que os autores do texto citado querem dizer com “persistência poliglota”. Novos sistemas con�nuarão usando os SGBDs relacionais, mas ao mesmo tempo u�lizarão outros bancos NoSQL para propósitos específicos. “Persistência poliglota” diz respeito aos vários �pos de bancos NoSQL disponíveis (excluindo, portanto, os bancos relacionais). O sucesso do movimento NoSQL se dá principalmente porque esses novos bancos suportam uma grande variedade de linguagens de programação (Java, .NET, Python, Ruby, etc.). Novos sistemas con�nuarão usando os SGBDs relacionais, mas ao mesmo tempo u�lizarão outros bancos NoSQL para propósitos específicos. A “persistência poliglota” consiste numa Babel de bancos NoSQL que não é sustentável a longo prazo. A persistência poliglota é uma camada genérica de inferência entre os bancos de dados e as aplicações. c. A “persistência poliglota” se refere a uma só aplicação utilizando diversos tipos de persistência: seja relacional, seja NoSQL. Pergunta 6 1 em 1 pontos https://martinfowler.com/articles/nosql-intro 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 7/14 Resposta Selecionada: e. Respostas: a. b. c. Considere as seguintes tabelas: CREATE TABLE paciente (id int primary key, nome text); CREATE TABLE medico (id int primary key, nome text); CREATE TABLE consulta (data date, id_paciente int, id_medico int); Considere agora as seguintes consultas realizadas sobre as tabelas acima definidas: I) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p, consulta c, medico m WHERE c.id_paciente = p.id and c.id_medico = m.id and data = curdate(); II) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p JOIN consulta c ON c.id_paciente = p.id JOIN medico m ON c.id_medico = m.id WHERE data = curdate(); III) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p JOIN consulta c JOIN medico m ON c.id_paciente = p.id and c.id_medico = m.id WHERE data = curdate(); IV) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p INNER JOIN consulta c INNER JOIN medico m ON c.id_paciente = p.id and c.id_medico = m.id WHERE data = curdate(); Obs: “curdate()” retorna a data corrente. Assinale a opção que iden�fica corretamente os resultados ob�dos para essas consultas. As consultas I, II, III e IV terão o mesmo resultado, independentemente do conteúdo das tabelas. As consultas I e II terão o mesmo resultado. As consultas III e IV possuem erros de sintaxe. As consultas I e II terão um mesmo resultado, enquanto as consultas III e IV terão um outro resultado (o resultado de III será o mesmo de IV). Todas as consultas são válidas. As consultas I e II terão um mesmo resultado, enquanto as consultas III e IV terão resultados diferentes (o resultado de III difere de I, II e IV; e o resultado de IV difere de I, II e III). Todas as consultas são válidas. 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 8/14 d. e. Comentário da resposta: As consultas I, II, III e IV terão o mesmo resultado, desde que todos os pacientes e médicos estejam vinculados a consultas marcadas para a data corrente. As consultas I, II, III e IV terão o mesmo resultado, independentemente do conteúdo das tabelas. e. No MySQL, o JOIN padrão (consulta II) é o INNER JOIN (consulta IV), o que é a mesma coisa que o resultado do produto cartesiano filtrado pela condição de junção (consulta I). Além disso, para fazer a junção de três tabelas, há duas formas possíveis: “tabela 1 JOIN tabela 2 JOIN tabela 3 ON condição 1 and condição 2” (consulta III) e “tabela 1 JOIN tabela 2 ON condição 1 JOIN tabela 3 ON condição 2” (consulta II). Pergunta 7 Resposta Selecionada: c. Respostas: a. b. c. d. Considere a seguinte tabela: Tabela de municípios: nome uf populacao area São Paulo SP 12 252 023 1 521 Belo Horizonte MG 2 512 070 331 Sorocaba SP 679 378 450 Guaratinguetá SP 121 798 752 Rancharia SP 29 707 1 587 Altamira PA 114 594 159 533 Fonte: https://cidades.ibge.gov.br/ É correto afirmar que essa tabela: Possui os campos “nome”, “uf”, “populacao” e “area”. Possui 4 campos e 7 registros. Possui 4 registros. Possui os campos “nome”, “uf”, “populacao” e “area”. 1 em 1 pontos 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_81555… 9/14 e. Comentário da resposta: U�liza todos os �pos de colunas presentes no MySQL: text e integer. Não é uma tabela; na verdade é uma tupla. c. Cada coluna que vemos corresponde a um campo da tabela do banco de dados. A primeira linha que vemos representa os nomes dos campos; já as linhas subsequentes representam os registros da tabela do banco de dados. Pergunta 8 Considere uma tabela de solicitações feitas por cidadãos à Prefeitura de São Paulo (dados disponíveis em http://dados.prefeitura.sp.gov.br/dataset/dados-do-si stema-de-atendimento-ao-cidadao-sac-156) criada com o seguinte comando: CREATE TABLE solicitacoes( data_abertura text, hora_abertura text, prefeitura_regional text, distrito text, orgao text, tema text, assunto text, servico text, status_solicitacao text, data_parecer text, hora_parecer text ); Considere ainda que uma certa consulta SQL produziu a seguinte saída: tema qtd ------------ ---------- Rua e bairro 526934 Lixo e limpeza 261443 Transporte 249783 Animais 195256 Meio Ambiente 185472 1 em 1 pontos http://dados.prefeitura.sp.gov.br/dataset/dados-do-sistema-de-atendimento-ao-cidadao-sac-156 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_8155… 10/14 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Qual das opções exibe uma consulta que poderia ter produzido a saída acima? SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; SELECT tema, qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd LIMIT 5; SELECT tema, qtd FROM solicitacoes LIMIT 5; SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY qtd ORDER BY qtd DESC LIMIT 5; a. Cada tema aparece somente uma vez na saída, sugerindo uma agregação por GROUP BY. A coluna qtd está com valores decrescentes, sugerindo a u�lização do “ORDER BY DESC”. Como a saída só possui 5 linhas, isso sugere a u�lização do LIMIT 5. Por fim, qtd não é uma coluna original da tabela (ver comando CREATE), por isso deve ter surgido como um alias no SELECT. Pergunta 9 Resposta Selecionada: d. Ao elaborar um sistema, um desenvolvedor criou uma tabela no MySQL utilizando o seguinte comando: CREATE TABLE livro ( titulo TEXT, autor TEXT, editora TEXT, ano INTEGER); O desenvolvedor deve agora documentar essa tabela por meio de um diagrama ER. Qual das alternativas exibe um diagrama que o desenvolvedor poderia utilizar para realizar essa documentação? 1 em 1 pontos 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_8155… 11/14 Respostas: a. b. Descrição acessível: Figura possui um retângulo “Livro” associado (ligado por retas) a quatro circunferências. As circunferências são “título”, “autor”, “editora” e “livro”. Descrição acessível: Figura possui um retângulo “Livro” associado (ligado por uma reta) a uma circunferência. O rótulo das circunferências é “título, autor, editora, livro”. 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_8155… 12/14 c. d. e. Descrição acessível: Figura possui um grande retângulo “Livro” associado (ligado por retas) a quatro pequenos retângulos. Os retângulos pequenos são “título”, “autor”, “editora” e “livro”. Descrição acessível: Figura possui um retângulo cujo texto possui duas linhas. Primeira linha é “Livro”. Segunda linha é “título, autor, editora, ano”. Descrição acessível: Figura possui um retângulo “Livro” associado (ligado por retas) a quatro circunferências. As circunferências são “título”, “autor”, “editora” e “livro”. 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_8155… 13/14 Comentário da resposta: Descrição acessível: Figura possui um grande quadrado “Livro” com quatro pequenos quadrados dentro desse quadrado maior. Os quadrados pequenos são: “título”, “autor”, “editora” e “livro”. d. A opção d é a que segue corretamente a nomenclatura visual de diagramas ERs: entidades são representadas como retângulos, e os atributos das entidades são representados como circunferências associadas ao retângulo da entidade. Pergunta 10 O diagrama a seguir representa uma modelagem ER para bandas de rock. Descrição acessível: Figura possui dois retângulos: “Banda de rock” (esquerda) e “Músico” (direita). Possui ainda quatro losangos no centro (um em baixo do outro): “vocalista”, “guitarrista”, “baixista” e “baterista”. Para cada losango há uma ligação do “Banda de rock” pro losango, e do losango pro “Músico”. Todos os losangos possuem o número 1 à esquerda (lado da “Banda de rock”). O losango “guitarrista” possui um “N” à direita (lado do “Músico”), enquanto que os outros losangos possuem um “1” à direita. Considere as seguintes afirmações: I – Uma banda de rock pode ter vários guitarristas. II – Uma banda de rock deve possuir exatamente quatro músicos. III – Uma banda de rock não pode possuir mais que um baterista. IV – Uma banda de rock é obrigada a ter um baixista. V – Uma banda de rock não pode possuir um flautista. VI – Um músico pode pertencer a várias bandas. 1 em 1 pontos https://senacsp.blackboard.com/bbcswebdav/pid-8155599-dt-content-rid-244537583_1/xid-244537583_1 07/05/2022 09:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_24439637_1&course_id=_182442_1&content_id=_8155… 14/14 Sábado, 7 de Maio de 2022 09h46min34s BRT Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Para um banco de dados que u�lize a modelagem apresentada no diagrama, assinale a alterna�va que apresente todas as afirmações verdadeiras. I, III, IV e V. I, III, IV e IV. I, III, IV e V. I e VI. I, III, IV, V e VI. II, III e IV. b. O diagrama mostra que uma banda de rock deve possuir um vocalista, um ou mais guitarristas, um baixista e um baterista. O diagrama também mostra que cada músico deve pertencer a exatamente uma banda. ← OK