Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pergunta 1 1 em 1 pontos Considere a seguinte tabela: Tabela de municípios: nome uf populacao area São Paulo SP 12 252 023 1 521 Belo Horizonte MG 1 2 512 070 331 Sorocaba SP 679 378 450 Guaratinguetá SP 121 798 752 Rancharia SP 29 707 2 1 587 Altamira PA 114 594 159 533 Fonte: https://cidades.ibge.gov.br/ É correto afirmar que essa tabela: Resposta Selecionada: Corretac. Possui os campos “nome”, “uf”, “populacao” e “area”. Respostas: a. Possui 4 campos e 7 registros. b. 3 Possui 4 registros. Corretac. Possui os campos “nome”, “uf”, “populacao” e “area”. d. Utiliza todos os tipos de colunas presentes no MySQL: text e integer. e. Não é uma tabela; na verdade é uma tupla. Comentário da resposta: 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 2 1 em 1 pontos Placa do Mercosul: tire suas dúvidas e saiba o que já mudou no projeto. As novas placas no padrão Mercosul finalmente começaram a ser usadas no Brasil – inicialmente no Rio de Janeiro e gradualmente em outros Estados .… Como serão as sequências? 4 Figura - O padrão novo troca o segundo número por uma letra Descrição acessível: Figura mostra duas placas de carro. Placa de cima é uma placa cinza (padrão antigo – no topo há a sigla do estado e nome do município) e a placa de baixo é uma placa Mercosul (padrão novo – fundo branco, topo azul, sem sigla do estado, sem nome do município e com bandeira do Brasil). A placa cinza possui numeração PHL4506, enquanto que a placa Mercosul possui a numeração PHL4F06. Os países do Mercosul que adotarem a nova placa, inclusive, poderão estabelecer essa distribuição de maneira distinta. Por exemplo, enquanto na Argentina a sequência tem sido LL NNN LL, no Brasil ela será inicialmente LLL NLNN para automóveis e LLL NN LN para motocicletas. Como ficará a sequência em carros já emplacados? Como a nova placa manterá a quantidade de caracteres, porém com mudanças na sequência de letras e números, quem fizer a troca da placa antiga pela nova em um veículo já registrado verá o segundo número (da esquerda para a direita) ser substituído por uma letra de acordo com a tabela abaixo: 5 Como é Como ficará 0 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J 6 Com isso, uma placa QUA1960 se transformará em QUA1J60, com o “J” dando lugar ao “9”. (Placa do Mercosul: tire suas dúvidas e saiba o que já mudou. Quatro rodas. Disponível em: <https://quatrorodas.abril.com.br/auto-servico/placa-do-mercosul-tire-suas-duvidas-e- saiba-o-que-ja-mudou-no-projeto/>. Acesso em: mar. 2020). Considere a notícia acima e a existência de diversos bancos de dados no Brasil que armazenam veículos em seus registros. Considere que cada um desses bancos de dados tenha uma tabela de veículos, cuja chave primária é a placa. Considere ainda que em cada banco de dados há outras tabelas que apontam para a tabela de veículos por meio de chaves estrangeiras. Dadas essas considerações, assinale a alternativa correta. Resposta Selecionada: Corretad. Mesmo com essas mudanças, é possível manter a placa como chave primária. Quando um veículo trocar de placa, será preciso atualizar a chave primária na tabela de veículos e atualizar os valores das chaves estrangeiras nas outras tabelas. Como cada uma dessas operações pode violar as restrições do banco de dados, pode ser necessário algum subterfúgio como por exemplo a desabilitação das chaves estrangeiras durante a operação. 7 Respostas: a. As tabelas de veículos não aceitarão que um dado veículo troque de placa, uma vez que não é possível alterar o valor de uma chave primária. b. Quando um veículo trocar de placa, basta atualizar diretamente a chave primária na tabela de veículos (as chaves estrangeiras nunca impedirão essa mudança). c. Essa alteração no “espaço do problema” provocará obrigatoriamente uma necessidade de atualização no sistema para que se utilize algum outro campo como chave primária: talvez o número de chassi ou mesmo um valor sequencial gerado automaticamente. Corretad. Mesmo com essas mudanças, é possível manter a placa como chave primária. Quando um veículo trocar de placa, será preciso atualizar a chave primária na tabela de veículos e atualizar os valores das chaves estrangeiras nas outras tabelas. Como cada uma dessas operações pode violar as restrições do banco de dados, pode ser necessário algum subterfúgio como por exemplo a desabilitação das chaves estrangeiras durante a operação. e. A alteração apenas da chave primária na tabela de veículos não fere a integridade referencial do banco de dados, uma vez que a tabela de veículos permanece consistente. Comentário da resposta: d. Embora a existência de chaves estrangeiras possa complicar a operação, é possível atualizar chaves primárias. Também é possível configurar as chaves estrangeiras para que sejam atualizadas automaticamente (“on update cascade”), mas essa opção não é default. 8 Pergunta 3 1 em 1 pontos Considere a seguinte consulta: SELECT nome FROM funcionario WHERE not(idade > 65 AND sexo = 'M' OR idade > 60 AND sexo = 'F'); Assinale a alternativa que indica um par válido de entrada e saída para essa consulta. Obs: Todas as entradas se referem à tabela “funcionario”. Resposta Selecionada: Corretad. Entrada: +----------+-------+------+ | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | 9 | Geraldo | 67 | M | | Enzo | 23 | M | | Karolyne | 23 | F | | Josefina | 63 | F | | Ivone | 70 | F | +----------+-------+------+ Saída: +----------+ | nome | +----------+ | Enzo | 10 | Karolyne | +----------+ Respostas: a. Entrada: +----------+-------+------+ | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | | Geraldo | 67 | M | | Enzo | 23 | M | | Josefina | 63 | F | | Ivone | 70 | F | 11 +----------+-------+------+ Saída: +----------+ | nome | +----------+ | Enzo | | Josefina | | Ivone | +----------+ b. Entrada: +----------+-------+------+ 12 | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | | Geraldo | 67 | M | | Enzo | 23 | M | | Josefina | 63 | F | | Ivone | 70 | F | +----------+-------+------+ Saída: +----------+ | nome | 13 +----------+ | Moacir | | Geraldo | | Josefina | | Ivone | +----------+ c. Entrada: +----------+-------+------+ | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | 14 | Geraldo | 67 | M | | Enzo | 23 | M | | Karolyne | 23 | F | | Josefina | 63 | F | | Ivone | 70 | F | +----------+-------+------+ Saída: +----------+ | nome | +----------+ | Moacir | 15 | Geraldo | | Enzo | | Karolyne | | Josefina | +----------+ Corretad. Entrada: +----------+-------+------+ | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | | Geraldo | 67 | M | | Enzo | 23 | M | 16 | Karolyne | 23 | F | | Josefina | 63 | F | | Ivone | 70 | F | +----------+-------+------+ Saída: +----------+ | nome | +----------+ | Enzo | | Karolyne | +----------+ 17 e. Entrada: +----------+-------+------+ | nome | idade | sexo | +----------+-------+------+ | Moacir | 70 | M | | Geraldo | 67 | M | | Josefina | 63 | F | | Ivone | 70 | F | +----------+-------+------+ Saída: 18 …Syntax error… Comentário da resposta: D. A consulta irá selecionar todos os homens com idade até 65 anos e todas as mulheres com idade até 60 anos. Nas opções A e B, temos “Ivone”, de 70 anos,sendo selecionada, por isso essas opções estão erradas. Na opção C, temos “Josefina”, de 63 anos, sendo selecionada, por isso essa opção também está errada. Como a consulta não possui erro de sintaxe (opção E), a alternativa correta é a D. Pergunta 4 1 em 1 pontos 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: 19 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. 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 alternativa correta. Resposta Selecionada: Corretae. As afirmações I, II e III fazem sentido e justificam a política de backup escolhida. Respostas: a. As afirmações I, II e III fazem sentido, mas nenhuma delas ajuda a justificar a política de backup escolhida. b. As afirmações I e III fazem sentido e justificam a política de backup escolhida. A afirmação II 20 faz sentido, mas não justifica a política de backup escolhida, já que custo é um fator a ser ignorado em decisões técnicas. c. As afirmações I, II e III não fazem sentido. d. As afirmações II e III fazem sentido e justificam a política de backup escolhida. A afirmação I não faz sentido, pois em algum momento todos os usuários vão estar dormindo. Corretae. As afirmações I, II e III fazem sentido e justificam a política de backup escolhida. Comentário da resposta: 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 5 1 em 1 pontos Considere os seguintes tipos de bancos de dados: (I) Relacionais com propriedades ACID (II) Em memória 21 (III) Orientados a documentos (IV) Orientados a grafos Considere agora os seguintes domínios a serem modelados em bancos de dados: ( ) Soluções de cache. ( ) Entidades com alta variabilidade de atributos entre suas instâncias. ( ) Dados financeiros que exigem alta consistência. ( ) Análise logística de rotas de caminhões. Assinale a alternativa que traça a correspondência mais adequada entre os tipos de bancos de dados e os domínios aos quais eles se aplicam melhor. Resposta Selecionada: Corretad. (II) (III) (I) (IV) Respostas: a. (IV) (III) (I) (II) 22 b. (II) (I) (III) (IV) c. (III) (II) (I) (IV) Corretad. (II) (III) (I) (IV) e. (I) (III) (II) (IV) Comentário da resposta: d. Soluções de cache exigem pouco espaço e devem ser rápidas, por isso bancos em memória são adequados para elas. Instâncias diferentes com atributos diferentes para uma mesma entidade geram tabelas esparsas em bancos relacionais; utilizar um banco com esquema flexível, como os orientados a documentos, é interessante. A transferência entre contas correntes é um caso que exige alta consistência e todas as garantias do ACID: melhor ficar com um SGBD relacional. Por fim, a análise logística pode utilizar a aplicação de algoritmos em grafos, por isso pode se valer de um SGBD orientado a grafos. Pergunta 6 1 em 1 pontos 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-sistema-de- atendimento-ao-cidadao-sac-156) criada com o seguinte comando: 23 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 24 ); 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 Qual das opções exibe uma consulta que poderia ter produzido a saída acima? 25 Resposta Selecionada: Corretaa. SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; Respostas: Corretaa. SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; b. SELECT tema, qtd FROM solicitacoes GROUP BY tema ORDER BY qtd DESC LIMIT 5; c. SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY tema ORDER BY qtd LIMIT 5; d. SELECT tema, qtd FROM solicitacoes LIMIT 5; e. SELECT tema, count(*) as qtd FROM solicitacoes GROUP BY qtd ORDER BY qtd DESC LIMIT 5; Comentário da resposta: 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 utilização do “ORDER BY DESC”. Como a saída só possui 5 linhas, isso sugere a utilizaçã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. 26 Pergunta 7 0 em 1 pontos 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 | +----+------------+------+ 27 > 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(*) | +----------+ 28 | 2 | +----------+ Considere agora a existência da tabela voos, com um voo por registro e com a coluna data, representando a data do voo. Qual dos seguintes comandos exibe corretamente todos os dados dos voos ocorridos na data do voo mais antigo registrado? Resposta Selecionada: Incorretae. SELECT * FROM voos WHERE min(data); Respostas: Corretaa. SELECT * FROM voos WHERE data = (SELECT min(data) FROM voos) as data_mais_antiga; b. SELECT * FROM voos WHERE data = (SELECT min(data)) as data_mais_antiga; c. 29 SELECT * FROM voos WHERE data = min(data); d. SELECT min(data) FROM voos; e. SELECT * FROM voos WHERE min(data); Comentário da resposta: 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 8 1 em 1 pontos 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 = 30 'SP' AND orig_estado_abrv = 'RJ'; Resposta Selecionada: Corretab. Zero. Respostas: a. A soma das quantidades de voos partindo do estado de São Paulo e voos partindo do estado do Rio de Janeiro. Corretab. Zero. c. 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. d. Uma linhacom 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. e. Um erro, pois a sintaxe está incorreta. Comentário da resposta: 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 31 imposta pelo WHERE. O que resultará numa contagem de zero linhas. Pergunta 9 0 em 1 pontos 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. 32 V – Uma banda de rock não pode possuir um flautista. VI – Um músico pode pertencer a várias bandas. Para um banco de dados que utilize a modelagem apresentada no diagrama, assinale a alternativa que apresente todas as afirmações verdadeiras. Resposta Selecionada: Incorretae. II, III e IV. Respostas: a. I, III, IV e IV. Corretab. I, III, IV e V. c. I e VI. d. I, III, IV, V e VI. 33 e. II, III e IV. Comentário da resposta: 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. Pergunta 10 1 em 1 pontos 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); 34 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? Resposta Selecionada: Corretad. 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”. Respostas: a. 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”. 35 b. 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”. c. Descrição acessível: Figura possui um retângulo cujo texto possui duas linhas. Primeira linha é “Livro”. Segunda linha é “título, autor, editora, ano”. Corretad. 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”. e. 36 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”. Comentário da resposta: 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. 37
Compartilhar