Buscar

QUIZ-TOTAL-BD

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 225 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 225 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 225 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

20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 1/16
REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ 
Pergunta 1
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.
 
Sala de Aula Tutoriais
1 em 1 pontos
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
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 2/16
Resposta
Selecionada:
a.
Respostas: a.
b.
c.
d.
e.
Comentário
da
resposta:
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.
Logar com a opção -p sem passar o parâmetro (senha) no comando,
o que fará com que a senha seja lida a par�r de um prompt seguro
do terminal.
Logar com a opção -p sem passar o parâmetro (senha) no comando,
o que fará com que a senha seja lida a par�r de um prompt seguro
do terminal.
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 u�lizado.
Logar como o discu�do, passando a senha na linha de comando,
mas especificando o uso de uma conexão SSL segura entre cliente e
banco de dados.
Logar como o discu�do, passando a senha na linha de comando,
mas usando um contêiner Docker.
O manual do MySQL está defasado. Na úl�ma versão disponível do
MySQL, o método discu�do é inteiramente seguro.
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 2
Considere uma tabela que registre as doações recebidas pelos partidos
políticos para as eleições de 2014 no estado de São Paulo (Fonte: http://dado
s.gov.br/dataset/prestacao-de-contas-das-campanhas-eleitorais).
 
Considere que a tabela doacoes possui um schema conforme o seguinte
comando:
 
CREATE TABLE doacoes (
 UF,
1 em 1 pontos
http://dados.gov.br/dataset/prestacao-de-contas-das-campanhas-eleitorais
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 3/16
Resposta
Selecionada:
e. 
Respostas: a.
b. 
c. 
 SiglaPartido,
 DataReceita,
 Valor REAL,
 TipoReceita,
 FonteRecurso,
 EspecieRecurso,
 DescricaoReceita,
 DocumentoDoador,
 NomeDoador );
 
Considere agora a seguinte consulta SQL:
 
SELECT SiglaPartido, sum(Valor) as total_recebido FROM
doacoes GROUP BY SiglaPartido ORDER BY total_recebido
DESC LIMIT 5;
 
Assinale a alterna�va que indica qual saída o comando acima pode produzir.
SiglaPartido  total_recebido
------------  --------------
PSDB          57058765.03  
PT            37767199.76  
SD            18960025.0   
PSD           17706828.38  
PMDB          8748201.0  
… You have an error in your SQL syntax
...
SiglaPartido  total_recebido
------------  --------------
PCO           91.66        
PCB           6950.0       
PRTB          7327.9       
PDT           10000.0      
PSC           18620.0
SiglaPartido  Valor    
------------  ----------
PSDB          50000.0  
PSB           50000.0  
PT            700000.0 
PT            1615000.0
PT            500000.0 
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 4/16
d. 
e. 
Comentário
da
resposta:
SiglaPartido  total_recebido
------------  --------------
PSDB          57058765.03  
SiglaPartido  total_recebido
------------  --------------
PSDB          57058765.03  
PT            37767199.76  
SD            18960025.0   
PSD           17706828.38  
PMDB          8748201.0  
e. O “GROUP BY SiglaPar�do” indica que cada par�do deve aparecer
somente uma vez na saída. O LIMIT 5 indica que a saída deve ter
apenas 5 registros. O “ORDER BY total_recebido DESC” indica que a
coluna total_recebido deve estar em ordem decrescente.
Pergunta 3
Resposta
Selecionada:
d.
Respostas: a.
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.hitachiva
ntara.com/en-us/products/data-management-analytics/pentaho-pl
atform.html. Acesso em: 15 jul. 2020.
 
