Logo Passei Direto
Buscar

Modelo 01 - Quiz de Banco de Dados (SENAC) - 2023

Ferramentas de estudo

Questões resolvidas

Indique qual seria uma alternativa segura ao método discutido.

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.

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.

a) SELECT quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes FROM acidentes_aereos;
b) (SELECT quantidade_vitimas_fatais FROM acidentes_aereos) / (SELECT quantidade_passageiros FROM acidentes_aereos) * 100;
c) SELECT porcentagem_sobreviventes FROM acidentes_aereos;
d) SELECT IN acidentes_aereos VALUE quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes;
e) SELECT quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes FROM acidentes_aereos;

Assinale a alternativa que indica uma consulta válida para identificarmos os médicos que não possuem consulta marcada na data de hoje.

a) 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;
b) 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;
c) 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;
d) 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;
e) 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;

Considere a seguinte modelagem feita para o banco de dados de um sistema de estacionamento. Assinale a alternativa que indica em que forma normal se encontra essa modelagem.

a) 2FN.
b) 3FN.
c) 2FN.
d) BCFN.

Assinale a alternativa que melhor esclarece o texto sobre o Pentaho Business Analytics.

a) 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”).
b) 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.
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.

O que representa a seguinte consulta?

SELECT (SELECT count(distinct companhia) FROM voos) / (SELECT count(*) FROM companhias);

A proporção de companhias cadastradas que operaram voos registrados na tabela voos.

a. A quantidade de companhias que operaram voos registrados na tabela voos.
b. A consulta está dividindo o “count(distinct companhia) FROM voos” (quantidade de companhias que operaram voos) por “SELECT count(*) FROM companhias” (quantidade de empresas cadastradas). Ou seja, temos a proporção de empresas que operaram voos pelo total de empresas cadastradas.
c. A proporção de companhias cadastradas que operaram voos registrados na tabela voos.
d. Não representa nada, pois seja qual for o conteúdo das tabelas esse comando sempre retorna o número zero.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Indique qual seria uma alternativa segura ao método discutido.

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.

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.

a) SELECT quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes FROM acidentes_aereos;
b) (SELECT quantidade_vitimas_fatais FROM acidentes_aereos) / (SELECT quantidade_passageiros FROM acidentes_aereos) * 100;
c) SELECT porcentagem_sobreviventes FROM acidentes_aereos;
d) SELECT IN acidentes_aereos VALUE quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes;
e) SELECT quantidade_vitimas_fatais / quantidade_passageiros * 100 as porcentagem_sobreviventes FROM acidentes_aereos;

Assinale a alternativa que indica uma consulta válida para identificarmos os médicos que não possuem consulta marcada na data de hoje.

a) 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;
b) 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;
c) 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;
d) 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;
e) 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;

Considere a seguinte modelagem feita para o banco de dados de um sistema de estacionamento. Assinale a alternativa que indica em que forma normal se encontra essa modelagem.

a) 2FN.
b) 3FN.
c) 2FN.
d) BCFN.

Assinale a alternativa que melhor esclarece o texto sobre o Pentaho Business Analytics.

a) 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”).
b) 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.
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.

O que representa a seguinte consulta?

SELECT (SELECT count(distinct companhia) FROM voos) / (SELECT count(*) FROM companhias);

A proporção de companhias cadastradas que operaram voos registrados na tabela voos.

a. A quantidade de companhias que operaram voos registrados na tabela voos.
b. A consulta está dividindo o “count(distinct companhia) FROM voos” (quantidade de companhias que operaram voos) por “SELECT count(*) FROM companhias” (quantidade de empresas cadastradas). Ou seja, temos a proporção de empresas que operaram voos pelo total de empresas cadastradas.
c. A proporção de companhias cadastradas que operaram voos registrados na tabela voos.
d. Não representa nada, pois seja qual for o conteúdo das tabelas esse comando sempre retorna o número zero.

Prévia do material em texto

Revisar envio do teste: Clique aqui para iniciar o QuizSP_GRAD_686276_2303_01 2302-BANCO DE DADOS Quiz
REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ 
Usuário FELIPE AUGUSTO SANTINHO
Curso 2302-BANCO DE DADOS
Teste Clique aqui para iniciar o Quiz
Iniciado 24/08/23 17:17
Enviado 24/08/23 17:33
Data de vencimento 27/09/23 23:59
Status Completada
Resultado da tentativa 10 em 10 pontos  
Tempo decorrido 16 minutos
Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários
Pergunta 1
Resposta
Selecionada:
d.
Ao elaborar um sistema, um desenvolvedor criou uma tabela no MySQL utilizando o seguinte comando:
 
CREATE TABLE livro (
 titulo TEXT,
 autor TEXT,
 editora TEXT,
 ano INTEGER);
 
O desenvolvedor deve agora documentar essa tabela por meio de um diagrama ER.
 
Qual das alternativas exibe um diagrama que o desenvolvedor poderia utilizar para realizar essa documentação?
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”.
Sala de Aula Tutoriais
1 em 1 pontos
FELIPE AUGUSTO SANTINHO
137
https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_219523_1
https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_219523_1&content_id=_9893850_1&mode=reset
https://www.ead.senac.br/
https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1
https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1
https://senacsp.blackboard.com/webapps/login/?action=logout
Respostas: a.
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”.
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.
Comentário da
resposta:
Descrição acessível: Figura possui um grande quadrado “Livro” com quatro pequenos quadrados dentro
desse quadrado maior. Os quadrados pequenos são: “título”, “autor”, “editora” e “livro”.
d. A opção d é a que segue corretamente a nomenclatura visual de diagramas ERs: entidades são
representadas como retângulos, e os atributos das entidades são representados como circunferências
associadas ao retângulo da entidade.
Pergunta 2
Resposta
Selecionada:
a.
Respostas: a.
b.
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.
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.
1 em 1 pontos
c.
d. 
e.
Comentário da
resposta:
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 3
Resposta
Selecionada:
e. 
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);
 
