Buscar

Banco de dados quiz um

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Curso 2103-BANCO DE DADOS 
Teste Clique aqui para iniciar o Quiz 
Iniciado 15/10/21 23:48 
Enviado 16/10/21 00:31 
Data de vencimento 29/11/21 23:59 
Status Completada 
Resultado da tentativa 10 em 10 pontos 
Tempo decorrido 43 minutos 
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários 
• Pergunta 1 
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 = 
'SP' AND orig_estado_abrv = 'RJ'; 
 
Resposta 
Selecionada: 
b. 
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. 
 b. 
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 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. 
 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 imposta pelo WHERE. O que resultará 
numa contagem de zero linhas. 
 
 
• Pergunta 2 
1 em 1 pontos 
 
Considere o seguinte texto, que faz parte de uma descrição comercial na home page de 
uma suíte de produtos, servindo de link para mais detalhes sobre um produto 
específico. 
 
Pentaho Business Analytics 
 
Empodere consumidores de dados com análises interativas, visualizações 
em tempo real e modelagens preditivas, com mínimo suporte de TI. 
 
Pentaho Platform. [s. d.]. Disponível 
em: https://www.hitachivantara.com/en-us/products/data-management-
analytics/pentaho-platform.html. Acesso em: 15 jul. 2020. 
 
Assinale a alternativa que melhor esclarece o texto acima. 
 
Resposta 
Selecionada: 
c. 
Os “consumidores de dados” são pessoas (analistas, gerentes, etc.) que 
querem explorar diretamente os dados sem a necessidade de depender 
de pessoas especialistas em TI (“com mínimo suporte de TI”). 
Respostas: a. 
Os “consumidores de dados” são painéis de monitoração que servem aos 
especialistas de TI. Assim, o suporte da TI age somente quando 
necessário. 
 
b. 
Os “consumidores de dados” são aplicações resilientes que possuem 
indisponibilidade mínima, mesmo sem a intervenção constante de 
operadores de TI. 
 
c. 
Os “consumidores de dados” são pessoas (analistas, gerentes, etc.) que 
querem explorar diretamente os dados sem a necessidade de depender 
de pessoas especialistas em TI (“com mínimo suporte de TI”). 
 
d. 
Os “consumidores de dados” são pessoas (analistas, gerentes, etc.) que 
querem explorar diretamente os dados, mas desde que minimamente 
tenham todo o suporte do pessoal de TI ao seu dispor. 
 
e. 
A chamada leva o leitor a acreditar que é possível explorar os dados 
diretamente. Mas isso é impossível, já que sempre deve existir uma 
aplicação projetada pela TI corporativa entre o usuário final e os dados. 
Comentário da 
resposta: 
c. O Pentaho é uma ferramenta de análise de dados que dispensa a 
necessidade de uma aplicação geradora de relatórios e o usuário final. 
 
Esse estilo arquitetural de análise de dados é o estilo dos data 
warehouses. 
 
• Pergunta 3 
1 em 1 pontos 
 
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? 
 
Resposta 
Selecionada: 
c. 
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; 
Respostas: a. 
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; 
 
b. 
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; 
 
c. 
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; 
 
d. 
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; 
 
e. 
SELECT nome, (SELECT max(preco) FROM pratos WHERE vegetariano) – 
preco as diferenca_pro_vegetariano_mais_caro FROM pratos WHERE 
vegetariano; 
 
Comentário 
da resposta: 
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 4 
1 em 1 pontos 
 
Analise a seguinte sequência de comandos realizada com o usuário administrador 
(aquele que possui todos os privilégios sobre a instância do SGBD): 
 
CREATE USER 'u1'@'%' IDENTIFIED BY 'senha'; 
CREATE USER 'u2'@'%' IDENTIFIED BY 'senha'; 
CREATE USER 'u3'@'%' IDENTIFIED BY 'senha'; 
 
CREATE DATABASE db1; 
USE db1; 
CREATE TABLE tb1 (id int, x int); 
CREATE TABLE tb2 (id int, x int); 
GRANT SELECT ON db1.* TO u1; 
GRANT SELECT, DELETE ON db1.* TO u2; 
GRANT UPDATE, INSERT ON db1.tb1 TO u3; 
 
CREATE DATABASE db2; 
USE db2; 
CREATE TABLE tb1 (id int, x int); 
CREATE ROLE r1; 
GRANT ALL ON db2.* TO r1; 
GRANT r1 TO u3; 
SET DEFAULT ROLE ALL TO u3; 
FLUSH PRIVILEGES; 
 
Considerando que os comandos apresentados já foram executados (todos com 
sucesso), associe a lista de comandos à lista de trechos das saídas produzidas por 
esses comandos. 
 
Lista de comandos (o sinal $ indica um comando realizado no sistema operacional e o 
sinal > indica um comando realizado no MySQL): 
 
 
(I) $ mysql -u u1 db2 -psenha 
 
(II) $mysql -u u2 db1 -psenha 
> DROP tb2; 
 
(III) $ mysql -u u3 db1 -psenha 
> UPDATE tb1 SET x = 2*x WHERE x > 10; 
 
(IV) $ mysql -u u3 db2 -psenha 
> UPDATE tb1 SET x = 2*x WHERE x > 10; 
 
Lista de trechos das saídas: 
 
( ) SELECT command denied to user 
 
( ) Access denied for user 
 
( ) Query OK 
 
( ) You have an error in your SQL syntax 
 
A sequência correta dessa associação é: 
Resposta Selecionada: b. 
(III) (I) (IV) (II) 
Respostas: a. 
(IV) (I) (III) (II) 
 b. 
(III) (I) (IV) (II) 
 c. 
(IV) (I) (II) (III) 
 d. 