Assinale a alterna�va que melhor esclarece o texto acima.
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.
0 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 5/16
b.
c.
d.
e.
Comentário
da
resposta:
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.
Os “consumidores de dados” são aplicações resilientes que
possuem indisponibilidade mínima, mesmo sem a intervenção
constante de operadores de TI.
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”).
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.
A chamada leva o leitor a acreditar que é possível explorar os dados
diretamente. Mas isso é impossível, já que sempre deve exis�r uma
aplicação projetada pela TI corpora�va entre o usuário final e os
dados.
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 4
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 desenvolvedorpoderia utilizar
para realizar essa documentação?
1 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 6/16
Resposta
Selecionada:
d.
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”.
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 7/16
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”.
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 8/16
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 5
Resposta Selecionada: b. 
Respostas: a. 
b. 
c. 
d. 
Considere a 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.
2FN.
1FN.
2FN.
3FN.
BCFN.
1 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&co… 9/16
e. 
Comentário
da
resposta:
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 mul�valorados. 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 6
Resposta
Selecionada:
a.
Respostas: a.
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.
 
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, mas nenhuma delas ajuda a
jus�ficar a polí�ca de backup escolhida.
0 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 10/16
b.
c. 
d.
e.
Comentário
da
resposta:
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 7
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;
1 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 11/16
Resposta Selecionada: b. 
Respostas: a. 
b. 
c. 
d. 
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 é:
(III) (I) (IV) (II)
(IV) (I) (III) (II)
(III) (I) (IV) (II)
(IV) (I) (II) (III)
(I) (II) (III) (IV)
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 12/16
e. 
Comentário
da
resposta:
(IV) (III) (II) (I)
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 8
Níveis de abstração: da realidade ao dado
 
A evolução dahumanidade 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
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 o computador 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
1 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 13/16
Resposta Selecionada: e. 
Respostas: a. 
b. 
c. 
d. 
e. 
Comentário da resposta:
for prev in previsoes:
  if prev.data = date.today():
    temperatura = prev.temperatura
    precipitacao = prev.precipitacao
 print(“ temperatura=”,  temperatura)
print(“precipitacao=”, precipitacao)
 
Assinale a alterna�va 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 9
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?
Figura - O padrão novo troca o segundo número por uma letra
1 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 14/16
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:
 
Como é     Como ficará
0  A
1  B
2  C
3  D
4  E
5  F
6  G
7  H
8  I
9  J
 
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 alterna�va correta.
https://quatrorodas.abril.com.br/auto-servico/placa-do-mercosul-tire-suas-duvidas-e-saiba-o-que-ja-mudou-no-projeto/
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 15/16
Resposta
Selecionada:
d.
Respostas: a.
b.
c.
d.
e.
Comentário
da
resposta:
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.
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.
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).
Essa alteração no “espaço do problema” provocará
obrigatoriamente uma necessidade de atualização no sistema para
que se u�lize algum outro campo como chave primária: talvez o
número de chassi ou mesmo um valor sequencial gerado
automa�camente.
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.
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.
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
automa�camente (“on update cascade”), mas essa opção não é
default.
Pergunta 10 0 em 1 pontos
20/09/2021 09:08 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20936857_1&course_id=_156956_1&c… 16/16
Segunda-feira, 20 de Setembro de 2021 09h06min03s BRT
Resposta
Selecionada:
c.
Respostas: a.
b. 
c.
d.
e. 
Comentário
da
resposta:
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';
Duas linhas, uma linha com a quan�dade de voos par�ndo do
estado de São Paulo e outra linha com a quan�dade de voos
par�ndo do estado do Rio de Janeiro.
A soma das quan�dades de voos par�ndo do estado de São Paulo e
voos par�ndo do estado do Rio de Janeiro.
Zero.
Duas linhas, uma linha com a quan�dade de voos par�ndo do
estado de São Paulo e outra linha com a quan�dade de voos
par�ndo do estado do Rio de Janeiro.
Uma linha com duas colunas; uma coluna com a quan�dade de
voos par�ndo do estado de São Paulo e outra coluna com a
quan�dade de voos par�ndo 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 sa�sfará a condição imposta pelo
WHERE. O que resultará numa contagem de zero linhas.
← OK
javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_6881087_1&course_id=_156956_1&nolaunch_after_review=true');20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 1/15
 