Considere agora as seguintes consultas realizadas sobre as tabelas acima definidas:
 
I) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p, consulta c, medico m WHERE
c.id_paciente = p.id and c.id_medico = m.id and data = curdate();
 
II) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p JOIN consulta c ON c.id_paciente = p.id
JOIN medico m ON c.id_medico = m.id WHERE data = curdate();
 
III) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p JOIN consulta c JOIN medico m ON
c.id_paciente = p.id and c.id_medico = m.id WHERE data = curdate();
 
IV) SELECT p.nome as nome_paciente, m.nome as nome_medico, c.data FROM paciente p INNER JOIN consulta c INNER JOIN
medico m ON c.id_paciente = p.id and c.id_medico = m.id WHERE data = curdate();
 
Obs: “curdate()” retorna a data corrente.
 
Assinale a opção que iden�fica corretamente os resultados ob�dos para essas consultas.
As consultas I, II, III e IV terão o mesmo resultado, independentemente do conteúdo das tabelas.
As consultas I e II terão o mesmo resultado. As consultas III e IV possuem erros de sintaxe.
As consultas I e II terão um mesmo resultado, enquanto as consultas III e IV terão um outro resultado (o
resultado de III será o mesmo de IV). Todas as consultas são válidas.
As consultas I e II terão um mesmo resultado, enquanto as consultas III e IV terão resultados diferentes (o
resultado de III difere de I, II e IV; e o resultado de IV difere de I, II e III). Todas as consultas são válidas.
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).
1 em 1 pontos
Pergunta 4
Resposta Selecionada:
e. 
Respostas:
a. 
b. 
c. 
d. 
e. 
Comentário da
resposta:
Considere a tabela abaixo, denominada tab1 e contendo as colunas col1 e col2.
c
o
l
1
c
o
l
2
1
0
1
2
0
2
3
0
3
Descrição acessível: Tabela com duas colunas: col1 e col2. Conteúdo compostoapenas 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;
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 5
1 em 1 pontos
1 em 1 pontos
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. Como queremos listar somente os médicos, o DISTINCT é
desejável.
Pergunta 6
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.
 
1 em 1 pontos
Resposta Selecionada: b. 
Respostas: a. 
b. 
c. 
d. 
e. 
Comentário
da resposta:
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)
(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 7
Resposta Selecionada: b. 
Respostas: a. 
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.
1 em 1 pontos
b. 
c. 
d. 
e. 
Comentário da
resposta:
2FN.
3FN.
BCFN.
Essa modelagem não atende nem à 1FN.
b. Essa modelagem viola a 3FN, pois cpf_dono e nome_dono são funcionalmente dependentes entre si. Como há
uma violação da 3FN e não há violações nem da 2FN nem da 1FN, então a modelagem apresentada está na 2FN. A
modelagem não viola a 1FN pois não há campos 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 8
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
d.
e.
Comentário da
resposta:
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-a
nalytics/pentaho-platform.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
sem a necessidade de depender de pessoas especialistas em TI (“com mínimo suporte de TI”).
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 necessidadede 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 9
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 �ver um índice para as colunas em questão, o MySQL poderá determinar
1 em 1 pontos
1 em 1 pontos
Resposta
Selecionada:
d.
Respostas: a. 
b.
c.
d.
e.
Comentário da
resposta:
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: <h�ps://dev.mysql.com/doc/refman/8.0/en/mysql-inde
xes.html>. Acesso em: mar. 2020.
 
Sobre índices é correto afirmar que:
Considere uma base de dados construída para análises cien�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 cien�stas, 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 cien�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 cien�stas, 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 u�lizados em bancos de dados an�gos. O sistema de o�mização de consultas do MySQL
(optimum lookup process) dispensa a u�lização de índices em tabelas do MySQL.
d. Índices aceleram consultas e são muito u�lizados. 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 10
Resposta
Selecionada:
b. 
Respostas: a. 
b. 
c. 
Considere um banco de dados com uma tabela voos, contendo a coluna companhia, com a sigla da companhia aérea que
operou o voo. Considere também que esse banco possui uma tabela companhias, com um cadastro de todas as
companhias aéreas existentes.
 
O que representa a seguinte consulta?
 
SELECT (SELECT count(distinct companhia) FROM voos)
/ (SELECT count(*) FROM companhias);
 
Considere como dica os seguintes comandos e suas respectivas saídas:
 
> SELECT 4;
4
> SELECT 4/2;
2
A proporção de companhias cadastradas que operaram voos registrados na tabela voos.
A quan�dade de companhias que operaram voos registrados na tabela voos.
A proporção de companhias cadastradas que operaram voos registrados na tabela voos.
A quan�dade total de companhias cadastradas.
1 em 1 pontos
https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html
Quinta-feira, 24 de Agosto de 2023 17h33min29s BRT
d.
e. 
Comentário da
resposta:
Não representa nada, pois seja qual for o conteúdo das tabelas esse comando sempre retorna o número
zero.
Não representada nada, pois resultará em um erro devido a sintaxe incorreta.
b. A consulta está dividindo o “count(dis�nct companhia) FROM voos” (quan�dade de companhias que
operaram voos) por “SELECT count(*) FROM companhias” (quan�dade de empresas cadastradas). Ou seja,
temos a proporção de empresas que operaram voos pelo total de empresas cadastradas.
← OK

Mais conteúdos dessa disciplina