Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 1/14 Revisar envio do teste: Clique aqui para iniciar o Quiz SP_GRAD_686276_2204_01 2203-BANCO DE DADOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário Curso 2203-BANCO DE DADOS Teste Clique aqui para iniciar o Quiz Iniciado 24/11/22 23:28 Enviado 24/11/22 23:46 Data de vencimento 07/12/22 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 18 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 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? Sala de Aula Tutoriais 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 2/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”. 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 3/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”. 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 4/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 2 Resposta Selecionada: d. Como o MySQL utiliza índices Os índices são usados para rapidamente localizar linhas com valores de coluna específicos. Sem um índice, o MySQL deve começar com a primeira linha e depois ler a tabela inteira para encontrar as linhas relevantes. Quanto maior a tabela, mais isso custa. Se a tabela tiver um índice para as colunas em questão, o MySQL poderá determinar rapidamente a posição a ser procurada no meio do arquivo de dados sem precisar examinar todos os dados. Isso é muito mais rápido do que ler todas as linhas sequencialmente. (Traduzido da documentação oficial do MySQL. Disponível em: <ht tps://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html>. Acesso em: mar. 2020. Sobre índices é correto afirmar que: 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 5/14 Respostas: a. b. c. d. e. Comentário da resposta: Considere uma base de dados construída para análises científicas que é montada uma vez e depois não é mais atualizada, e que possui muitos dados. Nesse caso compensa construir diversos índices que serão úteis para as consultas dos cientistas, pois mesmo que o tempo de criação dos índices seja grande, a alta velocidade das leituras subsequentes compensará o tempo de criação dos índices. A criação de índices é imprescindível para qualquer tabela do MySQL. Considere um sistema muito acessado por usuários de todo o mundo e uma tabela que armazene os eventos de login desses usuários. Nesse caso, a criação de um índice nessa tabela de registro de login é conveniente para acelerar o tempo de inserção, provendo uma melhor experiência para o usuário. Índices deixam inserções mais lentas e consomem mais espaço em disco. Por essas razões devem ser usados apenas em tabelas com mais de um milhão de registros. Só nesses casos os custos compensarão os ganhos de velocidade de leitura. Considere uma base de dados construída para análises científicas que é montada uma vez e depois não é mais atualizada, e que possui muitos dados. Nesse caso compensa construir diversos índices que serão úteis para as consultas dos cientistas, pois mesmo que o tempo de criação dos índices seja grande, a alta velocidade das leituras subsequentes compensará o tempo de criação dos índices. Os índices são recursos utilizados em bancos de dados antigos. O sistema de otimização de consultas do MySQL (optimum lookup process) dispensa a utilização de índices em tabelas do MySQL. d. Índices aceleram consultas e são muito utilizados. Um problema muito comum em sistemas lentos é a falta de índices em tabelas do banco de dados (seja no MySQL ou em outros SGBDs). Por outro lado, o preço a se pagar é: inserções mais lentas e mais espaço ocupado no disco. Contudo, tabelas muito pequenas podem dispensar índices. Pergunta 3 Considere as seguintes tabelas: 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 6/14 Resposta Selecionada: b. Respostas: a. b. c. d. CREATE TABLE bares (nome text, preco float); CREATE TABLE restaurantes (nome text, preco float); CREATE TABLE cafes (nome text, preco float); 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 investidor 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 investidor 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 umrelatório com os aluguéis mais rentáveis para a construtora. 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 7/14 e. Comentário da resposta: 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. Pergunta 4 Resposta Selecionada: c. Respostas: a. b. c. Infodeck introdutório aos bancos de dados NoSQL 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 alternativa que melhor explica o que os autores do texto citado querem dizer com “persistência poliglota”. Novos sistemas continuarão usando os SGBDs relacionais, mas ao mesmo tempo utilizarão outros bancos NoSQL para propósitos específicos. “Persistência poliglota” diz respeito aos vários tipos 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 continuarão usando os SGBDs relacionais, mas ao mesmo tempo utilizarão outros bancos NoSQL para propósitos específicos. 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 8/14 d. e. Comentário da resposta: 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 5 Resposta Selecionada: c. Respostas: a. b. c. d. 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? 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; 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&co… 9/14 e. Comentário da resposta: 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 6 Com a SQL podemos utilizar sub-selects, que são “selects dentro de selects”. Considere o exemplo: > select * from municipio; +----+------------+------+ | id | nome | uf | +----+------------+------+ | 1 | São Paulo | SP | | 2 | Osasco | SP | | 3 | Mateiros | TO | | 4 | Salvador | BA | +----+------------+------+ > select * from municipio where uf = 'SP'; +----+------------+------+ | id | nome | uf | +----+------------+------+ | 1 | São Paulo | SP | | 2 | Osasco | SP | +----+------------+------+ > select count(*) from (select * from municipio where uf = 'SP') as subtab; +----------+ | count(*) | +----------+ | 2 | +----------+ Considere agora a existência da tabela voos, com um voo por registro e com a coluna data, representando a data do voo. 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&c… 10/14 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Qual dos seguintes comandos exibe corretamente todos os dados dos voos ocorridos na data do voo mais antigo registrado? SELECT * FROM voos WHERE data = (SELECT min(data) FROM voos) as data_mais_antiga; SELECT * FROM voos WHERE data = (SELECT min(data) FROM voos) as data_mais_antiga; SELECT * FROM voos WHERE data = (SELECT min(data)) as data_mais_antiga; SELECT * FROM voos WHERE data = min(data); SELECT min(data) FROM voos; SELECT * FROM voos WHERE min(data); a. Como queremos ver todas as colunas, é necessário o “SELECT *”. Como queremos ver apenas alguns registros (voos mais antigos) é preciso um WHERE limitando isso, impondo uma condição sobre a data. Se já soubéssemos a data poderíamos fazer algo como “WHERE data = ‘2010-01-01’”, mas no caso podemos trocar o literal ‘2010-01-01’ pela expressão que nele resulta: “SELECT min(data) FROM voos”. Pergunta 7 Níveis de abstração: da realidade ao dado A evolução da humanidade pode ser encarada em parte como um trajeto no sentido da aquisição progressiva da capacidade individual de abstração. De um ser intimamente ligado ao universo e em particular à natureza, o ser humano individual tornou-se ao longo do tempo um ente independente, isolado e com cada vez maior capacidade de introspecção objetiva, isto é, sem que este dependa de fatores subjetivos, temporais e individuais. (SETZER, V. W.; SILVA, F. S. C. da. Banco de dados: aprenda o que são, melhore seu conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005.) Assim como Setzer & Silva consideram a história da humanidade como um crescente na capacidade de abstração, a história da programação de 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&c… 11/14 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: computadores também pode ser encarada como uma busca por formas cada vezes mais abstratas de dar instruções a máquinas. Considere essas três formas de se utilizar ocomputador para se obter a previsão do tempo: I – SELECT temperatura, precipitacao FROM previsao WHERE data = CURDATE(); II – Computador, por favor, me dê a previsão do tempo de hoje. III - temperatura = None precipitacao = None for prev in previsoes: if prev.data = date.today(): temperatura = prev.temperatura precipitacao = prev.precipitacao print(“ temperatura=”, temperatura) print(“precipitacao=”, precipitacao) Assinale a alternativa que corretamente ordena os itens acima em ordem crescente de abstração. III, I, II. I, II, III. III, II, I. II, I, III. Todas os itens estão no mesmo nível de abstração. III, I, II. Texto feedback Pergunta 8 Considere a seguinte modelagem feita para o banco de dados de um sistema de estacionamento: 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&c… 12/14 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Descrição acessível: tabela estadia com campos inicio, fim e placa_veiculo; tabela veiculo com campos placa, marca, modelo, cor, cpf_dono e nome_dono; estadia.placa_veiculo é chave estrangeira para veiculo.placa. Assinale a alternativa que indica em que forma normal se encontra essa modelagem. 2FN. 1FN. 2FN. 3FN. BCFN. Essa modelagem não atende nem à 1FN. b. Essa modelagem viola a 3FN, pois cpf_dono e nome_dono são funcionalmente dependentes entre si. Como há uma violação da 3FN e não há violações nem da 2FN nem da 1FN, então a modelagem apresentada está na 2FN. A modelagem não viola a 1FN pois não há campos multivalorados. Ela também não viola a 2FN, o que ocorreria se algum atributo não primário fosse funcionalmente dependente de parte de alguma chave da tabela. Pergunta 9 Resposta Selecionada: b. Respostas: a. Considere a uma tabela voos contendo um registro por voo e a coluna orig_estado_abrv, que representa o estado da federação de origem do voo. Qual será o resultado da consulta abaixo? SELECT count(*) FROM voos WHERE orig_estado_abrv = 'SP' AND orig_estado_abrv = 'RJ'; Zero. A soma das quantidades de voos partindo do estado de São Paulo e voos partindo do estado do Rio de Janeiro. 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&c… 13/14 b. c. d. e. Comentário da resposta: Zero. Duas linhas, uma linha com a quantidade de voos partindo do estado de São Paulo e outra linha com a quantidade de voos partindo do estado do Rio de Janeiro. Uma linha com duas colunas; uma coluna com a quantidade de voos partindo do estado de São Paulo e outra coluna com a quantidade de voos partindo do estado do Rio de Janeiro. Um erro, pois a sintaxe está incorreta. b. Um mesmo registro não pode ter um valor (“SP”) para uma coluna e ao mesmo tempo outro valor (“RJ”) para a mesma coluna. Dessa forma nenhuma linha satisfará a condição imposta pelo WHERE. O que resultará numa contagem de zero linhas. Pergunta 10 Considere a tabela municipio criada com o seguinte comando: CREATE TABLE municipio ( id int auto_increment primary key, nome text, uf varchar(2) ); Considere ainda o seguinte estado para a essa tabela: > select * from municipio; +----+------------+------+ | id | nome | uf | +----+------------+------+ | 1 | São Paulo | SP | | 2 | Osasco | SP | | 3 | Mateiros | TO | +----+------------+------+ Dado o estado definido acima, considere a execução do seguinte comando: INSERT INTO municipio (nome, uf) VALUES ('Salvador', 'BA'); Considere agora as seguintes afirmações: I – A execução do comando acima incorrerá em erro. II – A chave primária deve ser especificada no comando INSERT. 1 em 1 pontos 24/11/2022 23:46 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_28037422_1&course_id=_197292_1&c… 14/14 Quinta-feira, 24 de Novembro de 2022 23h46min44s BRT Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Assinale agora a opção correta. As sentenças I e II são falsas. As sentenças I e II são verdadeiras e a II é a explicação da I. As sentenças I e II são falsas. A sentença I é verdadeira, mas a II é falsa. As sentenças I e II são verdadeiras, mas a II não é a explicação da I. Apenas a sentença II é verdadeira. b. A chave primária foi especificada com a opção auto_increment, o que dispensa a especificação da chave primária no comando INSERT. ← OK Página 1 Página 2 Página 3 Página 4 Página 5 Página 6 Página 7 Página 8 Página 9 Página 10 Página 11 Página 12 Página 13 Página 14
Compartilhar