Revisar envio do teste: Clique aqui para iniciar o Quiz
STADCAS2DB_2102-2102-686276 2102-BANCO DE DADOS Quiz
REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ 
Usuário
Curso 2102-BANCO DE DADOS
Teste Clique aqui para iniciar o Quiz
Iniciado 20/09/21 09:10
Enviado 20/09/21 14:37
Data de vencimento 20/09/21 23:59
Status Completada
Resultado da tentativa 9 em 10 pontos  
Tempo decorrido 5 horas, 27 minutos
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários
Pergunta 1
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
Sala de Aula Tutoriais
1 em 1 pontos
91
https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_156956_1
https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_156956_1&content_id=_6881087_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
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 2/15
Resposta
Selecionada:
b.
Respostas: a.
b.
c.
d.
e. 
Comentário
da
resposta:
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.
Pergunta 2
Considere a tabela abaixo, denominada tab1 e contendo as colunas col1 e col2.
col1 col2
10 1
20 2
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 3/15
Resposta
Selecionada:
e. 
Respostas: a.
b. 
c. 
d. 
e. 
30 3
Descrição acessível: Tabela com duas colunas: col1 e col2. Conteúdo composto apenas de números.
A SQL possui um recurso que possibilita a execução de operações
aritméticas entre as colunas, como demonstra a seguinte consulta:
 
> SELECT col1 + col2 as soma FROM tab1;
soma
11
22
33
 
Considere ainda a existência de uma tabela acidentes_aereos, em que cada
registro representa um acidente aéreo e que possui as colunas
quantidade_passageiros e quantidade_vitimas_fatais.
 Assinale a alternativa que corretamente consulta a porcentagem de vítimas fatais
(em relação ao total de passageiros) de cada acidente na tabela
acidentes_aereos.
SELECT quantidade_vitimas_fatais / 
quantidade_passageiros * 100 as 
porcentagem_sobreviventes FROM  
acidentes_aereos;
(SELECT quantidade_vitimas_fatais  FROM  
acidentes_aereos) / (SELECT 
quantidade_passageiros  FROM 
acidentes_aereos) 
* 100;
SELECT porcentagem_sobreviventes FROM 
acidentes_aereos;
SELECT IN acidentes_aereos VALUE
quantidade_vitimas_fatais / 
quantidade_passageiros * 100 as 
porcentagem_sobreviventes;
SELECT quantidade_vitimas_fatais FROM 
quantidade_passageiros * 100  IN  
acidentes_aereos;
SELECT quantidade_vitimas_fatais / 
quantidade_passageiros * 100 as 
porcentagem_sobreviventes FROM  
acidentes_aereos;
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 4/15
Comentário
da
resposta:
e. Para obter a porcentagem de ví�mas é preciso dividir, em cada
registro, e quan�dade de ví�mas pela quan�dade de passageiros e
mul�plicar essa proporção por 100.
Pergunta 3
Resposta
Selecionada:
b.
Respostas: a.
b.
c.
d.
e.
Considere a seguinte tabela de pratos disponíveis em um restaurante: 
CREATE TABLE pratos (nome text, pais_origem text,
vegetariano boolean, preco float); 
Considerando essa tabela, assinale a alternativa com o comando que torna
possível a execução da seguinte consulta:
 