(I) (II) (III) (IV) 
 e. 
(IV) (III) (II) (I) 
Comentário 
da resposta: 
b. O comando I resultará em acesso negado, pois u1 não tem nenhum 
privilégio sobre db2. O comando II resultará em erro de sintaxe, pois o 
comando correto seria “DROP TABLE tb2”. O comando III resultará em 
erro de permissão, pois, apesar de ter direito ao UPDATE, u3 não possui 
direito de SELECT em db1.tb1, e a condição do WHERE impõe a 
necessidade de leitura da tabela. Já o comando IV resultará em 
 
sucesso, pois u3 recebeu os privilégios de r1, que tem acesso total a 
db2. 
 
• Pergunta 5 
1 em 1 pontos 
 
Considere os seguintes tipos de bancos de dados: 
 (I) Relacionais com propriedadesACID 
(II) Em memória 
(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: d. 
(II) (III) (I) (IV) 
Respostas: a. 
(IV) (III) (I) (II) 
 b. 
(II) (I) (III) (IV) 
 c. 
(III) (II) (I) (IV) 
 d. 
(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 as seguintes tabelas: 
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; 
 
Resposta 
Selecionada: 
b. 
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. 
Respostas: a. 
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. 
 
b. 
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. 
 
c. 
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. 
 
d. 
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. 
 e. 
A consulta não significa nada, pois possui um erro de sintaxe. 
Comentário da 
resposta: 
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 7 
1 em 1 pontos 
 
6.1.2.1 Orientações do usuário final para a segurança de senha 
 
Use a opção --password = password ou -ppassword na linha de comando. Por 
exemplo: 
 
shell> mysql -u francis -pfrank db_name 
 
Aviso 
 
Isso é conveniente, mas inseguro. Em alguns sistemas, sua senha fica visível 
para programas de status do sistema, como ps, que podem ser invocados por 
outros usuários para exibir linhas de comando. Os clientes MySQL geralmente 
substituem o argumento da senha da linha de comandos com zeros durante 
sua sequência de inicialização. No entanto, ainda há um breve intervalo 
durante o qual o valor é visível. Além disso, em alguns sistemas, essa 
estratégia de substituição é ineficaz e a senha permanece visível para o ps. 
(Os sistemas SystemV Unix e talvez outros estejam sujeitos a esse problema.) 
 
Se o seu ambiente operacional estiver configurado para exibir seu comando 
atual na barra de título da janela do terminal, a senha permanecerá visível 
enquanto o comando estiver em execução, mesmo se o comando já estiver 
fora de vista. 
 
 
MYSQL. MySQL 8.0 Reference Manual. 2020. 
 
O trecho acima do manual do MySQL explica que um determinado método de login 
possui um certo risco de segurança. 
 
Indique qual seria uma alternativa segura ao método discutido. 
Resposta 
Selecionada: 
a. 
Logar com a opção -p sem passar o parâmetro (senha) no comando, o 
que fará com que a senha seja lida a partir de um prompt seguro do 
terminal. 
Respostas: a. 
Logar com a opção -p sem passar o parâmetro (senha) no comando, o 
que fará com que a senha seja lida a partir de um prompt seguro do 
terminal. 
 
b. 
Logar com a opção -p sem passar o parâmetro (senha) no comando, o 
que fará com que o usuário anônimo seja utilizado. 
 
c. 
Logar como o discutido, passando a senha na linha de comando, mas 
especificando o uso de uma conexão SSL segura entre cliente e banco de 
dados. 
 
d. 
Logar como o discutido, passando a senha na linha de comando, mas 
usando um contêiner Docker. 
 
e. 
O manual do MySQL está defasado. Na última versão disponível do 
MySQL, o método discutido é inteiramente seguro. 
Comentário da 
resposta: 
a. Com a senha sendo digitada em modo interativo (com a opção -p), 
não há como outro programa capturar a senha digitada, a menos que 
haja algum programa espião que capture as teclas sendo digitadas. 
 
 
• Pergunta 8 
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); 
 
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: 
d. 
 
 
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”. 
 
 
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”. 
 
d. 
 
 
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. 
 
 
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. 
 
• Pergunta 9 
1 em 1 pontos 
 
Considerea seguinte modelagem feita para o banco de dados de um sistema de estacionamento: 
 
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. 
Resposta Selecionada: b. 
2FN. 
Respostas: a. 
1FN. 
 b. 
2FN. 
 c. 
3FN. 
 d. 
BCFN. 
 e. 
Essa modelagem não atende nem à 1FN. 
Comentário da 
resposta: 
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 10 
1 em 1 pontos 
 
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/articles/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”. 
 
Resposta 
Selecionada: 
c. 
Novos sistemas continuarão usando os SGBDs relacionais, mas ao mesmo 
tempo utilizarão outros bancos NoSQL para propósitos específicos. 
Respostas: a. 
 
https://martinfowler.com/articles/nosql-intro
“Persistência poliglota” diz respeito aos vários tipos de bancos NoSQL 
disponíveis (excluindo, portanto, os bancos relacionais). 
 
b. 
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.). 
 
c. 
Novos sistemas continuarão usando os SGBDs relacionais, mas ao mesmo 
tempo utilizarão outros bancos NoSQL para propósitos específicos. 
 
d. 
A “persistência poliglota” consiste numa Babel de bancos NoSQL que não 
é sustentável a longo prazo. 
 
e. 
A persistência poliglota é uma camada genérica de inferência entre os 
bancos de dados e as aplicações. 
Comentário da 
resposta: 
c. A “persistência poliglota” se refere a uma só aplicação utilizando 
diversos tipos de persistência: seja relacional, seja NoSQL.

Continue navegando