SELECT pais_origem as pais, count(*) as qtd_pratos_vegetarianos FROM
pratos_vegetarianos GROUP BY pais_origem;
+--------+-------------------------+
| pais   | qtd_pratos_vegetarianos |
+--------+-------------------------+
| Índia |                      10 |
| Itália |                       7 |
| Brasil |                       4 |
+--------+-------------------------+
CREATE VIEW pratos_vegetarianos AS SELECT nome, pais_origem
FROM pratos WHERE vegetariano;
CREATE SUBSELECT pratos_vegetarianos AS SELECT nome, pais_origem
AS pais FROM pratos WHERE vegetariano;
CREATE VIEW pratos_vegetarianos AS SELECT nome, pais_origem
FROM pratos WHERE vegetariano;
CREATE SUBSELECT pratos_vegetarianos AS SELECT nome, pais_origem
FROM pratos WHERE vegetariano;
CREATE VIEW pratos_vegetarianos FROM SELECT nome, pais_origem
FROM pratos WHERE vegetariano;
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 5/15
Comentário
da
resposta:
CREATE VIEW FOR pratos AS SELECT * FROM pratos_vegetarianos
WHERE vegetariano;
b. Para que a consulta funcione, é preciso criar uma view para a
tabela pratos. E a sintaxe para criar uma view é CREATE VIEW <nome-
da-view> AS <SELECT ...>.
Pergunta 4
Resposta
Selecionada:
b.
Respostas: a.
b.
c. 
d.
e.
Comentário
da
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 companhiasque 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(*)
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 6/15
resposta: 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
Resposta
Selecionada:
a.
Respostas: a.
b.
c.
d.
e.
Comentário
da
resposta:
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);
Assinale a alternativa que indica uma consulta válida para identificarmos os
médicos que não possuem consulta marcada na data de hoje.
SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT
JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or
data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT
JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or
data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m JOIN
consulta c ON c.id_medico = m.id WHERE data != curdate() or data is
null;
SELECT DISTINCT m.nome as nome_medico FROM medico m RIGHT
JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or
data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT
JOIN consulta c WHERE c.id_medico = m.id and data != curdate() or
data is null;
Dada a modelagem apresentada, não é possível realizar a consulta
desejada com um único SELECT.
a. Com um LEFT JOIN, teremos os médicos associados a alguma
consulta e também os médicos sem consultas. Para que a consulta
devolva os médicos sem consulta alguma marcada, temos o “data
is null”. Para que a consulta devolva os médicos com consulta
marcada em outros dias que não o dia corrente, temos o “data !=
curdate()”. Sem o DISTINCT, a consulta SQL devolveria uma linha
por consulta médica, o que poderia repetir os nomes dos médicos.
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 7/15
Como queremos listar somente os médicos, o DISTINCT é
desejável.
Pergunta 6
Resposta
Selecionada:
a.
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.
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 8/15
Respostas: a.
b.
c.
d.
e.
Comentário
da
resposta:
Logar com a opção -p sem passar o parâmetro (senha) no comando, o
que fará com que a senha seja lida a par�r de um prompt seguro do
terminal.
Logar com a opção -p sem passar o parâmetro (senha) no comando, o
que fará com que a senha seja lida a par�r de um prompt seguro do
terminal.
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 u�lizado.
Logar como o discu�do, passando a senha na linha de comando, mas
especificando o uso de uma conexão SSL segura entre cliente e banco
de dados.
Logar como o discu�do, passando a senha na linha de comando, mas
usando um contêiner Docker.
O manual do MySQL está defasado. Na úl�ma versão disponível do
MySQL, o método discu�do é inteiramente seguro.
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 7
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
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&co… 9/15
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”.
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 10/15
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”.
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 11/15
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 8
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 realizadassobre 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
1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 12/15
Resposta
Selecionada:
e.
Respostas: a.
b.
c.
d.
e.
Comentário
da
resposta:
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.
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 9 1 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 13/15
Resposta
Selecionada:
e.
Respostas: a.
b.
c. 
d.
e.
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.
 
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.
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 14/15
Comentário
da
resposta:
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 10
Resposta
Selecionada:
b.
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) – 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;
0 em 1 pontos
20/09/2021 14:40 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash...
https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21133352_1&course_id=_156956_1&c… 15/15
Segunda-feira, 20 de Setembro de 2021 14h37min25s BRT
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).
← OK
javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_6881087_1&course_id=_156956_1&nolaunch_after_review=true');
Resposta Selecionada: b.
Respostas: a.
b.
c.
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
 
( ) QueryOK
 
( ) You have an error in your SQL syntax
 
A sequência correta dessa associação é:
(III) (I) (IV) (II)
(IV) (I) (III) (II)
(III) (I) (IV) (II)
(IV) (I) (II) (III)
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
2 of 16 19/09/2021 16:21
d.
e.
Comentário
da resposta:
(I) (II) (III) (IV)
(IV) (III) (II) (I)
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 2
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
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
3 of 16 19/09/2021 16:21
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.
Pergunta 3
Considere uma tabela que registre as doações recebidas pelos
partidos políticos para as eleições de 2014 no estado de São Paulo
(Fonte: http://dados.gov.br/dataset/prestacao-de-contas-das-campan
has-eleitorais).
 
Considere que a tabela doacoes possui um schema conforme o
seguinte comando:
 
CREATE TABLE doacoes (
 UF,
 SiglaPartido,
DataReceita,
 Valor REAL,
 TipoReceita,
 FonteRecurso,
 EspecieRecurso,
 DescricaoReceita,
 DocumentoDoador,
 NomeDoador );
 
Considere agora a seguinte consulta SQL:
 
SELECT SiglaPartido, sum(Valor) as total_recebido FROM
doacoes GROUP BY SiglaPartido ORDER BY total_recebido DESC
0 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
4 of 16 19/09/2021 16:21
Resposta
Selecionada:
a.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
LIMIT 5;
 
Assinale a alternativa que indica qual saída o comando acima pode
produzir.
… You have an error in your SQL syntax
...
… You have an error in your SQL syntax
...
SiglaPartido total_recebido
------------ --------------
PCO 91.66 
PCB 6950.0 
PRTB 7327.9 
PDT 10000.0 
PSC 18620.0
SiglaPartido Valor 
------------ ----------
PSDB 50000.0 
PSB 50000.0 
PT 700000.0 
PT 1615000.0
PT 500000.0 
SiglaPartido total_recebido
------------ --------------
PSDB 57058765.03 
SiglaPartido total_recebido
------------ --------------
PSDB 57058765.03 
PT 37767199.76 
SD 18960025.0 
PSD 17706828.38 
PMDB 8748201.0 
e. O “GROUP BY SiglaPartido” indica que cada partido
deve aparecer somente uma vez na saída.  O LIMIT 5
indica que a saída deve ter apenas 5 registros. O
“ORDER BY total_recebido DESC” indica que a coluna
total_recebido deve estar em ordem decrescente.
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
5 of 16 19/09/2021 16:21
Pergunta 4
Resposta
Selecionada:
d.
Respostas: a.
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?
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”.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
6 of 16 19/09/2021 16:21
b.
c.
d.
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”.
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”.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
7 of 16 19/09/2021 16:21
e.
Comentário
da resposta:
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 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 5
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?
0 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
8 of 16 19/09/2021 16:21
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
 
SELECT count(*) FROM voos WHERE orig_estado_abrv =
'SP' AND orig_estado_abrv = 'RJ';
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.
A soma das quantidades de voos partindo do estado
de São Paulo e voos partindo do estado do Rio de
Janeiro.
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 6
Como o MySQL utiliza índices
 
Os índicessã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
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
9 of 16 19/09/2021 16:21
Resposta
Selecionada:
d.
Respostas: a.
b.
c.
d.
os dados. Isso é muito mais rápido do que ler todas as
linhas sequencialmente.
 
(Traduzido da documentação oficial do MySQL.
Disponível em: <https://dev.mysql.com/doc/refman/8.0/e
n/mysql-indexes.html>. Acesso em: mar. 2020.
 
Sobre índices é correto afirmar que:
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.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
10 of 16 19/09/2021 16:21
e.
Comentário
da resposta:
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 7 1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
11 of 16 19/09/2021 16:21
Resposta Selecionada: b.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
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.
 
Para um banco de dados que utilize a modelagem apresentada no
diagrama, assinale a alternativa 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.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
12 of 16 19/09/2021 16:21
Pergunta 8
Resposta
Selecionada:
a.
Respostas: a.
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.
 
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;
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
13 of 16 19/09/2021 16:21
b.
c.
d.
e.
Comentário
da resposta:
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 9
Resposta
Selecionada:
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
/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”.
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
14 of 16 19/09/2021 16:21
Respostas: a.
b.
c.
d.
e.
Comentário da
resposta:
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 bancosNoSQL 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.
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 10
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
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
15 of 16 19/09/2021 16:21
Domingo, 19 de Setembro de 2021 16h19min46s BRT
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
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”.
Utiliza todos os tipos 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.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
16 of 16 19/09/2021 16:21
Resposta
Selecionada:
b.
Respostas:
a.
b.
c.
d.
e.
Comentário
da resposta:
id saldo 
----- --------
1324 5000.0 
7634 40000.0
id saldo 
----- --------
1324 5100.0 
7634 40200.0
id saldo 
----- --------
1324 5000.0 
7634 40000.0
id saldo 
----- --------
1324 5100.0 
7634 40000.0
… You have an error in your SQL syntax
...
----- --------
1324 7634 
5000.0 40000.0
b. Como há um erro de sintaxe no segundo UPDATE e
os comandos de UPDATE estão envoltos em uma
transação (BEGIN, COMMIT), então nenhum UPDATE
será efetivo. Por isso a saída final será igual a saída
do primeiro SELECT.
Pergunta 2
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.
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
2 of 18 20/09/2021 12:52
Resposta
Selecionada:
d.
Respostas: a.
b.
 
Qual das alternativas exibe um diagrama que o desenvolvedor
poderia utilizar para realizar essa documentação?
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”.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
3 of 18 20/09/2021 12:52
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”.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
4 of 18 20/09/2021 12:52
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 3
Resposta
Selecionada:
a.
Respostas: a.
b.
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);
Assinale a alternativa que indica uma consulta válida para
identificarmos os médicos que não possuem consulta marcada na data
de hoje.
SELECT DISTINCT m.nome as nome_medico FROM
medico m LEFT JOIN consulta c ON c.id_medico =
m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM
medico m LEFT JOIN consulta c ON c.id_medico =
m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM
medico m JOIN consulta c ON c.id_medico = m.id
WHERE data != curdate() or data is null;
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
5 of 18 20/09/2021 12:52
c.
d.
e.
Comentário
da resposta:
SELECT DISTINCT m.nome as nome_medico FROM
medico m RIGHT JOIN consulta c ON c.id_medico =
m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM
medico m LEFT JOIN consulta c WHERE c.id_medico
= m.id and data != curdate() or data is null;
Dada a modelagem apresentada, não é possível
realizar a consulta desejada com um único SELECT.
a. Com um LEFT JOIN, teremos os médicos associados a
alguma consulta e também os médicos sem consultas.
Para que a consulta devolva os médicos sem consulta
alguma marcada, temos o “data is null”. Para que a
consulta devolva os médicos com consulta marcada em
outros dias que não o dia corrente, temos o “data !=
curdate()”. Sem o DISTINCT, a consulta SQL devolveria
uma linha por consulta médica, o que poderia repetir os
nomes dos médicos. Como queremos listar somente os
médicos, o DISTINCT é desejável.
Pergunta 4 1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
6 of 18 20/09/2021 12:52
Resposta
Selecionada:
d.
Respostas: a.
b.
c.
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: <https://dev.mysql.com/doc/refman/8.0/e
n/mysql-indexes.html>. Acesso em: mar. 2020.
 
Sobre índices é correto afirmar que:
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 velocidadedas 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.
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
7 of 18 20/09/2021 12:52
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.
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 5
Considere a seguinte tabela de pratos disponíveis em um
restaurante: 
CREATE TABLE pratos (nome text, pais_origem text,
vegetariano boolean, preco float); 
Considerando essa tabela, assinale a alternativa com o comando que
torna possível a execução da seguinte consulta:
 
SELECT pais_origem as pais, count(*) as qtd_pratos_vegetarianos
FROM pratos_vegetarianos GROUP BY pais_origem;
+--------+-------------------------+
| pais   | qtd_pratos_vegetarianos |
+--------+-------------------------+
| Índia |                      10 |
| Itália |                       7 |
| Brasil |                       4 |
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
8 of 18 20/09/2021 12:52
Resposta
Selecionada:
b.
Respostas: a.
b.
c.
d.
e.
Comentário da
resposta:
+--------+-------------------------+
CREATE VIEW pratos_vegetarianos AS SELECT
nome, pais_origem FROM pratos WHERE
vegetariano;
CREATE SUBSELECT pratos_vegetarianos AS SELECT
nome, pais_origem AS pais FROM pratos WHERE
vegetariano;
CREATE VIEW pratos_vegetarianos AS SELECT
nome, pais_origem FROM pratos WHERE
vegetariano;
CREATE SUBSELECT pratos_vegetarianos AS SELECT
nome, pais_origem FROM pratos WHERE
vegetariano;
CREATE VIEW pratos_vegetarianos FROM SELECT
nome, pais_origem FROM pratos WHERE
vegetariano;
CREATE VIEW FOR pratos AS SELECT * FROM
pratos_vegetarianos WHERE vegetariano;
b. Para que a consulta funcione, é preciso criar uma
view para a tabela pratos. E a sintaxe para criar uma
view é CREATE VIEW <nome-da-view> AS <SELECT
...>.
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 |
+----+------------+------+
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
9 of 18 20/09/2021 12:52
Resposta
Selecionada:
a.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
 
> 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.
 
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
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
10 of 18 20/09/2021 12:52
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
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
d.
Informação
Um computador só trata de dados, sendo incapaz de associar significados a eles. Assim, é válido
chamar essa máquina de “processador de dados”; é inválido dizer que ela “processa informações”.
Tudo se passa com o computador como se ele lidasse apenas com dados (…) De fato, o
computador não “compreende” absolutamente nada. O computador é uma máquina sintática, pois
as relações entre dados são sempre feita de maneira estrutural, por exemplo por contiguidade
física dentro do dispositivo de armazenamento ou por meio dos chamados “ponteiros”. Um dado
“aponta” para outro, se ao lado do primeiro coloca-se o endereço do segundo, indicando onde o
último está armazenado. Um computador pode ser programado para reconhecer padrões, como por
exemplo a escrita manual cursiva. Mas isso é feito de maneira puramente matemática, com uma
quantidade tão enorme de cálculos que deveria provocar profunda admiração pelo ser humano
que, parece-nos, obviamente não calcula nada enquanto lê. Ao lermos, estamos continuamente
associando conceitos para reconhecer letras e palavras, e muito mais ainda para compreender
uma frase.
(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.)
Segundo o texto acima, os autores reconhecem que:
Máquinas compreendem apenas dados e suas
estruturas; a transformação de dados em
informação é restrita a humanos.
Máquinas inteligentes poderão processar
informações como humanos, graças à detecção de
padrões.
Sofisticados cálculos matemáticos podem atribuir
semântica a operações robóticas.
Máquinas compreendem apenas dados e suas
estruturas; a transformação de dados em
informação é restrita a humanos.
1 em 1 pontos
Revisar envio do teste: Clique aqui para iniciar o Quiz... https://senacsp.blackboard.com/webapps/assessment/r...
11 of 18 20/09/2021 12:52
e.
Comentário da
resposta:
Por mais que uma máquina não "compreenda" como
seres humanos, isso não impede as máquinas de
armazenar e manipular informações.
O reconhecimento algorítmico de letras cursivas
transforma o dado (imagem) em informação (texto).
c. O autor conceitua que o computador se
relaciona apenas com dados, não com
informações.
Pergunta 8
Resposta
Selecionada:
c.
Respostas: a.
b.
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

Outros materiais