Banco de Dados (Passo Estratégico) Flashcards

1
Q
  1. (FGV / SEAD-AP – 2022) Os sistemas gerenciadores de bancos de dados são largamente utilizados em aplicações computacionais, pois oferecem um conjunto de propriedades importantes para a segurança e confiabilidade dos dados,
    conhecido pela sigla ACID.

O propósito da propriedade correspondente à letra I na referida sigla é:

a) garantir a independência dos dados em relação ao hardware empregado.

b) garantir a independência dos dados em relação ao sistema gerenciador de dados.

c) garantir o isolamento das transições quando executadas por processos concomitantes.

d) permitir a integração de diferentes gerenciadores de bancos de dados.

e) permitir a inter-relação de diferentes padrões internacionais de codificação de dados

A

ACID (Atomicidade, Consistência, Isolamento e Durabilidade).

O Isolamento trata do conjunto de técnicas que tentam evitar que transações paralelas interfiram umas nas outras, fazendo com que o resultado de várias transações em paralelo seja o mesmo resultado que essas transações teriam caso fossem executadas
sequencialmente (uma após a outra).

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. (FGV / Prefeitura de Paulínia - SP – 2016) A execução de transações de bancosde dados deve observar um conjunto de propriedades, cuja finalidade é a manutenção da integridade dos dados armazenados nas tabelas.

Assinale a opção que apresenta as propriedades usualmente implementadas nos sistemas gerenciadores de bancos de dados:

a) Independência de dados e integridade referencial.
b) Manutenção de logs e extração de backups.
c) Segurança, criptografia e sigilo.
d) Atomicidade, durabilidade, consistência e isolamento.
e) Performance, segurança e escalabilidade.

A

As propriedades de transações usualmente implementadas nos sistemas gerenciadores de bancos de dados são: ACID (Atomicidade, Consistência, Isolamento e Durabilidade).

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. (FGV / AL-MT – 2013) Características que distinguem a abordagem de bancos de dados relacionais e centralizados da abordagem tradicional, baseada em processamento de arquivos, estão listadas a seguir à exceção de uma. Assinale‐a.

a) Compartilhamento de dados e processamento de transações multiusuários.

b) Suporte para múltiplas visões de dados.

c) Isolamento entre os programas e os dados.

d) Dados são armazenados e tratados somente como cadeias de caracteres.

e) Natureza autodescritiva do sistema de bancos de dados.

A

A alternativa que não é uma característica dos bancos de dados relacionais e centralizados, diferenciando-se do processamento tradicional de arquivos, é:

d) Dados são armazenados e tratados somente como cadeias de caracteres.

Justificativa:
Os bancos de dados relacionais permitem armazenar e tratar dados em diversos tipos, como inteiros, datas, booleanos e números de ponto flutuante, enquanto no processamento de arquivos tradicional muitas vezes os dados eram manipulados como cadeias de caracteres sem uma estrutura rígida.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. (FGV / SEFAZ-MS - 2006) A implementação de Sistemas Gerenciadores de Banco de Dados - SGBD proporciona duas grandes vantagens, que consistem em:

I. impedir que um determinado código ou chave em uma tabela não tenha correspondência em outra tabela.

II. permitir o armazenamento da informação em um único local com acesso descentralizado e, sendo compartilhada com vários sistemas, os usuários estarão utilizando uma informação confiável.

Essas vantagens são conhecidas por:

a) Manutenção de Integridade / Eliminação de Inconsistências.
b) Independência dos Dados / Eliminação de Redundâncias.
c) Independência dos Dados / Eliminação de Inconsistências.
d) Restrições de Segurança / Eliminação de Inconsistências.
e) Restrições de Segurança / Eliminação de Redundâncias.

A

Impedir que um determinado código ou chave em uma tabela não tenha correspondência em outra tabela é uma restrição de integridade – que a questão chamou de manutenção de integridade. Ela é especificada entre duas tabelas e utilizada para manter a consistência entre linhas nas duas tabelas.

Permitir o armazenamento da informação em um único local com acesso descentralizado e, sendo compartilhada com vários sistemas, os usuários estarão utilizando uma informação confiável – trata-se de uma eliminação de inconsistências. A inconsistência ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes.

Exemplo: o estado civil de uma pessoa é solteiro em um sistema e casado em outro. Isto ocorre porque esta pessoa atualizou o campo em um sistema e não o atualizou em outro.

Quando o dado é armazenado em um único local e compartilhado pelos sistemas, este problema não ocorre. Dessa forma, trata-se de Manutenção de Integridade/Eliminação de Inconsistências.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. (FGV / MPE-AL– 2018) O conjunto de programas responsável pelo gerenciamento de uma base de dados e que, entre outras funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de:

a) Banco de Dados Relacional (BDR).
b) Dicionário de Dados (DD).
c) Modelo Entidade Relacionamento (MER).
d) Sistema de Suporte à Decisão (SSD).
e) Sistema Gerenciador de Bancos de Dados (SGBD).

A

O conjunto de programas responsável pelo gerenciamento de uma base de dados é o Sistema Gerenciador de Bancos de Dados (SGBD).

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. (FGV / SEFIN-RO – 2018) Considere um banco de dados que registre informações sobre alunos, disciplinas e professores em uma faculdade. Sabe-se que um aluno pode cursar uma ou mais disciplinas, que cada disciplina é ministrada por um único
    professor e que cada disciplina aceita inscrições de um ou mais alunos. Nesse contexto, analise as afirmativas a seguir.

I. Alunos e professores têm relação N:M entre si.

II. Professores e disciplinas têm uma relação 1:N entre si.

III. Cada professor ministra, necessariamente, apenas uma disciplina.

Está correto o que se afirma em:
a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) I, II e III

A

Eu desenhei o diagrama de acordo com as informações trazidas pelo anunciado para facilitar o entendimento de vocês:

(I) Correto, não há uma relação direta entre Alunos e Professores, mas é possível inferir uma relação transitiva, já que um aluno cursa N disciplinas e cada disciplina é necessariamente ministrada por um professor;

(II) Errado, não é possível inferir que Professores e Disciplinas têm uma relação 1:N;

(III) Errado, não é possível inferir que cada professor ministra, necessariamente, apenas uma disciplina.

Logo, na minha opinião, a resposta correta é Letra A, mas o gabarito definitivo considerou que o segundo item está correto.

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. (FGV / IBGE – 2017) O projeto de um SGBD para emprego em SIG se divide em várias fases, de modo a prover os dados geográficos de forma eficiente para atender adequadamente às demandas próprias da aplicação.

Nesse contexto, é elaborado o Modelo Entidade-Relacionamento como resultado do(a):

a) coleta e análise de requisitos;
b) projeto conceitual;
c) projeto lógico;
d) projeto físico;
e) projeto executivo;

A

O Modelo Entidade-Relacionamento (MER) é o resultado de um Projeto Conceitual.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. (FGV / AL-MT – 2013) A representação gráfica de uma entidade em um diagrama entidade relacionamento é um:

a) losango.
b) triângulo.
c) retângulo.
d) retângulo com linhas duplas.
e) círculo.

A

No Diagrama Entidade-Relacionamento, uma entidade é representada por meio de um retângulo com seu nome dentro.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. (FGV / TJ/AM – 2013) Com relação ao Modelo Entidade-Relacionamento (MER), utilizado na modelagem de bancos de dados relacionais, assinale V para a afirmativa verdadeira e F para a falsa.

( ) As entidades são representadas por losangos, dentro dos quais deve ser colocado o nome da entidade.

( ) De acordo com a notação de Chen, um relacionamento corresponde a uma ligação lógica entre entidades e é representado por um retângulo.

( ) Cardinalidade é a relação entre o número de ocorrências de uma entidade, com as respectivas ocorrências na outra entidade com quem tem relacionamento.

As afirmativas são, respectivamente,
a) F, V e F.
b) F, V e V.
c) V, F e F.
d) V, V e F.
e) F, F e V.

A

(I) Falso. Entidades são representadas por retângulos;

(II) Falso. Um relacionamento corresponde a uma ligação lógica entre entidades e é representado por um losango;

(III) Verdadeiro. A cardinalidade é realmente a relação entre o número de ocorrências de uma entidade, com as respectivas
ocorrências na outra entidade com quem tem relacionamento.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. (FGV / AL-MT – 2013) Na figura a seguir está representado, de modo resumido, parte de um diagrama ER na chamada notação pé-de-galinha:

Na figura acima, I e II correspondem, respectivamente, às cardinalidades:

a) 0 e N
b) 1 e N.
c) N e M.
d) (0,1) e (0,N).
e) (1,1) e (0, N).

A

Bastava lembrar da Notação Pé-de-Galinha.

Traço Vertical é um, Círculo Vazio é zero e Pé-de-Galinha é Vários, logo I é (1,1) e II é (0,N).

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. (FGV / BADESC – 2010) Assinale a alternativa que apresenta as características de uma entidade fraca.

a) Possui identificação própria ou sua existência depende de uma outra denominada de forte.

b) Não possui identificação própria ou sua existência depende de uma outra denominada de forte.

c) Possui identificação própria ou sua existência não depende de uma outra denominada de forte.

d) Possui identificação própria ou sua existência depende de uma outra não denominada de forte.

e) Não possui identificação própria ou sua existência não depende de uma outra denominada de forte.

A

(a) Errado, não possui identificação própria;

(b) Correto;

(c) Errado, não possui identificação própria ou sua existência depende de uma outra denominada forte;

(d) Errado, não possui identificação própria;

(e) Errado, sua existência depende de uma outra entidade denominada forte.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. (FGV / MEC – 2009) A respeito dos conceitos básicos do Modelo de EntidadeRelacionamento, analise as afirmativas a seguir:

I. A chave primária de uma entidade é o conjunto mínimo de atributos (um ou mais) que permitem identificar unicamente uma entidade em um conjunto de entidades.

II. Entidades Fortes são aquelas que não possuem atributos suficientes para formar uma chave primária.

III. As entidades fortes dependem existencialmente de entidades fracas.

Assinale:

a) se somente a afirmativa I estiver correta.
b) se somente as afirmativas I e II estiverem corretas.
c) se somente as afirmativas I e III estiverem corretas.
d) se somente as afirmativas II e III estiverem corretas.
e) se todas as afirmativas estiverem corretas.

A

(I) Correto, perfeita definição da chave primária;

(II) Errado, essas são entidades fracas;

(III) Errado, as entidades fracas dependem existencialmente de
entidades fortes.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. (FGV / DETRAN-RN – 2010) Para um conjunto de relacionamentos R binário entre os conjuntos de entidades A e B, o mapeamento das cardinalidades deve seguir, EXCETO:

a) Um para um.
b) Um para muitos.
c) Um para ele mesmo.
d) Muitos para muitos.
e) Muitos para um.

A

A alternativa que não representa um tipo válido de mapeamento de cardinalidade em um relacionamento binário entre os conjuntos de entidades ( A ) e ( B ) é:

c) Um para ele mesmo.

Justificativa:
Um relacionamento binário ocorre entre duas entidades distintas. A opção “Um para ele mesmo” sugere um relacionamento unário (ou recursivo), no qual uma entidade se relaciona consigo mesma. No entanto, o enunciado pede especificamente sobre um relacionamento binário, ou seja, entre duas entidades distintas.

Os outros tipos de mapeamento de cardinalidade são válidos:
Um para um (1:1)
Um para muitos (1:N)
Muitos para muitos (M:N)
Muitos para um (N:1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. (FGV / DETRAN-RN – 2010) Sobre o modelo de entidade-relacionamento, assinale a alternativa correta:

a) Uma entidade é um objeto no mundo real que pode ser identificada de forma unívoca em relação a todos os outros objetos.

b) Define-se por “conjunto de entidades”, entidades de tipos diferentes com propriedades diferentes.

c) Uma entidade é uma associação entre vários relacionamentos.

d) As entidades são utilizadas unicamente para efetuar o mapeamento das cardinalidades.

e) Uma única entidade pode conter somente relacionamentos “um para um”.

A

(a) Correto, não é necessariamente do mundo real, mas pode sê-lo;

(b) Errado, são entidades de tipos iguais com propriedades iguais;

(c) Errado, um relacionamento é uma associação entre várias entidades;

(d) Errado, as cardinalidades são utilizadas unicamente para efetuar o mapeamento das entidades;

(e) Errado, pode ter relacionamento 1:1, 1:N ou N:N.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. (FGV / MEC – 2009) Um atributo, em um modelo de entidaderelacionamento, possui “sub-atributos” em sua nomenclatura que podem ou não ser do mesmo tipo e que são agregados a ele no mundo real.

Esse atributo é definido como:

a) um atributo chave.
b) um atributo derivado.
c) um atributo composto.
d) um atributo multivalorado.
e) um atributo monovalorado.

A

A alternativa correta é:

c) um atributo composto.

Justificativa:
Um atributo composto é aquele que pode ser dividido em sub-atributos menores, que representam partes significativas da informação. Esses sub-atributos podem ou não ser do mesmo tipo e refletem a estrutura agregada do dado no mundo real.

Exemplo de atributo composto:
- Nome Completo → Pode ser dividido em Nome e Sobrenome.
- Endereço → Pode ser subdividido em Rua, Número, Cidade, Estado, CEP.

Análise das demais opções:
- a) um atributo chave: Errado. Um atributo chave é aquele que identifica unicamente uma entidade dentro do modelo.
- b) um atributo derivado: Errado. Um atributo derivado é aquele que pode ser calculado a partir de outros atributos (exemplo: Idade pode ser derivada da Data de Nascimento).
- d) um atributo multivalorado: Errado. Um atributo multivalorado pode ter múltiplos valores distintos ao mesmo tempo (exemplo: Telefones de um cliente).
- e) um atributo monovalorado: Errado. Um atributo monovalorado armazena apenas um valor por entidade (exemplo: CPF de um indivíduo).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. Qual característica de um banco de dados garante que os dados armazenados são precisos e consistentes, evitando duplicações e erros?

A) Desempenho
B) Escalabilidade
C) Flexibilidade
D) Segurança
E) Integridade

A

Gabarito: E

A integridade dos dados em um banco de dados assegura que os dados são precisos e consistentes, evitando duplicações e garantindo a correção dos dados armazenados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. Em um banco de dados, o _____ é uma estrutura de dados que melhora a velocidade de recuperação de dados em uma tabela, permitindo que as consultas sejam processadas de forma mais
    eficiente ao acessar diretamente os registros relevantes.

A) Índice
B) Trigger
C) View
D) Stored Procedure
E) Cursor

A

Gabarito: A

O índice é uma estrutura de dados usada para melhorar a velocidade de recuperação de dados em uma tabela, permitindo que o banco de dados localize rapidamente os registros relevantes durante uma consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Qual das seguintes afirmações melhor descreve o conceito de SGBD Relacional?

A) Organiza dados em uma estrutura hierárquica.

B) Armazena dados como objetos.

C) Utiliza tabelas com linhas e colunas para organizar dados.

D) É baseado em relações pai-filho entre registros.

E) Não segue o modelo relacional e é otimizado para grandes volumes de dados.

A

Gabarito: C

A alternativa correta é C, pois um SGBD Relacional organiza dados em tabelas compostas por linhas (registros) e colunas (campos), seguindo o modelo relacional, o que permite a realização de operações complexas de consulta e gestão de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Dentro do conceito de ACID em um banco de dados, o que a característica de Durabilidade garante?

A) Que as transações sejam executadas rapidamente para melhorar o desempenho.

B) Que cada transação seja processada de forma isolada.

C) Que todas as operações em uma transação sejam completadas com sucesso ou todas sejam desfeitas.

D) Que os dados sejam armazenados em múltiplas localizações para garantir a disponibilidade.

E) Que as transações concluídas permaneçam inalteradas mesmo após falhas de sistema ou queda de energia.

A

Gabarito: E

A Durabilidade é uma das quatro propriedades fundamentais dos bancos de dados descritas pela sigla ACID (Atomicidade, Consistência, Isolamento e Durabilidade).

Esta propriedade garante que, após a conclusão de uma transação, as mudanças feitas pela transação no banco de dados persistem mesmo que haja falhas de sistema, queda de energia, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. Qual das alternativas a seguir melhor descreve a função de um SGBD?

A) Um software que permite aos usuários criar, manter e gerenciar bancos de dados.

B) Uma estrutura de dados que organiza informações em linhas e colunas.

C) Um sistema que protege os dados contra acesso não autorizado.

D) Um modelo de banco de dados que não utiliza SQL.

E) Uma técnica para aumentar a capacidade de um banco de dados.

A

Gabarito: A

Um SGBD (Sistema de Gerenciamento de Banco de Dados) é um software que permite aos usuários criar, manter e gerenciar bancos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. No modelo ER (Entidade-Relacionamento), o que representa um relacionamento entre duas entidades?

A) Um atributo.
B) Uma chave primária.
C) Uma tabela.
D) Um vínculo lógico entre entidades.
E) Um procedimento armazenado.

A

Gabarito: D

No modelo ER, um relacionamento representa um vínculo lógico entre duas entidades, indicando a forma como elas estão associadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. Durante a migração de dados de um sistema antigo para um novo sistema de banco de dados no Instituto Nacional de Estatística (INE), quais estratégias podem ser adotadas para garantir a integridade e a consistência dos dados durante o processo de transição?

A) Realizar a migração sem realizar testes para acelerar o processo e evitar paradas no sistema.

B) Fazer a migração manualmente para garantir que cada registro seja corretamente transferido.

C) Manter os dados antigos e novos separados até que a migração esteja completa para evitar problemas de consistência.

D) Confiar na redundância de dados durante a migração para garantir a integridade dos dados.

E) Usar ferramentas de ETL (Extract, Transform, Load) para extrair dados do sistema antigo, transformá-los conforme necessário e carregá-los no novo sistema, acompanhadas de testes rigorosos
para verificar a integridade e consistência dos dados migrados.

A

Gabarito: E

Usar ferramentas de ETL (Extract, Transform, Load) e realizar testes rigorosos são práticas recomendadas para garantir que os dados sejam corretamente extraídos, transformados e carregados
no novo sistema, mantendo a integridade e consistência dos dados durante a migração.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q
  1. Em um modelo de banco de dados relacional, qual dos seguintes conceitos se refere a um atributo que pode ser calculado a partir de outros atributos?

A) Atributo composto
B) Atributo multivalorado
C) Atributo armazenado
D) Atributo derivado
E) Atributo chave

A

Gabarito: D

Um atributo derivado é aquele que pode ser calculado a partir de outros atributos, e não é armazenado diretamente no banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q
  1. Qual é a principal vantagem de utilizar um modelo Entidade-Relacionamento (ER) na fase de projeto de um banco de dados?

A) Facilitar a otimização das consultas SQL.

B) Permitir uma representação clara e organizada das entidades e seus relacionamentos.

C) Melhorar a performance do sistema de banco de dados.

D) Reduzir a necessidade de índices complexos.

E) Minimizar a redundância de dados através de chaves estrangeiras.

A

Gabarito: B

O modelo ER permite uma representação clara e organizada das entidades e seus relacionamentos, facilitando o entendimento do domínio do problema e o design do banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q
  1. Considerando as funções e responsabilidades do Administrador de Dados (AD) e do Administrador de Banco de Dados (DBA) no Instituto Nacional de Estatística (INE), como esses papéis complementam-se na gestão eficiente de dados e na manutenção do banco de dados?

A) O AD é responsável pela manutenção física dos servidores enquanto o DBA lida com a modelagem conceitual dos dados.

B) O AD realiza backup dos dados e o DBA gerencia a segurança de acesso.

C) O AD define a estrutura conceitual do banco de dados, identificando entidades e relacionamentos, enquanto o DBA implementa e mantém o banco de dados físico, garantindo a integridade, performance e segurança dos dados.

D) O AD lida com a criação de índices e o DBA com a migração de dados.

E) O AD é responsável pela análise de desempenho das consultas SQL e o DBA pela criação de tabelas e índices.

A

Gabarito: C

O AD define a estrutura conceitual do banco de dados, identificando entidades e relacionamentos, enquanto o DBA implementa e mantém o banco de dados físico, garantindo a integridade, performance e segurança dos dados.

Esses papéis complementam-se para assegurar uma gestão
eficiente dos dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q
  1. (FGV / Receita Federal - 2023) Considere um banco de dados relacional em que as operações de insert e update efetuadas numa certa tabela devem ser monitoradas e anotadas, como subsídio aos procedimentos de auditoria da empresa. Essa tabela é utilizada por uma série de aplicações, em diferentes tipos de transações, e iniciadas por um número considerável de usuários.

Nesse cenário, assinale o mecanismo mais adequado para a implementação desse monitoramento:

a) Cursores.
b) Stored procedures.
c) Triggers.
d) Utilitários de exportação de dados.
e) Views.

A

No cenário descrito, o mecanismo mais adequado para implementar o monitoramento de operações de INSERT e UPDATE na tabela é o uso de Triggers.

Elas são procedimentos armazenados que são executados automaticamente em resposta a determinados eventos, como inserção, atualização ou exclusão de dados em uma tabela.

No caso em questão, é possível criar um trigger que seja executado
sempre que uma operação de INSERT ou UPDATE for realizada na tabela monitorada.

Esse trigger pode inserir uma linha de log em uma outra tabela, que
registre a operação realizada e outras informações relevantes para fins de auditoria.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q
  1. (FGV / Receita Federal - 2023) Os principais Sistemas Gerenciadores de Bancos de Dados oferecem total suporte à linguagem SQL. Um aspecto importante da implementação do SQL é o tratamento para valores nulos quando esses são considerados como unknown values. Nesse contexto, considere uma tabela T com colunas A e B, que podem conter valores nulos. T possui 100 registros e, em 50% das linhas, há pelo menos uma coluna preenchida com o valor NULL. Considere a consulta a seguir:

SELECT * FROM T t1 WHERE t1.A = NULL or t1.B = NULL

O número máximo de linhas de resultados que seriam retornadas pela consulta é igual a:

a) 0.
b) 25.
c) 50.
d) 75.
e) 100.

A

A FGV toda empolgada achando que você vai cair nessa pegadinha sorrateira.

Quando queremos comparar um valor com NULL, utilizamos a cláusula “IS NULL” ou “IS NOT NULL”, em vez dos operadores “=” ou “<>”.

Isso porque o valor NULL é considerado desconhecido, o que significa que não é igual nem diferente de qualquer outro valor, incluindo ele mesmo.

Logo, essa consulta ão irá retornar nenhuma linha de resultado.

Para corrigi-la, teríamos que fazer:

SELECT * FROM T t1 WHERE t1.A IS NULL or t1.B IS NULL

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q
  1. (FGV / TRT-MA – 2022) Assinale a afirmativa correta a respeito do esquema relacional apresentado.

create table X(A int not null primary key,
B int)
create table Y(A int not null UNIQUE,
constraint fk
foreign key (A) references X(A)
on delete cascade)

a) a tabela X admite linhas duplicadas.
b) a tabela X não pode ter mais linhas que a tabela Y
c) a tabela Y admite linhas duplicadas.
d) a tabela Y não pode ter mais linhas que a tabela X.
e) as tabelas X e Y não podem ter o mesmo número de linhas.

A

Observem que a Tabela X tem dois atributos:

A, que é chave primária; e B, que é um inteiro.

Já a Tabela Y tem somente um atributo: A, que é também chave primária (dado que é único e não nulo) e esse atributo é uma chave estrangeira que referencia o atributo A da Tabela X.

Se o atributo A da Tabela Y referencia o atributo A da Tabela X, então a Tabela Y jamais poderá ter mais linhas que a Tabela X.

Já a Tabela X pode ter mais (ou iguais) linhas que a Tabela Y sem nenhum problema.

E nenhuma das tabelas admite linhas duplicadas porque possuem atributos únicos e não nulos.

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q
  1. (FGV / SEFAZ-BA – 2022) Considere a seguinte tabela em um banco de dados relacional.

Assinale a opção que indica o comando SQL utilizado para localizar todos os nomes completos dos employees, cujos primeiros nomes começam com as letras Ma.

a) SELECT
first_name;
last_name;
FROM
employees;

b) SELECT *
FROM
employees
WHERE
first_name = ‘Ma’;

c) SELECT *
FROM
employees
WHERE
first_name = ‘Ma*’;

d) SELECT
employee_id,
first_name,
last_name
FROM
employees
WHERE
first_name LIKE ‘Ma%’;

e) SELECT
employee_id,
first_name,
last_name
FROM
employees
WHERE
first_name IN ‘Ma_’;

A

(a) Errado. Esse comando está retornando o nome completo (primeiro e último nome) de todos os empregados;

(b) Errado. Esse comando está retornando todas as informações (e não apenas o nome completo) de todos os funcionários cujo primeiro nome é “Ma”;

c) Errado. Esse comando está retornando todas as informações (e não apenas o nome completo) de todos os funcionários cujo primeiro nome é “Ma*”;

(d) Correto. Traz o primeiro e último nome (além do ID) de todos os funcionários cujo primeiro nome começa com “Ma”. O operador correto é o LIKE e o % indica uma cadeia de caracteres.

(e) Errado. IN é um operador que permite especificar múltiplos valores dentro de uma cláusula. O operador correto seria o LIKE e mesmo assim o underline (_) indica um único caractere e a questão pede qualquer funcionário cujo primeiro nome comece com “Ma” mais qualquer cadeia de caracteres, logo deveria ser LIKE ‘Ma%’;

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q
  1. (FGV / FUNSÚDE-CE – 2021) Atenção: na próxima questão, considere a definição e as instâncias das tabelas de bancos de dados CLUBE e JOGO exibidas a seguir.

CLUBE
nome
Barcelona
Boca Juniors
The Strongest

Cada clube deve jogar quatro vezes, duas como mandante e duas como visitante. As colunas golsM e golsV registram o número de gols dos times mandantes e visitantes, respectivamente, em cada jogo. Ambas são nulas enquanto o jogo não for realizado.

Analise o comando SQL a seguir, à luz das definições e instâncias das tabelas CLUBE e JOGO, apresentadas anteriormente.

select distinct mandante, visitante from JOGO, CLUBE

Assinale o número de linhas, sem incluir os títulos, produzidas pela execução desse comando:

a) 4.
b) 6.
c) 10.
d) 24.
e) 48.

A

Vamos analisar a consulta apresentada na questão:

(1) ela possui um distinct, logo registros repetidos (duplicatas) serão eliminados;

(2) ela possui um produto cartesiano, dado que há uma vírgula separando as tabelas JOGO e CLUBE. Dito isso, sabemos que a primeira tabela possui três linhas e a segunda possui seis linhas,
logo teríamos 3x6 = 18 linhas.

No entanto, há uma pegadinha na questão: ela deseja retornar apenas as colunas mandante e visitante, e essas colunas pertencem
somente à tabela JOGO.

Como há um distinct na consulta, é irrelevante o produto
cartesiano, visto que as repetições serão ignoradas.

Logo, ela retornará apenas seis linhas:

mandante ** visitante**
Barcelona Boca Juniors
Barcelona The Strongest
Boca Juniors Barcelona
Boca Juniors The Strongest
The Strongest Barcelona
The Strongest Boca Juniors

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q
  1. (FGV / TCE-AM – 2021) Considerando-se a instância da tabela T (descrita anteriormente), analise o comando SQL abaixo.

delete from T where b + d = c

O número de registros da tabela T afetados pela execução desse comando é:

a) zero;
b) um;
c) dois;
d) três;
e) quatro.

A

Linha 1: b = 2, d = 1, c = 3; 2 + 1 = 3? Sim, portanto deleta a primeira linha;

Linha 2: b = 3, d = 2, c = 8; 3 + 2 = 8? Não, portanto não deleta a segunda linha;

Linha 3: b = 2, d = 3, c = 9; 2 + 3 = 9? Não, portanto não deleta a terceira linha;

Linha 4: b = 5, d = 4, c = 4; 5 + 4 = 4? Não, portanto não deleta a quarta linha.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q
  1. (FGV / IMBEL – 2021) Considere o comando SQL a seguir, executado num banco de dados relacional com duas tabelas, R1 e R2, contendo 2.000 e 5.000 registros, respectivamente. R1 e R2 possuem chaves primárias definidas.

SELECT DISTINCT * FROM A, B

Assinale o número de linhas produzidas na execução:

a) 1.
b) 2.000.
c) 5.000.
d) 7.000.
e) 10.000.000

A

O comando SQL fornecido:

```sql
SELECT DISTINCT * FROM A, B
~~~

realiza um produto cartesiano entre as tabelas A e B (que na verdade deveriam ser R1 e R2, conforme o enunciado). No SQL, a falta de uma cláusula JOIN ou WHERE significa que cada linha de R1 será combinada com todas as linhas de R2.

Dado que:

  • R1 tem 2.000 registros.
  • R2 tem 5.000 registros.

O total de combinações no produto cartesiano será:

2000 x 5000 = 10.000.000

Como o comando usa SELECT DISTINCT, ele removeria duplicatas se houvesse alguma, mas considerando que todas as combinações são únicas devido às chaves primárias definidas, o número total de linhas resultantes permanece 10.000.000.

Resposta correta:
Letra (e) 10.000.000.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q
  1. (FGV / Prefeitura de Niterói-RJ – 2018) A otimização de consultas em gerenciadores de bancos de dados é fundamental para o desempenho do sistema.

Consultas escritas em SQL são particularmente propícias à otimização, porque essa linguagem:

a) não é procedural, permitindo a criação de diferentes planos de execução.

b) tem uma sintaxe simples e é largamente utilizada.

c) suporta todas as operações da Álgebra Relacional.

d) permite o uso de subconsultas, facilitando os processos de busca.

e) permite a criação de camadas de software de persistência.

A

A resposta correta é:

Letra (a) não é procedural, permitindo a criação de diferentes planos de execução.

Justificativa:
A linguagem SQL é declarativa, e não procedural. Isso significa que o programador especifica o que deseja recuperar, e não como a recuperação deve ser feita. Essa característica permite que os sistemas gerenciadores de banco de dados (SGBDs) escolham diferentes planos de execução para otimizar a consulta, levando em conta índices, estatísticas e outras técnicas de otimização.

Analisando as demais alternativas:
- (b) Tem uma sintaxe simples e é largamente utilizada.
🔴 Embora verdadeiro, isso não é o principal motivo pelo qual SQL é propício à otimização.

  • (c) Suporta todas as operações da Álgebra Relacional.
    🔴 SQL realmente permite operações da Álgebra Relacional (seleção, projeção, junção, etc.), mas isso não está diretamente ligado à otimização de consultas.
  • (d) Permite o uso de subconsultas, facilitando os processos de busca.
    🔴 O uso de subconsultas pode até ajudar em alguns casos, mas também pode degradar a performance. Portanto, essa não é a principal característica relacionada à otimização.
  • (e) Permite a criação de camadas de software de persistência.
    🔴 SQL pode ser usado em camadas de persistência, mas isso não tem relação direta com a otimização de consultas.

Conclusão:
A característica mais relevante para otimização de consultas é o fato de SQL ser não procedural, o que permite ao SGBD gerar e escolher diferentes planos de execução automaticamente. Portanto, a alternativa correta é:

Letra (a).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q
  1. (FGV / MPE-AL – 2018) Considere o comando SQL a seguir.

select * from teste where nota <> null

Sabendo-se que a tabela teste tem 100 registros, dos quais 15 estão com a coluna nota ainda não preenchida (null), o comando acima, executado no MS SQL Server ou no Oracle, retorna

a) um erro, porque o literal null não pode ser usado diretamente numa comparação.

b) zero linhas.

c) quinze linhas.

d) oitenta e cinco linhas.

e) cem linhas.

A

A resposta correta é:

Letra (b) zero linhas.

Justificativa:
No SQL, a comparação direta com NULL utilizando operadores como =, <>, >, < não retorna verdadeiro nem falso, mas sim um valor desconhecido (UNKNOWN).

O comando fornecido:
```sql
SELECT * FROM teste WHERE nota <> null;
~~~

não retorna erro, mas nenhuma linha será retornada, porque nota <> NULL nunca resulta em verdadeiro.

Como corrigir o comando para funcionar corretamente?
Se o objetivo fosse retornar os valores não nulos, o correto seria:
```sql
SELECT * FROM teste WHERE nota IS NOT NULL;
~~~

Isso retornaria as 85 linhas onde nota tem um valor definido.

Se o objetivo fosse selecionar apenas os valores NULL, o correto seria:
```sql
SELECT * FROM teste WHERE nota IS NULL;
~~~

Isso retornaria as 15 linhas com valores NULL.

Analisando as alternativas:
- (a) Um erro ❌ — No MS SQL Server e no Oracle, a comparação <> NULL não gera erro, apenas não retorna resultados.
- (b) Zero linhas ✅ — Nenhuma linha será retornada porque nota <> NULL nunca é verdadeiro.
- (c) Quinze linhas ❌ — Apenas ocorreria se o comando fosse WHERE nota IS NULL.
- (d) Oitenta e cinco linhas ❌ — Apenas ocorreria se o comando fosse WHERE nota IS NOT NULL.
- (e) Cem linhas ❌ — O comando não retorna todas as linhas.

Conclusão:
Resposta correta: letra (b) — zero linhas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q
  1. (FGV / BANESTES – 2018) Considere um banco de dados com duas tabelas, R e S, contendo 4 e 3 registros, respectivamente. Em R, os valores da coluna A são 1, 2, 5 e 7. Em S, os valores da coluna B são 2, 4 e 7. Excetuando-se a linha de títulos, o número de linhas no resultado do comando SQL

select * from R full outer join S on A=B

É:
a) 3
b) 4
c) 5
d) 7
e) 12

A

O FULL OUTER JOIN retorna todos os registros mesmo quando não há uma correspondência da tabela esquerda com a direita ou da direita com a esquerda.

Portanto, se houver linhas em “Clientes” que não tenham correspondências em “Pedidos”, ou se houver linhas em “Pedidos” que não tenham correspondências em “Clientes”, essas linhas também serão listadas.

Logo, ele retornaria algo como:

(1, null)
(2, 2)
(null, 4)
(5, null)
(7, 7)

Isso ocorre pois, quando nenhuma linha da tabela da esquerda corresponde a uma linha da tabela da direita, retorna-se NULL; quando nenhuma linha da tabela da direita corresponde a uma linha da tabela da esquerda, também se retorna NULL; e quando há uma correspondência, retorna os dois valores.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q
  1. (FGV / IBGE – 2017) A linguagem mais comum para elaboração de
    consultas em bancos de dados é a SQL. Ao elaborar uma consulta nessa linguagem, emprega-se a cláusula WHERE quando se deseja:

a) especificar a tabela onde será realizada a consulta;

b) especificar o diretório onde os dados estão armazenados;

c) especificar o endereço IP onde os dados estão armazenados;

d) especificar condições a que as instâncias selecionadas devem atender;

e) extrair a geometria do objeto selecionado na consulta.

A

A cláusula WHERE é responsável por permitir a filtragem dos registros de uma tabela por meio de uma ou mais condições a que as instâncias selecionadas devem atender.

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q
  1. (FGV / MPE-BA – 2017) Considerando as tabelas R e S apresentadas anteriormente, o resultado seria obtido pela execução do comando SQL:

a) select * from R
where not exists (select * FROM S where a=c)

b) select * from R
where not exists (select * FROM S where a=d)

c) select * from S
where not exists (select * FROM R where a=c)

d) select * from S
where not exists (select * FROM R where a=d)

e) select * from R
where exists (select * FROM S where b=d)

A

(a) Correto. Essa consulta basicamente seleciona todas as linhas de R nas quais a é diferente de c (dado que temos um NOT EXISTS). 1 e 2 da tabela R não existem em S, logo retorna {(1,2), (2,3)};

(b) Errado, isso retornaria apenas {(4,5)};

(c) Errado, isso retornaria {(3,2), (6,1)}; (d) Errado, isso retornaria nulo;

(e) Errado, isso retornaria {((1,2)}.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q
  1. (FGV / PGE-RO – 2015) No SQL, a outorga de privilégios sobre objetos de um banco de dados é efetuada por meio do comando:

a) CREATE;
b) GRANT;
c) LICENSE;
d) PERMIT;
e) REVOKE.

A

O comando DCL responsável por outorgar privilégios sobre objetos de um banco de dados é o comando GRANT.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q
  1. (FGV / DPE-RO – 2015) Observe o comando SQL a seguir.

update X set Y = ‘Z’

Para que esse comando esteja corretamente formulado, quando analisado isoladamente, pressupõe-se que:

a) Y seja uma coluna da tabela X;
b) X seja uma coluna da tabela Y;
c) X e Y sejam tabelas;
d) X seja um banco de dados e Y seja uma tabela;
e) X seja um banco de dados e Y seja uma tabela;

A

Para esse comando funcionar corretamente, assume-se que X é uma tabela e que Y é uma de suas colunas.

Vamos lembrar da sintaxe:

UPDATE NOME_DA_TABELA
SET NOME_DA_COLUNA_1 = VALOR_1, NOME_COLUNA2 = VALOR_2 …
WHERE LISTA_DE_CONDICOES

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q
  1. (FGV / TJ-BA – 2015) Considere que as instâncias das tabelas T1, T2 e T3 têm, respectivamente, 1.000, 10.000 e 100.000 registros. O comando SQL:

select 1 from t1
union
select 2 from t2
union
select 3 from t3

produz um resultado com:

a) 3 linhas;
b) 1.000 linhas;
c) 10.000 linhas;
d) 100.000 linhas;
e) 111.000 linhas.

A

Pegadinha clássica: UNION basicamente une tabelas que tenham estruturas idênticas.

Logo, a tabela resultante teria 1.000 + 10.000 + 100.000 = 111.000 registros.

No entanto, observe que há um número após o select, em vez do nome de uma coluna.

Quando há uma constante em vez do nome de uma coluna, o comando retorna esse número para cada um dos registros.

Logo, ele retorna 1.000 vezes o valor 1; depois retorna 10.000 vezes o valor 2; e depois retorna 100.000 vezes o valor 3.

select 1 from t1 - retorna as 1.000 linhas contendo o número 1.
select 2 from t2 - retorna as 10.000 linhas contendo o número 2.
select 3 from t3 - retorna as 100.000 linhas contendo o número 3.

Professor, isso não daria 111.000 registros do mesmo jeito?

Não, porque o UNION elimina duplicadas, então o comando apresentado no enunciado retornaria apenas três linhas: 1, 2, 3.

Para retornar as 111.000 linhas, deveria ser utilizado o comando
UNION ALL.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q
  1. (FGV / TJ-AM – 2013) A SQL é constituída pela Data Control Language (DCL), a Data Definition Language (DDL) e a Data Manipulation Language (DML).

Assinale a alternativa que apresenta os três comandos que são parte integrante da DDL:

a) REVOKE, GRANT e DELETE
b) GRANT, DELETE e UPDATE
c) DELETE, UPDATE e CREATE
d) CREATE, ALTER e DROP
e) ALTER, DROP e REVOKE

A

(a) REVOKE é DCL; GRANT é DCL; e DELETE é DML;

(b) GRANT é DCL, DELETE é DML; e UPDATE é DML;

(c) DELETE é DML; UPDATE é DML; e CREATE é DDL;

(d) CREATE é DDL; ALTER é DDL; e DROP é DDL;

(e) ALTER é DDL; DROP é DDL; e REVOKE é DCL;

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q
  1. (FGV / MPE-MS – 2013) Observe o comando SQL a seguir:

SELECT nome, sobrenome, PIS, anos_de_servico FROM Empregados

A cláusula que deve ser adicionada ao comando acima para ordenar os registros por anos de serviço, com os empregados que estão há mais tempo na empresa aparecendo primeiro na listagem, é:

a) ORDER ‘anos_de_servico’ BY ASC
b) ORDER BY ‘anos_de_servico’
c) ORDER BY anos_de_servico DESC
d) SORTED BY anos_de_servico DESC
e) ORDER BY anos_de_servico ASC

A

Para ordenar os registros por anos de serviço (ORDER BY), com os empregados que estão há mais tempo na empresa aparecendo primeiro na listagem (DESC).

Logo, temos:

ORDER BY anos_de_servico DESC.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q
  1. (FGV - Analista Legislativo (ALERO)/Tecnologia da Informação/Análise e Desenvolvimento de Sistemas/2018)

No contexto das propriedades desejadas para transações executadas em banco de dados relacionais, é possível que, eventualmente, seja permitida ou forçada a leitura de dados que foram modificados em operações ainda não confirmadas (comitted).

Assinale a principal propriedade que é flexibilizada na
ocorrência de um dirty read.

a) Atomicidade.
b) Consistência.
c) Durabilidade.
d) Integridade referencial.
e) Isolamento.

A

Isolamento é a propriedade das transações em bancos de dados relacionais que se refere à capacidade de uma transação ser isolada de outras transações concorrentes.

Isso significa que as operações de uma transação não devem ser visíveis para outras transações até que a transação seja confirmada (cometida).

Quando ocorre um “dirty read”, ou leitura suja, essa propriedade de isolamento é flexibilizada, pois permite que uma transação leia dados que foram modificados, mas ainda não confirmados, por outra transação.

A flexibilização da propriedade de isolamento pode levar a problemas de consistência dos dados, mas a questão específica foca na leitura de dados ainda não confirmados, tornando o isolamento a propriedade mais diretamente afetada.

As outras opções (Atomicidade, Consistência, Durabilidade e Integridade referencial) não abordam especificamente o
cenário de “dirty read”.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q
  1. (FGV/TJ-PI/Analista Judiciário 2015) Das propriedades desejadas nas implementações de bancos dedados, designadas pelo acrônimo ACID, o “D” de durabilidade é extremamente importante porque trata da persistência dos dados mesmo no caso de falhas graves. Usualmente, a técnica empregada para garantir essa propriedade baseia-se na utilização de:

A) algoritmos de controle de concorrência;
B) comandos de commit e rollback;
C) chaves estrangeiras e outras cláusulas que possam prevenir os erros mais comuns;
D) redundância de dados;
E) sistemas distribuídos.

A

Durabilidade está relacionada à prática de duplicar informações em sistemas de armazenamento diferentes para garantir a durabilidade e a disponibilidade dos dados.

A propriedade de Durabilidade no acrônimo ACID significa que, uma vez que uma transação tenha sido confirmada, ela permanecerá assim mesmo em caso de falhas no sistema,
falhas de energia ou outros tipos de falhas graves.

A redundância de dados, frequentemente implementada por meio de técnicas como espelhamento de disco ou clusters de alta disponibilidade, ajuda a garantir que os dados persistam e permaneçam acessíveis mesmo após falhas críticas.

As outras opções não abordam diretamente a questão da durabilidade.

Algoritmos de controle de concorrência (A) estão mais relacionados à propriedade de Isolamento.

Comandos de commit e rollback (B) são mais focados em Atomicidade e Consistência.

Chaves estrangeiras e outras cláusulas (C) estão ligadas à Integridade referencial, e sistemas distribuídos (E) podem abordar várias propriedades, mas não são uma técnica primária para garantir a Durabilidade.

Gabarito: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q
  1. (FGV/TJ-PI/Analista Judiciário 2015) Transações de bancos de dados não distribuídos devem possuir propriedades que garantam a integridade dos dados quando da realização
    das operações que as compõem. Se nem todas as operações da transação forem realizadas, poderá haver um conflito de integridade nos dados.

Esse tipo de problema é usualmente contornado pelos programadores com o uso de operações complementares do tipo:

A) sync point;
B) backup diferencial e backup completo;
C) begin transaction, commit, rollback;
D) bloqueio de recursos;
E) livelock e deadlock.

A

O gabarito da questão é “begin transaction, commit, rollback”, que são comandos usados para gerenciar transações em bancos de dados.

O comando “begin transaction” inicia uma nova transação, “commit” confirma as operações da transação e as torna permanentes, enquanto “rollback” desfaz as operações da transação e reverte o banco de dados ao estado anterior.

Esses comandos são importantes para garantir a integridade dos dados ao lidar com transações, pois permitem que as operações sejam atômicas, ou seja, ou todas as operações de uma transação são executadas com sucesso, ou nenhuma é.

As outras opções não tratam diretamente da integridade dos dados em transações não distribuídas. “Sync point” (A) não é uma operação padrão para gerenciar transações em bancos de dados. “Backup diferencial e backup completo” (B) são técnicas de backup, mas não tratam da integridade das transações em tempo real.

“Bloqueio de recursos” (D) está mais relacionado ao controle de concorrência do que à integridade da transação. “Livelock e deadlock” (E) são problemas que podem ocorrer em sistemas concorrentes, mas não são soluções para manter a integridade dos dados.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q
  1. (Ano: 2014 Banca: FGV Órgão: Câmara Municipal do Recife-PE Cargo: Programador de computador) Sistemas gerenciadores de bancos de dados processam requisições em paralelo que, quando operam sobre as mesmas instâncias de dados, podem provocar
    erros do tipo lost update e dirty read. Usualmente, o controle de concorrência nesses sistemas segue um mecanismo conhecido como:

A) Two phase commitment;
B) Check point;
C) Snapshot;
D) Two phase lock;
E) Data Independence.

A

A alternativa correta é: D) Two phase lock.

Explicação:

Two Phase Locking (2PL) é um mecanismo de controle de concorrência utilizado em Sistemas Gerenciadores de Bancos de Dados (SGBDs) para garantir a serialização das transações e evitar problemas como:

  • Lost update: duas transações atualizam o mesmo dado simultaneamente, e a última sobrescreve a alteração da primeira.
  • Dirty read: uma transação lê dados modificados por outra transação que ainda não foi confirmada (commit).

Como funciona o 2PL:
O protocolo é dividido em duas fases:
1. Fase de crescimento: a transação adquire locks (bloqueios) e não os libera.
2. Fase de encolhimento: a transação libera os locks e não pode mais adquirir novos.

Isso impede interações problemáticas entre transações concorrentes e garante a consistência dos dados.

Vamos revisar brevemente as outras alternativas para esclarecer por que estão incorretas:

  • A) Two phase commitment: está relacionado com transações distribuídas, não com controle de concorrência diretamente.
  • B) Check point: está ligado a recuperação de falhas, não controle de concorrência.
  • C) Snapshot: refere-se a uma técnica usada em bancos com controle de versão (MVCC), como o PostgreSQL, mas o nome do mecanismo padrão clássico é 2PL.
  • E) Data Independence: conceito relacionado à separação entre os níveis lógico e físico de dados, não ao controle de concorrência.

Gabarito: D) Two phase lock.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q
  1. (Ano: 2015 Banca: FGV Órgão: TJ-PI Cargo: Analista Judiciário) O uso de transações distribuídas em bancos de dados introduz o problema da manutenção da propriedade da atomicidade para essas transações. Se uma transação depende de operações que devem ocorrer em dois ou mais nós distintos, é necessário que o sucesso ou falha dessas operações possa ser percebido por todos os nós participantes.

Um dos algoritmos mais utilizados para a implementação de transações dessa natureza é:

A) Sync-lock;
B) SyncPoint;
C) Undo-Redo.
D) 2-phase lock;
E) 2-phase commitment;

A

A alternativa correta é: E) 2-phase commitment.

Explicação:

Quando falamos em transações distribuídas, ou seja, aquelas que envolvem dois ou mais bancos de dados ou nós distintos, precisamos garantir que:

  • Todas as partes da transação sejam confirmadas (commit) se tudo ocorrer bem;
  • Ou todas sejam desfeitas (rollback) se algo falhar em qualquer parte.

Esse comportamento é essencial para manter a atomicidade, uma das propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade).

🎯 O que é o 2-Phase Commitment (2PC)?

É um protocolo de controle de transações distribuídas, dividido em duas fases:

  1. Prepare (ou voting) phase:
    • O coordenador da transação pergunta a todos os participantes se estão prontos para confirmar (commit).
    • Cada nó responde com “OK” ou “NÃO” (sim ou erro).
  2. Commit phase:
    • Se todos disseram “OK”, o coordenador envia uma mensagem de commit a todos.
    • Se algum disse “NÃO”, envia rollback.

Esse protocolo garante a atomicidade em ambientes distribuídos.

❌ Por que as outras alternativas estão erradas?

  • A) Sync-lock: termo genérico, não é um protocolo conhecido para transações distribuídas.
  • B) SyncPoint: também não é um protocolo formal para transações; pode ser uma marcação de sincronismo, mas não garante atomicidade.
  • C) Undo-Redo: técnicas de recuperação (log de transações), usadas para manter durabilidade, não são protocolos de controle de transações distribuídas.
  • D) 2-phase lock: protocolo de controle de concorrência, não de comprometimento/commit distribuído.

Gabarito: E) 2-phase commitment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q
  1. Qual comando SQL é usado para criar uma nova tabela no banco de dados?

A) ADD TABLE
B) NEW TABLE
C) CREATE TABLE
D) INSERT TABLE
E) BUILD TABLE

A

Gabarito: C

O comando CREATE TABLE é usado para criar uma nova tabela no banco de dados, especificando suas colunas e tipos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q
  1. Qual comando SQL é utilizado para conceder permissões específicas a um usuário ou grupo?

A) PERMIT
B) AUTHORIZE
C) ALLOW
D) GRANT
E) ENABLE

A

Gabarito: D

O comando GRANT é utilizado em SQL para conceder permissões específicas a um usuário ou grupo, permitindo-lhes realizar operações em objetos do banco de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q
  1. Qual comando em SQL é usado para remover todas as linhas de uma tabela sem excluir a tabela em si?

A) REMOVE
B) DELETE FROM
C) DROP TABLE
D) TRUNCATE TABLE
E) CLEAR TABLE

A

Gabarito: D

O comando TRUNCATE TABLE é usado para remover todas as linhas de uma tabela sem excluir a tabela em si, reiniciando qualquer contador de identidade, mas mantendo a estrutura da tabela e suas definições.

DELETE FROM pode ser usado para o mesmo propósito, mas TRUNCATE é mais rápido e não loga a exclusão de cada linha individualmente.

REMOVE, DROP TABLE e CLEAR TABLE não são comandos padrão em SQL para esta ação, sendo o DROP TABLE específico para excluir completamente a tabela.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q
  1. No protocolo Two-Phase Commit (2PC), o que ocorre na primeira fase?

A) Todas as transações são revertidas

B) O coordenador recebe votos de commit ou rollback dos participantes

C) As transações são simultaneamente commitadas

D) Um checkpoint é criado

E) Os recursos são desalocados

A

Gabarito: B

Na primeira fase do 2PC, o coordenador envia uma solicitação para todos os nós participantes pedindo que eles preparem a transação.

Os participantes votam então se podem commitar ou precisam fazer rollback.

Esta é a fase de votação do 2PC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q
  1. Qual propriedade do ACID é responsável por garantir que as alterações feitas por uma transação sejam permanentes, mesmo em caso de falhas após o ponto de commit?

A) Isolamento
B) Consistência
C) Durabilidade
D) Atomicidade
E) Integridade referencial

A

Gabarito: C

A propriedade de Durabilidade garante que uma vez que uma transação é confirmada, suas alterações são permanentes, mesmo em caso de falhas do sistema.

Isso é crucial para manter a integridade e confiabilidade dos dados após um commit ser realizado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q
  1. Qual é o principal objetivo do protocolo de Two-Phase Locking (2PL) em sistemas de banco de dados?

A) Prevenir deadlocks
B) Manter a atomicidade das transações
C) Aumentar a performance de consultas
D) Garantir a serialização de transações
E) Minimizar o uso de logs de transação

A

Gabarito: D

O principal objetivo do protocolo de Two-Phase Locking (2PL) é garantir a serialização de transações, mantendo a ordem das transações e prevenindo inconsistências de dados, sem necessariamente prevenir deadlocks.

54
Q
  1. Qual propriedade ACID é diretamente comprometida em um cenário de leitura suja (dirty read)?

A) Atomicidade
B) Durabilidade
C) Consistência
D) Isolamento
E) Integridade referencial

A

Gabarito: D

A leitura suja (dirty read) ocorre quando uma transação lê dados que ainda não foram commitados por outra transação, comprometendo diretamente a propriedade de Isolamento no conjunto ACID, pois essa propriedade visa evitar a interferência entre transações concorrentes.

55
Q
  1. Qual desses níveis de isolamento de transações permite que uma transação veja as alterações feitas por outras transações que ainda não foram confirmadas?

A) READ UNCOMMITTED
B) REPEATABLE READ
C) SERIALIZABLE
D) READ COMMITTED
E) SNAPSHOT ISOLATION

A

Gabarito: A

O nível de isolamento READ UNCOMMITTED permite que transações vejam as alterações em dados que ainda não foram confirmadas por outras transações, possibilitando o fenômeno conhecido como ‘dirty read’.

56
Q
  1. (FCC - 2019 - SANASA Campinas - Analista de Tecnologia da Informação - Suporte de DBABanco de Dados) No MySQL a tabela Consumidor poderia ser criada por meio do comando
    abaixo. Para que ela fosse criada com o campo idConsumidor auto incrementável, a declaração idConsumidor INT NOT NULL teria que mudar para

A) idConsumidor INT NOT NULL IDENTITY(1,1)
B) idConsumidor INT NOT NULL AUTO_INCREMENT
C) idConsumidor++ INT NOT NULL
D) INCREMENT(idConsumidor,1) INT NOT NULL
E) idConsumidor INT NOT NULL INCREMENT BY 1

A

A alternativa B é a correta, porque em MySQL, a palavra-chave AUTO_INCREMENT é usada para fazer um campo ser autoincrementável.

Este atributo é usado para gerar um valor único para cada nova linha.

Cada vez que uma nova linha é inserida, o valor deste campo será
automaticamente incrementado.

As demais alternativas não apresentam a sintaxe correta
para esta operação no MySQL.

Gabarito: B

57
Q
  1. (FCC - 2019 - SANASA Campinas - Analista de Tecnologia da Informação - Suporte de DBABanco de Dados) Para conceder privilégios de execução de uma função chamada CalcularJuros
    a um usuário de nome Contador no MySQL utiliza-se o comando

A) GRANT EXECUTION CalcularJuros ONTO ‘Contador’@’localhost’;

B) ON FUNCTION CalcularJuros GRANT EXECUTION PRIVILEGES TO ‘Contador’@’localhost’;

C) GIVEUP FUNCTION CalcularJuros ONTO ‘Contador’@’localhost’;

D) GRANT EXECUTE ON FUNCTION CalcularJuros TO ‘Contador’@’localhost’;

E) GRANT FUNCTION CalcularJuros ON ‘Contador’@’localhost’;

A

A alternativa D é a correta, porque no MySQL o comando GRANT EXECUTE ON FUNCTION nome_da_funcao TO ‘usuario’@’host’; é usado para conceder privilégios de execução a um usuário para uma função específica.

As outras alternativas apresentam sintaxes incorretas para a concessão de privilégios no MySQL.

Gabarito: D

58
Q
  1. (FCC - 2019 - Prefeitura de Manaus - AM - Assistente Técnico de Tecnologia da Informação - Programador) Um programador está criando uma tabela em um banco de dados MySQL 5.5 e precisa criar um campo que suporte o armazenamento de valores na faixa de -2147483648 a 2147483647.

Poderá escolher um campo do tipo

A) INT, apenas.
B) INT ou BIGINT.
C) BIGINT, apenas.
D) MEDIUMINT ou INT.
E) INT ou DOUBLEINT.

A

A alternativa B é a correta, pois um campo do tipo INT no MySQL pode suportar valores de -2147483648 a 2147483647.

Além disso, um campo BIGINT também pode suportar essa faixa
de valores, embora sua faixa completa seja muito maior, de -9223372036854775808 a 9223372036854775807.

Portanto, ambos os tipos poderiam ser usados para este propósito.

Gabarito: B

59
Q
  1. (FCC - 2016 - CREMESP - Analista de Tecnologia da Informação - Banco de Dados) No shell do MySQL instalado em uma máquina local, para o usuário root conceder ao usuário paulo, que tem senha paulo1234, apenas permissão para executar comandos SELECT nas tabelas do Banco de Dados empresa, utiliza-se a instrução

A) GRANT SELECT TO empresa ALL TABLES TO USER paulo@localhost WITH PASSWORD ‘paulo1234’;

B) GRANT SELECT TO empresa.* FOR USER paulo@localhost PASSWORD BY ‘paulo1234’;

C) GRANT SELECT ON empresa.* TO USER paulo@localhost IDENTIFIED BY PASSWORD ‘paulo1234’;

D) GRANT ON empresa.SELECT TO paulo@localhost IDENTIFIED BY ‘paulo1234’;

E) GRANT SELECT ON empresa.* TO paulo@localhost IDENTIFIED BY ‘paulo1234’;

A

A alternativa E é a correta, porque no MySQL o comando GRANT SELECT ON database.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’; é usado para conceder privilégios de SELECT em todas as tabelas de um banco de dados para um usuário.

As outras alternativas apresentam sintaxes incorretas para a concessão de privilégios no MySQL.

Gabarito: E

60
Q
  1. (FCC - 2016 - CREMESP - Analista de Tecnologia da Informação - Banco de Dados) O MySQL 5.7 possui diversas tabelas do sistema que contêm informações sobre contas de usuário e os privilégios por eles detidos. A tabela que contém os privilégios no nível do Banco de Dados é

A) database_priv.
B) columns_priv.
C) procs_priv.
D) db.
E) proxies_priv.

A

A alternativa D é a correta, porque no MySQL, a tabela db é a tabela do sistema que contém os privilégios no nível do banco de dados para contas de usuários.

As outras alternativas referem-se a tabelas que armazenam diferentes tipos de informações de privilégios.

A letra A não existe, a letra B se refere a privilégio em nível de coluna, a letra C é para procedimentos armazenados e a letra E é para privilégio de proxies.

Gabarito: D

61
Q
  1. (FCC / TRT23-MT - 2016) São vários os tipos de dados numéricos no PostgreSQL. O tipo:

a) smallint tem tamanho de armazenamento de 1 byte, que permite armazenar a faixa de valores inteiros de −128 a 127.

b) bigint é a escolha usual para números inteiros, pois oferece o melhor equilíbrio entre faixa de valores, tamanho de armazenamento e desempenho.

c) integer tem tamanho de armazenamento de 4 bytes e pode armazenar valores na faixa de −32768 a 32767.

d) numeric pode armazenar números com precisão variável de, no máximo, 100 dígitos.

e) serial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade autoincremento.

A

(a) Errado, tem o tamanho de dois bytes;

(b) Errado, o bigint é utilizado quando o range do integer é insuficiente – ele é mais utilizado para representar inteiros gigantescos, logo não é a escolha usual para números inteiros;

(c) Errado, ele armazena um range de -2147483648 to +2147483647;

(d) Errado, é até 131072 dígitos antes do ponto decimal e até 16383 dígitos após o ponto decimal;

(e) Correto, trata-se de um inteiro de quatro bytes autoincrementável usado para definir colunas identificadoras.

Gabarito: Letra E

62
Q
  1. (FCC / TRT 13PB - 2014) O SQL define dois tipos primários para caracteres: A e B. Estes tipos podem armazenar cadeias de caracteres com comprimento de até n caracteres, onde n
    é um número inteiro positivo. A tentativa de armazenar uma cadeia de caracteres mais longa em uma coluna de um destes tipos resulta em erro, a não ser que os caracteres excedentes
    sejam todos espaços; neste caso, a cadeia de caracteres será truncada em seu comprimento máximo. Se a cadeia de caracteres a ser armazenada for mais curta que o comprimento declarado, os valores do tipo B são completados com espaços; os valores do tipo A simplesmente armazenam a cadeia de caracteres mais curta.

Os tipos de dados destinados a armazenar cadeias de caracteres no PostgreSQL 8.0, descritos como A e B no texto acima são, respectivamente,

a) char(n) e character varying(n).
b) character varying(n) e character(n).
c) character(n) e char(n).
d) varchar(n) e text(n).
e) character varying(n) e varchar(n).

A

A alternativa correta é: b) character varying(n) e character(n).

✅ Explicação:

A questão descreve o comportamento de dois tipos de dados para cadeias de caracteres no SQL (e no PostgreSQL), denominados A e B. Vamos identificar qual é qual com base no comportamento descrito:

🔍 Tipo A:
- Armazena a cadeia de caracteres como está, mesmo que seja mais curta que o tamanho definido.
- Não adiciona espaços em branco ao final.
- Se o valor ultrapassar o tamanho, será erro, a menos que o excesso seja apenas espaços.

👉 Esse comportamento corresponde ao tipo: character varying(n) (ou varchar(n)).

🔍 Tipo B:
- Preenche com espaços até atingir o tamanho definido se a string for mais curta.
- Também trunca se houver espaços excedentes.

👉 Esse comportamento corresponde ao tipo: character(n) (ou char(n)).

✅ Resposta correta:
- A = character varying(n)
- B = character(n)

➡️ Letra B: character varying(n) e character(n)

ℹ️ Extra:
- char(n) é um apelido (alias) para character(n).
- varchar(n) é um alias para character varying(n).
- text é um tipo sem limite explícito de tamanho, portanto não se encaixa nessa descrição da questão.

63
Q
  1. (FCC / TRF1 - 2014) O PostgreSQL disponibiliza para os usuários um amplo conjunto de tipos de dados nativos. Dentre os tipos para data e hora estão: time, timestamp, date e:

a) bigdate.
b) datetime.
c) datetimeoffset.
d) smalldatetime.
e) interval.

A

A letra E representa um intervalo de tempo. Os outros tipos não existem.

Gabarito: Letra E

64
Q
  1. (FCC / TCE-RS – 2014) O sistema gerenciador de bancos de dados PostgreSQL 9.1 admite diversos tipos de dados. Dentre eles, o tipo de dados:

a) integer requer 8 bytes para seu armazenamento.
b) boolean admite até 3 valores distintos.
c) money requer 4 bytes para seu armazenamento.
d) para armazenamento de endereços IPv4 não está disponível.
e) smallint requer 2 bytes para seu armazenamento.

A

A alternativa correta é: e) smallint requer 2 bytes para seu armazenamento.

✅ Explicação das alternativas:

a) integer requer 8 bytes para seu armazenamento.
Errado.
O tipo integer (ou int ou int4) no PostgreSQL requer 4 bytes, não 8.
O tipo que requer 8 bytes é o bigint (int8).

b) boolean admite até 3 valores distintos.
Correto em essência, mas não é a melhor escolha aqui.
O tipo boolean armazena:
- TRUE
- FALSE
- NULL (representando valor desconhecido, que é comum em qualquer tipo no SQL)

Tecnicamente, são três possíveis estados, mas como NULL não é um valor booleano propriamente dito (é ausência de valor), essa alternativa causa ambiguidade.
Por isso, a banca considerou a letra E como correta.

c) money requer 4 bytes para seu armazenamento.
Errado.
O tipo money no PostgreSQL requer 8 bytes, não 4.

d) para armazenamento de endereços IPv4 não está disponível.
Errado.
O PostgreSQL suporta nativamente tipos de dados como inet e cidr para armazenar endereços IPv4 e IPv6.

e) smallint requer 2 bytes para seu armazenamento.
Correto.
O tipo smallint (também conhecido como int2) armazena inteiros de -32.768 a 32.767 e usa 2 bytes.

✅ Gabarito: e) smallint requer 2 bytes para seu armazenamento.

65
Q
  1. Considerando a configuração do servidor MySQL, qual das seguintes práticas é recomendada ao ajustar o parâmetro innodb_log_file_size, visando otimizar a performance do InnoDB sem comprometer a integridade dos dados, especialmente em um ambiente de alta concorrência com muitas transações?

A) Configurar innodb_log_file_size para 1MB em servidores com alto tráfego

B) Manter innodb_log_file_size no valor padrão para evitar complicações

C) Configurar innodb_log_file_size para 100% do tamanho do buffer pool para maximizar a eficiência

D) Definir innodb_log_file_size como o menor valor possível para reduzir o tempo de recuperação

E) Ajustar innodb_log_file_size para 25% do tamanho do buffer pool

A

Gabarito: E

A prática recomendada é ajustar innodb_log_file_size para aproximadamente 25% do tamanho do buffer pool.

Isso balanceia o desempenho e o tempo de recuperação, otimizando a performance de gravações enquanto mantém a integridade e a eficiência das operações de recuperação.

66
Q
  1. Quando se trata de backup e recuperação de bancos de dados MySQL, qual das seguintes ferramentas é apropriada para criar um backup que inclui tanto os dados quanto a estrutura das
    tabelas, permitindo uma restauração completa do banco de dados?

A) mysqlbackup, porque realiza backups incrementais eficientes

B) mysqladmin, porque gerencia o servidor e executa backups completos

C) mysqldump, porque gera um arquivo SQL com comandos para recriar o banco de dados

D) mysqlimport, porque importa e exporta dados de maneira eficaz

E) mysqlpump, porque apenas copia dados entre diferentes bancos de dados

A

Gabarito: C

A ferramenta mysqldump é utilizada para criar backups completos, gerando um arquivo SQL que inclui tanto os dados quanto a estrutura das tabelas.

Isso permite a recriação completa do banco de dados a
partir do backup.

67
Q
  1. Qual dos seguintes comandos é utilizado para modificar a estrutura de uma tabela existente no MySQL, como adicionar um índice?

A) MODIFY TABLE
B) CHANGE TABLE
C) SET TABLE
D) UPDATE TABLE
E) ALTER TABLE

A

Gabarito: E

O comando ALTER TABLE é usado no MySQL para modificar a estrutura de uma tabela existente, incluindo adicionar, modificar ou excluir colunas e índices.

68
Q
  1. Qual das seguintes afirmações sobre o mysqldump é correta?

A) É usado para otimização de consultas
B) Pode ser usado para backup e restauração de dados
C) É um mecanismo de armazenamento
D) É uma ferramenta de monitoramento de desempenho
E) É um plugin de autenticação

A

Gabarito: B

mysqldump é uma ferramenta fornecida pelo MySQL usada principalmente para backup de bases de dados, gerando um arquivo SQL que pode ser usado para restaurar os dados.

Portanto, é correto dizer que pode ser usado para backup e restauração de dados.

69
Q
  1. Qual das seguintes é uma técnica usada no PostgreSQL para garantir a integridade dos dados durante transações?

A) pg_restore
B) B-tree Index
C) Write-Ahead Logging (WAL)
D) SCRAM-SHA-256
E) psql

A

Gabarito: C

Write-Ahead Logging (WAL) é a técnica usada no PostgreSQL para garantir a integridade dos dados.

Ao registrar todas as modificações em um log antes de qualquer alteração ser confirmada na base de dados, o WAL permite que o sistema recupere de falhas mantendo a consistência dos dados.

70
Q
  1. No PostgreSQL, qual tipo de índice seria mais eficiente para consultar colunas que armazenam dados geoespaciais?

A) B-tree
B) BRIN
C) GIN
D) GiST
E) Hash

A

Gabarito: D

O tipo de índice GiST (Generalized Search Tree) é mais eficiente para consultar colunas que armazenam dados geoespaciais no PostgreSQL.

Ele é projetado para indexar e pesquisar dados em estruturas de árvore, que são ideais para dados espaciais e geográficos.

71
Q
  1. Qual comando do PostgreSQL é utilizado para exibir todas as tabelas em um banco de dados específico?

A) \list
B) \dt
C) \show tables
D) \tables
E) \schema

A

Gabarito: B

O comando \dt no psql é utilizado para exibir todas as tabelas em um banco de dados específico.

Este comando lista as tabelas presentes no esquema atual do banco de dados.

72
Q
  1. Qual método de autenticação no PostgreSQL é considerado mais seguro por usar um algoritmo de hash mais moderno e robusto?

A) md5
B) scram-sha-256
C) password
D) ident
E) trust

A

Gabarito: B

O método scram-sha-256 é considerado mais seguro para autenticação no PostgreSQL porque utiliza um algoritmo de hash mais moderno e robusto, oferecendo proteção melhorada contra ataques de força bruta em comparação com o md5 ou a simples autenticação por password.

73
Q
  1. Qual comando do PostgreSQL é usado para criar um backup físico completo do banco de dados?

A) pg_dump
B) pg_basebackup
C) pg_restore
D) pg_audit
E) pg_bkp

A

Gabarito: B

O comando pg_basebackup é usado no PostgreSQL para criar um backup físico completo do banco de dados.

Este comando copia todos os arquivos de dados necessários para restaurar o banco de dados em um estado consistente.

74
Q
  1. (CESPE / CEBRASPE - 2024 - FINEP - Analista - Tecnologia da Informação - Software)

A respeito de banco de dados, assinale a opção correta, considerando um banco de dados relacional Oracle.

A) Uma base de dados representa algum aspecto do mundo real, algumas vezes chamado de “minimundo”, de modo que mudanças no minimundo provocam mudanças na base de dados.

B) Uma propriedade de transação de banco de dados relacional é o isolamento que garante que as alterações de dados se tornem permanentes quando a transação é confirmada.

C) Um banco de dados é um conjunto de dados que visa manter a integridade e a segurança do sistema.

D) No banco de dados relacional, o dicionário de dados contém a especificação do desempenho das consultas contidas no banco de dados.

E) O princípio da atomicidade é o princípio que garante e permite a manipulação, no mesmo momento, de um mesmo dado por mais de uma pessoa ou um sistema.

A

A opção correta é a que descreve que uma base de dados representa algum aspecto do mundo real, o que é conhecido como “minimundo”.

Isso é fundamental para entender a função de um banco de dados relacional.

Gabarito: A

75
Q
  1. (CESPE / CEBRASPE - 2023 - EMPREL - Analista de Sistemas) A arquitetura de banco de dados relacional, como o Oracle, é um modelo de organização de dados que se baseia em tabelas estruturadas.

Nesse contexto, assinale a opção que apresenta a denominação correta de uma coluna ou um conjunto de colunas que identifica exclusivamente cada linha em uma tabela e garante a unicidade e a integridade dos dados.

A) relacionamentos
B) índices
C) álgebra relacional
D) chave primária
E) diagrama de entidade-relacionamento (DER)

A

A chave primária é essencial para garantir a unicidade e a integridade dos dados em uma tabela, pois identifica exclusivamente cada linha.

Gabarito: D

76
Q
  1. (CESPE / CEBRASPE - 2022 - TRT - 8ª Região (PA e AP) - Analista Judiciário - Tecnologia da Informação)

Acerca do Container Database (CDB) e do pluggable
databases (PDB) na arquitetura Multitenant do Oracle 19, é correto afirmar que

A) um Seed PDB se destina a oferecer suporte a um aplicativo ou contêiner de aplicativos.

B) um PDB é um conjunto criado pelo usuário de esquemas e estruturas relacionadas que aparecem logicamente para um aplicativo cliente como um banco de dados separado.

C) um PDB pode conter vários CDBs conectados a ele, permitindo executar a operação para vários contêineres a partir do PDB.

D) um contêiner de aplicativos é um componente CDB obrigatório criado pelo usuário com objetivo de permitir o acesso facilitado aos dados do PBD ou aos dos CBDs associados ao PDB.

E) cada CDB tem seu próprio conjunto de tablespaces, incluindo seus próprios tablespaces SYSTEM e SYSAUX.

A

A afirmação correta sobre PDB é que ele é um conjunto criado pelo usuário de esquemas e estruturas relacionadas que aparecem logicamente para um aplicativo cliente como um banco de dados separado, o que permite uma maior flexibilidade e organização dos dados.

Gabarito: B

77
Q
  1. (CESPE / CEBRASPE - 2021 - TJ-RJ - Analista Judiciário - Analista de Infraestrutura de TIC)

Uma organização que utiliza servidores de bancos de dados Oracle possui dois datacenters (DC1 e DC2): o banco de dados do DC 1 tem estado ativo para leitura e escrita; o banco de dados do DC 2 tem estado de somente leitura. A organização necessita manter os dados armazenados nos dois datacenters, não suportando mais que 20 minutos de perda de dados, portanto, os dados devem ser replicados do DC1 para o DC2 imediatamente após serem gravados, considerando-se a estratégia near real time.

Com os mecanismos suportados pelo fabricante Oracle, essa necessidade é atendida usando-se

A) timesten.
B) DBMSREPAIR.
C) site guard.
D) data guard.
E) audit vault.

A

O Data Guard é a tecnologia do Oracle que permite a replicação de dados em tempo quase real, garantindo alta disponibilidade e recuperação de desastres, ideal para a necessidade da organização descrita.

Gabarito: D

78
Q
  1. (CESPE / CEBRASPE - 2021 - TJ-RJ - Analista Judiciário - Analista de Sistemas) Assinale a opção que apresenta o nome do arquivo utilizado no sistema gerenciador de banco de dados Oracle para armazenar os nomes de serviço de rede, de modo que a aplicação
    (cliente) consiga se conectar ao servidor Oracle, e permitir também a adição de strings de conexão, manualmente, pelo cliente.

A) oratab
B) spfile.ora
C) listener.ora
D) .bashprofile
E) tnsnames.ora

A

O arquivo tnsnames.ora é utilizado no Oracle para armazenar nomes de serviço de rede, possibilitando que os clientes se conectem ao servidor e adicionem strings de conexão manualmente.

Gabarito: E

79
Q
  1. (FGV / TJDFT – Análise de Sistemas – 2022) Lino precisa preparar um grande volume de dados para minerar realizando operações de limpeza, adequação de formato, exclusão de brancos e inclusão de novos atributos derivados.

Para realizar o pré-processamento dos dados, Lino deve usar uma ferramenta do tipo:

a) ETL
b) OLAP
c) Apriori
d) Data Mart
e) Data Lake

A

O pré-processamento a ser realizado por Lino é feito por meio de ferramentas de ETL (Extract, Transform, Load) – particularmente na etapa de Transformação.

Essa etapa é responsável por compilar, converter, reformatar, limpar os dados, entre outros.

Gabarito: A

80
Q
  1. (FGV / ALERJ – 2017) Daniel está desenvolvendo um Data Warehouse para analisar os dados do Censo Escolar. A fonte de dados está em um arquivo CSV e descrita em um documento, conforme parcialmente ilustrado nas figuras a seguir.

Para carregar esses dados no Data Warehouse com a descrição dos turnos no lugar de seu código, Daniel deve desenvolver um programa para ler os dados do arquivo, realizar transformações e carregar o resultado no banco de dados.

A ferramenta a ser utilizada por Daniel é:

a) ETL
b) OLAP
c) Data Mining
d) ODBC
e) XSLT

A

Daniel quer carregar esses dados no Data Warehouse, no entanto ele quer carregar a descrição dos turnos ao invés de seu código.

Para transformar esses valores de código em descrição antes de carregar no Data Warehouse, Daniel deve fazer uma ETL: extrai os dados do Arquivo CSV, realiza algumas transformações (Código > Descrição) e carrega no DW.

Gabarito: A

81
Q
  1. (FGV / SMF-RJ – 2023) No ambiente de Data Warehousing da SMFP/RJ, os dados são extraídos de diversas fontes e integrados para apoiar a fiscalização de rendas por meio do desenvolvimento de diversos artefatos de dados. Antes de começar as análises nesse ambiente, o fiscal de rendas Inácio fez consultas sobre o seu conteúdo, por exemplo:
  • DW_Tributos, banco de dados analítico do tipo Data Warehouse que integra dados sobre os tributos arrecadados do Município do Rio de Janeiro.
  • TP_EMPRESA, Caractere, 1, atributo que descreve o tipo da empresa contendo os seguintes valores: M - MEI ou S - Simples Nacional, e faz parte da tabela TB _EMPRESA.
  • RL_Sit_Fiscal, relatório sobre a situação fiscal das empresas do Município do Rio de Janeiro.

O componente do ambiente de Data Warehousing, utilizado por Inácio, que foi desenvolvido para apoiar consultas sobre a descrição de cada artefato de dado, é:

a) ETL;
b) Métricas;
c) Dashboard;
d) Dimensões de Dados;
e) Repositório de Metadados.

A

A alternativa correta é: e) Repositório de Metadados.

Explicação:

No contexto de Data Warehousing, o repositório de metadados é o componente responsável por armazenar informações descritivas sobre os dados, como:

  • Origem dos dados
  • Significado dos atributos
  • Tipos de dados (ex: caractere, numérico, data)
  • Tabelas e relacionamentos
  • Qual o conteúdo e propósito de cada artefato (como relatórios, tabelas, campos, etc.)

🔍 Na questão:
Inácio está consultando a descrição dos artefatos de dados:
- O que é o banco DW_Tributos
- O que representa o campo TP_EMPRESA
- Qual é a função do relatório RL_Sit_Fiscal

Essas descrições não são os dados em si, mas metadados — ou seja, dados sobre os dados.

👉 E essas informações ficam armazenadas e organizadas no repositório de metadados.

❌ Por que as outras opções estão erradas?

  • a) ETL (Extract, Transform, Load): responsável pela extração, transformação e carga de dados no Data Warehouse — não descreve os dados.
  • b) Métricas: são valores quantitativos usados em análises (ex: total arrecadado, número de empresas) — não descrevem artefatos.
  • c) Dashboard: é uma interface visual que mostra indicadores e gráficos — não serve para consultar descrições técnicas dos dados.
  • d) Dimensões de Dados: são categorias para análise (ex: tempo, local, empresa), mas não descrevem artefatos como no exemplo.

✅ Gabarito: e) Repositório de Metadados.

82
Q
  1. (FGV / TJ-RN - 2023) Para integrar os dados de diversas fontes, Julia desenvolveu um ETL para executar ações sobre os dados como: extrair, limpar, agregar, transformar e carregar dados
    em um banco de dados destino visando apoiar análises históricas. Para implementar as ações sobre os dados em um ETL, Julia utilizou:

a) steps e fluxos de dados;
b) repositório de metadados;
c) sequências temporais;
d) regras de associação;
e) data mining.

A

A alternativa correta é: a) steps e fluxos de dados.

Explicação:

No processo de ETL (Extract, Transform, Load) — Extração, Transformação e Carga de dados — como descrito na questão, Julia executou várias ações sobre os dados: extrair, limpar, agregar, transformar e carregar.

Para isso, na prática, ferramentas de ETL (como Pentaho, Talend, Informatica, etc.) utilizam “steps” (etapas) e “fluxos de dados” (data flows) para:

  • Definir cada passo do processo (por exemplo, uma transformação, uma junção, um filtro)
  • Especificar o caminho que os dados percorrem desde a origem até o destino

Esses componentes são fundamentais para modelar e executar os processos de ETL.

❌ Por que as outras opções estão erradas?

  • b) Repositório de metadados: armazena descrições sobre os dados (tipo, origem, significado), mas não executa transformações nem ações no processo de ETL.
  • c) Sequências temporais: referem-se à análise de séries temporais (ex: vendas por mês), mas não são elementos do processo de ETL.
  • d) Regras de associação: técnicas de data mining para descobrir padrões (ex: clientes que compram X também compram Y), e não são utilizadas diretamente para ETL.
  • e) Data mining: refere-se à exploração e descoberta de padrões nos dados, geralmente após o processo de ETL, e não é usado para implementar extração, transformação e carga.

✅ Gabarito: a) steps e fluxos de dados.

83
Q
  1. (FGV / CGE-SC - 2023) As informações analiticamente úteis das fontes de dados operacionais(das operações do dia a dia do negócio) são carregadas no Data Warehouse por meio do
    processo de ETL. Um dos recursos úteis em um DW é poder observar um mesmo item de dimensão em vários instantes de tempo (timestamps), como, por exemplo, observar o preço
    de venda de um produto ao longo dos anos.

Assinale a opção que indica a técnica que torna possível a disposição desse recurso.

a) A supressão, no Data Warehouse, das chaves primárias do bando de dados operacional.

b) A criação de chaves primárias compostas por um atributo de chave substituta e um de chave primária do banco de dados operacional.

c) A substituição, e consequente supressão, das chaves primárias do banco de dados operacional por chaves substitutas no Data Warehouse.

d) A criação de chaves primárias substitutas no Data Warehouse, mantendo as chaves primárias do banco de dados operacional como atributos únicos no Data Warehouse.

e) A criação de chaves primárias substitutas no Data Warehouse, mantendo as chaves primárias do banco de dados operacional como atributos não chave no Data Warehouse.

A

A alternativa correta é: e) A criação de chaves primárias substitutas no Data Warehouse, mantendo as chaves primárias do banco de dados operacional como atributos não chave no Data Warehouse.

Explicação:

No contexto de Data Warehousing, especialmente quando se deseja rastrear a evolução de um item ao longo do tempo (como mudanças de preço, endereço do cliente, etc.), é comum o uso de dimensões historificadas — especialmente dimensões do tipo 2 (SCD Type 2 – Slowly Changing Dimensions).

Para isso, usa-se uma chave substituta (surrogate key) como chave primária no Data Warehouse, e a chave primária original do sistema operacional é mantida apenas como um atributo (informação descritiva, não usada como chave).

🔍 Por que isso é importante?

  • A chave substituta (geralmente um número sequencial) permite múltimas versões do mesmo item, com diferentes timestamps.
  • Isso garante integridade referencial e permite manter o histórico (ex: preço de um produto em 2020, 2021, 2022…).
  • A chave original continua sendo útil para rastrear o vínculo com o sistema de origem, mas não pode ser chave primária, pois haveria duplicidade quando o dado muda ao longo do tempo.

❌ Por que as outras estão erradas?

  • a) Supressão da chave primária do operacional: perde-se a referência com o sistema de origem.
  • b) Chave composta (substituta + original): pouco usada e complica a integridade e os joins.
  • c) Supressão total da chave do operacional: limita a rastreabilidade.
  • d) Manter a chave do operacional como atributo único (e não apenas descritivo) impede múltiplas versões históricas, o que contradiz a ideia de capturar variações ao longo do tempo.

✅ Gabarito: e) A criação de chaves primárias substitutas no Data Warehouse, mantendo as chaves primárias do banco de dados operacional como atributos não chave no Data Warehouse.

84
Q
  1. Qual é a ferramenta nativa do Oracle utilizada para a movimentação de dados e metadados dentro e entre bancos de dados Oracle?

A) Oracle Data Pump
B) Oracle RMAN
C) Oracle Flashback
D) SQL Loader
E) Oracle Data Guard

A

Gabarito: A

O Oracle Data Pump é utilizado para a movimentação de dados e metadados dentro e entre bancos de dados Oracle, facilitando tarefas como importação e exportação de dados.

85
Q
  1. Qual processo do Oracle é responsável por escrever as alterações do redo log buffer para os arquivos de redo log em disco?

A) DBWn
B) CKPT
C) SMON
D) LGWR
E) PMON

A

Gabarito: D

O processo LGWR (Log Writer) é responsável por escrever as alterações registradas no redo log buffer para os arquivos de redo log em disco, garantindo a persistência das transações.

86
Q
  1. Qual processo do Oracle é responsável por liberar recursos após a falha de um processo de usuário?

A) LGWR
B) DBWn
C) CKPT
D) SMON
E) PMON

A

Gabarito: E

O processo PMON (Process Monitor) é responsável por limpar após a falha de processos de usuário, liberando recursos como locks e memória que estavam sendo utilizados pelo processo falho.

87
Q
  1. Qual visão do dicionário de dados fornece informações sobre os objetos que pertencem ao usuário atual?

A) DBA_OBJECTS
B) USER_OBJECTS
C) ALL_OBJECTS
D) DBA_TABLES
E) ALL_TABLES

A

Gabarito: B

A visão USER_OBJECTS fornece informações sobre todos os objetos (tabelas, índices, visões, etc.) que pertencem ao usuário atualmente conectado ao banco de dados.

88
Q
  1. No Oracle Database, o que é um Tablespace?

A) Um espaço de armazenamento compartilhado por todos os bancos de dados.

B) Um arquivo que registra todas as transações no banco de dados.

C) Uma unidade lógica de armazenamento que agrupa segmentos de dados físicos.

D) Uma coleção de procedimentos armazenados e funções.

E) Um tipo de índice usado para otimizar consultas.

A

Gabarito: C

Um Tablespace é uma unidade lógica de armazenamento no Oracle Database que agrupa segmentos de dados físicos, permitindo a organização e a gestão eficiente do espaço de armazenamento.

89
Q
  1. Como a técnica de Data Virtualization pode facilitar a análise de dados em uma organização?

A) Aumentando a complexidade do processo de ETL
B) Reduzindo a necessidade de movimentação física dos dados
C) Melhorando a compressão dos dados
D) Facilitando a transformação de dados em tempo real
E) Executando backups frequentes dos dados

A

Gabarito: B

A Data Virtualization facilita a análise de dados ao permitir o acesso e a integração de dados de várias fontes sem a necessidade de movê-los fisicamente, simplificando o gerenciamento e reduzindo a redundância.

90
Q
  1. Como a abordagem de Data Virtualization pode beneficiar a integração de dados em uma organização?

A) Aumentando a necessidade de movimentação física dos dados
B) Facilitando a extração de dados de fontes heterogêneas
C) Melhorando a compressão dos dados para economizar espaço
D) Executando consultas em tempo real sem replicar os dados
E) Realizando backups frequentes dos dados integrados

A

Gabarito: D

A Data Virtualization permite a execução de consultas em tempo real sem a necessidade de replicar fisicamente os dados, facilitando a integração e acesso a dados de fontes heterogêneas.

91
Q
  1. Por que a fase de limpeza de dados é crítica no processo de ETL?

A) Para reduzir o tempo de processamento dos dados
B) Para garantir a segurança dos dados durante a extração
C) Para facilitar a migração dos dados para o cloud
D) Para eliminar inconsistências e garantir a qualidade dos dados
E) Para aumentar a velocidade das consultas no data warehouse

A

Gabarito: D

A fase de limpeza de dados no processo de ETL é crítica porque elimina erros, inconsistências e duplicatas, garantindo que os dados carregados no sistema de destino sejam precisos e confiáveis.

92
Q
  1. Qual é a diferença entre o processo de ETL e o processo de ELT?

A) No ETL, a transformação ocorre antes da carga, enquanto no ELT ocorre após

B) ETL é usado para análise de dados históricos, enquanto ELT é usado para análise em tempo real

C) ETL é adequado para sistemas legados, enquanto ELT é ideal para sistemas modernos

D) No ETL, os dados são carregados diretamente no data lake, enquanto no ELT são carregados no data warehouse

E) ETL envolve a limpeza de dados antes da extração, enquanto ELT envolve a limpeza após a carga

A

Gabarito: A

A principal diferença entre ETL e ELT é a ordem das etapas de transformação e carga dos dados.

No ETL, a transformação ocorre antes da carga no data warehouse, enquanto no ELT, a transformação ocorre após a carga.

93
Q
  1. Identifique o padrão correto relacionado ao conceito de Master Data Management (MDM): MDM é para ‘consistência de dados mestres’ assim como Data Virtualization é para ___________.

A) redução de custos operacionais
B) compressão de grandes volumes de dados
C) acesso unificado a dados distribuídos
D) migração de dados em tempo real
E) gestão de metadados centralizados

A

A alternativa correta é: C) acesso unificado a dados distribuídos.

Explicação:

A pergunta propõe uma analogia:

  • MDM (Master Data Management) é uma abordagem para garantir consistência, integridade e controle dos dados mestres (como clientes, produtos, fornecedores) em toda a organização.

Da mesma forma…

  • Data Virtualization (Virtualização de Dados) é uma tecnologia que permite acessar dados de múltiplas fontes distribuídas como se estivessem em um único local, sem necessidade de movimentá-los ou duplicá-los fisicamente.

💡 Analogia correta:
> MDM é para consistência de dados mestres
> Assim como
> Data Virtualization é para acesso unificado a dados distribuídos

❌ Por que as outras estão erradas?

  • A) Redução de custos operacionais – Pode ser um benefício indireto, mas não é o objetivo principal da virtualização de dados.
  • B) Compressão de grandes volumes de dados – Isso é mais relacionado a técnicas de armazenamento ou processamento, não à virtualização.
  • D) Migração de dados em tempo real – A virtualização evita migração de dados, oferecendo acesso direto à fonte.
  • E) Gestão de metadados centralizados – Isso está mais ligado a catálogos de dados e repositórios de metadados.

✅ Gabarito: C) acesso unificado a dados distribuídos.

94
Q
  1. (FGV / MPE-AL – 2018) No âmbito da utilização de bancos de dados no papel de “data warehouse”, é usualmente aceitável que as tabelas não estejam plenamente normalizadas.

Assinale a opção que mostra porque essa característica, embora
indesejada, é admitida:

a) As dependências funcionais tornam-se obsoletas.

b) As operações de insert/update não estão mais sujeitas ao controle de concorrência.

c) Facilita os processos de ETL.

d) Não é possível criar bancos de dados históricos normalizados.

e) Simplifica as consultas e melhora o tempo de resposta.

A

(a) Errado, as dependências funcionais não se tornam obsoletas por conta de normalização;

(b) Errado, não há operações de update e operações de insert não
necessitam de controle de concorrência;

(c) Errado, isso é uma consequência, mas não é por essa razão que tabelas desnormalizadas são admitidas;

(d) Errado, isso é completamente independente da normalização ou não das tabelas;

(e) Correto, a desnormalização simplifica consultas e melhora o tempo de resposta. Ela prejudica o desempenho de inserções, exclusões e atualizações – mas essas transações não devem
ocorrer em um Data Warehouse.

Gabarito: E

95
Q
  1. (FGV / IBGE – 2017) Pedro foi contratado para desenvolver uma solução de integração de dados a partir de diversas fontes heterogêneas com o objetivo de apoiar a análise de informações.

A solução deve ter as seguintes características: Não-volátil,
Histórico, Orientado a Assunto e Variante no Tempo. Para isso, Pedro deve desenvolver um:

a) Sistema de Informação Transacional;
b) Data Warehouse;
c) Otimizador de Consultas;
d) Sistema Gerenciador de Banco de Dados;
e) Banco de Dados Distribuído.

A

Definição de Bill Inmon: Data Warehouse é uma coleção de dados orientados por assunto, integrados, variáveis com o tempo e não-voláteis, para dar suporte ao processo de tomada de decisão.

Gabarito: B

96
Q
  1. (FGV / AL-MA – 2013) Bill Inmom é considerado um dos “pais” da tecnologia de data warehouse. O autor define o termo como sendo um conjunto de _____ integrado, orientado _____, _____ no tempo e _____ que fornece suporte ao processo de tomada de
    decisão”.

Assinale a alternativa cujos itens completam corretamente as lacunas do fragmento acima.

a) dados– por assunto – variável – não volátil.
b) dados – por objetos – não variável – granular.
c) processos– por assunto – variável – volátil.
d) processos– por relacionamentos – muito variável–granular.
e) processos – por relacionamentos – pouco variável –volátil.

A

De acordo com Bill Inmon, um Data Warehouse é uma coleção de dados orientados por assunto, integrados, variáveis com o tempo e não-voláteis, para dar suporte ao processo de tomada de decisão.

Gabarito: A

97
Q
  1. (FGV / Senado Federal – 2012) Assinale a alternativa que apresenta características dos Datawarehouses.

a) Processamento transacional, dados históricos e consultas pré-definidas simples.

b) Processamento analítico, manipulação de pequenos volumes de dados e consultas simples.

c) Processamento transacional, dados desnormalizados e atualizações online.

d) Processamento analítico, dados históricos e dados normalizados.

e) Processamento analítico, dados desnormalizados e consultas ad hoc complexas.

A

(a) Errado, o processamento é analítico e as consultas são ad hoc complexas;

(b) Errado, ele manipula grandes volumes de dados e as consultas são ad hoc complexas;

(c) Errado, o processamento é analítico e não há atualizações online;

(d) Errado, os dados geralmente são desnormalizados;

(e) Correto, o processamento é realmente analítico, os dados geralmente são desnormalizados e as consultas são ad hoc e complexas.

O que é uma consulta ad hoc? A expressão Ad hoc é uma expressão em latim que significa “para este propósito“. Ou seja, a consulta é criada apenas para satisfazer aquela necessidade específica, aquele propósito, em um momento específico. É
diferente das consultas de bancos de dados tradicionais, que geralmente são consultas pré-determinadas e genéricas.

Gabarito: E

98
Q
  1. (FGV / MEC – 2009) Um termo está associado a uma coleção de dados orientada por assuntos, integrada, variante no tempo, que tem por objetivo dar suporte aos processos de tomada de decisão. É implementado por meio de um banco de dados
    contendo dados extraídos do ambiente de produção da empresa, que foram selecionados e depurados, tendo sido otimizados para processamento de consulta e não para processamento de transações. Em geral, requer a consolidação de outros
    recursos de dados além dos armazenados em base de dados relacionais, incluindo informações provenientes de planilhas eletrônicas e documentos textuais. Seu objetivo é fornecer uma “imagem única da realidade do negócio”. De uma forma geral, são
    sistemas que compreendem um conjunto de programas que extraem dados do ambiente de dados operacionais da empresa, um banco de dados que os mantém, e sistemas que fornecem estes dados aos seus usuários. O termo aqui tratado define o
    conceito de:

a) DataMining
b) DataSystems
c) DataBusiness
d) DataProcessing
e) DataWarehouse

A

O termo associado a uma coleção de dados orientada por assuntos, integrada, variante no tempo, que tem por objetivo dar suporte aos processos de tomada de decisão é o Data Warehouse.

Gabarito: E

99
Q
  1. (FGV / TJ-SC – 2015) Os termos Business Intelligence (BI) e Big Data confundem-se em certos aspectos. Uma conhecida abordagem para identificação dos pontos críticos de cada
    paradigma é conhecida como 3V, e destaca:

a) variedade, visualização, volume;
b) velocidade, virtualização, volume;
c) variedade, velocidade, volume;
d) virtualização, visualização, volume;
e) variedade, visualização, virtualização.

A

O Big Data pode ser rapidamente identificado através das premissas: Variedade, Velocidade e Volume.

Gabarito: C

100
Q
  1. (FGV / AL-BA – 2014) A expressão Big Data é utilizada para descrever o contexto da informação contemporânea, caracterizada pelo volume, velocidade e variedade de dados
    disponíveis, em escala inédita. Com relação às características do Big Data, analise as afirmativas a seguir.

I. O volume da informação se refere ao fato de que certas coleções de dados atingem a faixa de gigabytes (bilhões de bytes), terabytes (trilhões), petabytes (milhares de trilhões) ou
mesmo exabytes (milhões de trilhões).

II. A velocidade está relacionada à rapidez com a qual os dados são produzidos e tratados para atender à demanda, o que significa que não é possível armazená-los todos, de modo
que somos obrigados a escolher dados para guardar e outros para descartar.

III. A variedade significa que os dados de hoje aparecem em todos os tipos de formatos, como, por exemplo, arquivos de texto, e-mail, medidores e sensores de coleta de dados, vídeo, áudio, dados de ações do mercado ou transações financeiras.

Assinale:

a) se somente a afirmativa I estiver correta.
b) se somente a afirmativa II estiver correta.
c) se somente a afirmativa III estiver correta.
d) se somente as afirmativas I e II estiverem corretas.
e) se todas as afirmativas estiverem corretas.

A

(I) Correto. Volume trata realmente da quantidade gigantesca e crescente de dados;

(II) Correto. Velocidade trata da capacidade de processar dados rapidamente para gerar as informações necessárias para que sejam tomadas decisões de forma tempestiva. No entanto, a questão fala que não é possível armazenar todos os dados, sendo obrigatório escolher os dados que serão armazenados. Eu discordo desse entendimento, mas a banca manteve o gabarito;

(III) Correto. Variedade trata dos diferentes tipos de dados (estruturados e nãoestruturados) advindos de fontes diversas.

Gabarito: E

101
Q
  1. (FGV / IBGE - 2017) Observe a figura a seguir que ilustra relações entre colegas e seus interesses.

O tipo de Banco de Dados NoSQL, não relacional, que armazena tais informações, utilizando estruturas de vértices e arestas, com propriedades associadas, é o:

a) Colunar;
b) Documento;
c) Grafo;
d) Chave-valor;
e) Tabular.

A

Estrutura de vértices e arestas com propriedades associadas?

Trata-se do modelo orientado a grafos. Dentre os modelos classificados como NoSQL, o orientado a grafo é o
que mais se distancia dos demais. Enquanto as outras abordagens têm seu foco no armazenamento dos dados, esse modelo tem como destaque principal os relacionamentos
que ocorrem entre as entidades de sua base.

Os bancos de dados que seguem essa abordagem possuem três tipos de informações: os nós, arestas e propriedades.

Gabarito: C

102
Q
  1. (FGV / IBGE - 2016) Considere as seguintes características de um projeto de banco de dados.

I. O modelo de dados é conhecido a priori e é estável;
II. A integridade dos dados deve ser rigorosamente mantida;
III. Velocidade e escalabilidade são preponderantes.

Dessas características, o emprego de bancos de dados NoSQL é favorecido somente por:

a) I;
b) I e II;
c) II;
d) II e III;
e) III.

A

(I) Errado, bancos de dados NoSQL permitem a inserção de dados a qualquer momento sem a necessidade de definir previamente um esquema ou por meio de um esquema flexível;

(II) Errado, normalmente não impõem regras de integridade de dados, o que pode levar a erros e inconsistência de dados – o que geralmente não ocorre com bancos de dados relacionais;

(III) Correto, a velocidade é importante no processamento de grandes conjuntos de dados, pois significa a diferença entre explorar os dados interativamente e esperar minutos ou
horas e a escalabilidade também é importante para acomodar cargas de trabalho em larga escala, permitindo que os usuários aumentem ou diminuam a capacidade de armazenamento de acordo com as necessidades de negócios.

Gabarito: E

103
Q
  1. (FGV / TJ-BA - 2015) Analise as afirmativas a respeito da classe de gerenciadores de bancos de dados, surgida em anos recentes, conhecida como NoSQL.

I. Mesmo sem suportar tabelas relacionais, baseiam-se em esquemas de dados previamente definidos;

II. Suas estruturas não permitem o uso de linguagens do tipo do SQL para recuperação de dados;

III. Garantem operações com as propriedades conhecidas pela sigla ACID;

IV. Privilegiam a rapidez de acesso e a disponibilidade dos dados em detrimento das regras de consistência das transações.

O número de afirmativas corretas é:

a) uma;
b) duas;
c) três;
d) quatro;
e) cinco.

A

(I) Errado, eles permitem a inserção de dados a qualquer momento sem a necessidade de definir previamente um esquema ou por meio de um esquema flexível;

(II) Errado, a sigla significa Not Only SQL (Não Apenas SQL). Logo, ele suporta outras linguagens de recuperação de dados e não apenas SQL;

(III) Errado, eles não garantem as propriedades ACID e, sim, as propriedades BASE (Basicamente Disponível, Estado Suave e Eventualmente Consistente);

(IV) Correto, eles realmente privilegiam a maior disponibilidade e rapidez nas consultas dado que precisam tratar de volumes gigantescos de dados com alta disponibilidade escalabilidade.

Gabarito: A

104
Q
  1. Qual das seguintes afirmações é correta sobre a utilização de dashboards em Business Intelligence?

A) Dashboards proporcionam visualizações interativas e em tempo real dos KPIs

B) Dashboards não permitem interação com os dados exibidos

C) Dashboards são usados apenas para visualizações estáticas de dados

D) Dashboards substituem a necessidade de relatórios detalhados

E) Dashboards são usados exclusivamente para a entrada de dados

A

Gabarito: A

Dashboards em Business Intelligence proporcionam visualizações interativas e em tempo real dos principais indicadores de desempenho (KPIs), permitindo uma análise rápida e eficiente dos dados.

105
Q
  1. Qual das seguintes opções descreve corretamente a arquitetura de Data Marts independentes?

A) Data Marts são integrados em um Data Warehouse centralizado

B) Data Marts independentes compartilham um modelo de dados comum

C) Data Marts independentes não permitem integração futura com outros sistemas

D) Data Marts independentes são exclusivamente usados para backup de dados

E) Cada Data Mart é desenvolvido de forma autônoma e não depende de um DW central

A

Gabarito: E

Na arquitetura de Data Marts independentes, cada Data Mart é desenvolvido de forma autônoma e não depende de um Data Warehouse central, permitindo maior flexibilidade para atender às necessidades específicas dos departamentos.

106
Q
  1. Qual das seguintes características é típica de um Data Warehouse (DW) em contraste com um sistema OLTP (Online Transaction Processing)?

A) Exclusivamente utilizado para backups de dados
B) Processamento de transações em tempo real
C) Armazenamento de dados operacionais brutos
D) Alta frequência de atualizações e inserções de dados
E) Foco em dados históricos e análises

A

Gabarito: E

Um Data Warehouse é projetado para armazenar e analisar dados históricos, oferecendo suporte à tomada de decisões, ao contrário dos sistemas OLTP que são focados em operações transacionais
em tempo real.

107
Q
  1. Qual é a principal vantagem da arquitetura de Barramento de Data Marts?

A) Permite análises em tempo real sem necessidade de ETL

B) Elimina a necessidade de integração de dados entre diferentes departamentos

C) Proporciona um modelo de dados consistente através de um barramento comum

D) Simplifica a infraestrutura de TI ao usar apenas um Data Mart

E) Exclusivamente usado para armazenamento de dados não estruturados

A

Gabarito: C

A principal vantagem da arquitetura de Barramento de Data Marts é proporcionar um modelo de dados consistente através de um barramento comum, facilitando a integração e análise de dados de diferentes departamentos.

108
Q
  1. No contexto de Business Intelligence, o que significa ‘self-service BI’?

A) Uma abordagem onde os usuários de negócios podem criar e acessar seus próprios relatórios e análises

B) Um modelo de BI onde apenas os analistas de TI podem gerar relatórios

C) Uma ferramenta de BI utilizada exclusivamente para operações de backup de dados

D) Uma solução de BI que não requer qualquer forma de governança de dados

E) Um método de BI que é utilizado exclusivamente para análise de dados históricos

A

Gabarito: A

Self-service BI é uma abordagem que permite aos usuários de negócios criar e acessar seus próprios relatórios e análises sem depender significativamente da equipe de TI.

109
Q
  1. Dadas as seguintes características de tecnologias de Big Data, associe corretamente cada tecnologia com sua respectiva função:

A) NoSQL - permite o armazenamento flexível de dados,

B) Apache Hadoop - oferece escalabilidade horizontal para armazenamento e processamento distribuído,

C) Apache Spark - facilita o processamento em tempo real de grandes volumes de dados.

A) A: Correto, B: Correto, C: Incorreto
B) A: Correto, B: Correto, C: Correto
C) A: Correto, B: Incorreto, C: Correto
D) A: Incorreto, B: Correto, C: Incorreto
E) A: Incorreto, B: Incorreto, C: Correto

A

Gabarito: B

NoSQL é conhecido por permitir o armazenamento flexível de dados, Apache Hadoop oferece escalabilidade para armazenamento e processamento distribuído, e Apache Spark é usado para processamento em tempo real, o que torna todas as associações corretas.

110
Q
  1. O que a característica de Veracidade do Big Data aborda?

A) Capacidade de processar grandes volumes de dados
B) Variedade de formatos de dados
C) Velocidade de processamento
D) Confiabilidade e precisão dos dados
E) Todos os itens anteriores

A

Gabarito: D

A característica de Veracidade do Big Data trata da confiabilidade e precisão dos dados, assegurando que sejam corretos e confiáveis para análise.

111
Q
  1. Qual dos seguintes bancos de dados NoSQL é ideal para lidar com Big Data?

A) Oracle
B) MongoDB
C) MySQL
D) Microsoft SQL Server
E) Microsoft Excel

A

Gabarito: B

A alternativa ‘B’ é a correta. MongoDB é um banco de dados orientado a documentos que pertence à classe NoSQL. Ele é ideal para gerenciar Big Data devido à sua capacidade de escalar
horizontalmente, o que permite lidar facilmente com grandes volumes de dados.

112
Q
  1. Qual é uma das principais características do Big Data?

A) Volume
B) Amplitude
C) Comprimento
D) Largura
E) Peso

A

Gabarito: A

A característica de Volume é uma das principais do Big Data, referindo-se à grande quantidade de dados que são processados e analisados.

113
Q
  1. No contexto de Big Data, a característica de Volume não apenas refere-se à grande quantidade de dados que são gerados e armazenados, mas também à capacidade de lidar com essa quantidade de dados de forma eficiente.

Qual das seguintes afirmações descreve melhor como a característica de Volume é gerenciada em um sistema de Big Data?

A) Utilizando técnicas de compressão de dados para reduzir o espaço de armazenamento necessário

B) Utilizando plataformas de computação em nuvem para escalar horizontalmente a capacidade de armazenamento

C) Aplicando algoritmos de machine learning para prever o crescimento dos dados

D) Implementando sistemas de banco de dados relacionais para facilitar o acesso aos dados

E) Adotando políticas de arquivamento de dados para manter apenas dados recentes disponíveis

A

Gabarito: B

A característica de Volume no Big Data é gerenciada utilizando plataformas de computação em nuvem, que permitem a escalabilidade horizontal da capacidade de armazenamento, facilitando o gerenciamento de grandes quantidades de dados.

114
Q
  1. (FGV / TJDFT – 2022) Maria está explorando a seguinte tabela da base de dados de vendas do mercado HortVega:

Utilizando técnicas de Mineração de Dados, Maria encontrou a seguinte informação:

Se um cliente compra Cacau, a probabilidade de ele comprar chia é de 50%. Cacau => Chia, suporte = 50% e confiança = 66,7%.

Para explorar a base de dados do HortVega, Maria utilizou a técnica de Mineração de Dados:

a) normalização;
b) classificação;
c) regra de associação;
d) clusterização;
e) redução de dimensionalidade.

A

Falou em suporte e confiança, devemos lembrar de Regras de Associação.

Como uma grande quantidade de regras de associação pode ser derivada a partir de uma base de dados, mesmo que pequena, normalmente se objetiva a derivação de regras que suportem
um grande número de transações e que possuam uma confiança razoável para as transações às quais elas são aplicáveis.

Esses requisitos estão associados a dois conceitos centrais em mineração de regras de associação:

Suporte: o suporte, ou cobertura, de uma regra de associação é o número de transações para as quais ela faz a predição correta. Também pode ser entendida como a utilidade de uma dada regra.

Confiança: a confiança, ou acurácia, de uma regra é o número de transações que ela prediz corretamente proporcionalmente às transações para as quais ela se aplica. Também pode ser entendida como a certeza de uma dada regra.

Gabarito: C

115
Q
  1. (FGV / SEFAZ-AM – 2022) Leia o fragmento a seguir. “CRISP-DM é um modelo de referência não proprietário, neutro, documentado e disponível na Internet, sendo amplamente utilizado para descrever o ciclo de vida de projetos de Ciência de Dados. O modelo é composto por seis fases:
  2. entendimento do negócio;
  3. _____;
  4. _____;
  5. Modelagem;
  6. _____ ; e
  7. implantação”.

Assinale a opção cujos itens completam corretamente as lacunas do fragmento acima, na ordem apresentada.

a) modelagem do negócio – limpeza de dados – testagem.
b) modelagem de requisitos – raspagem de dados – execução.
c) modelagem do negócio – mineração de dados – reexecução.
d) compreensão dos dados – preparação dos dados – avaliação.
e) mapeamento de metadados – mineração de dados – testagem.

A

Os nomes variam um pouco, mas temos que:

(2) Entendimento/Compreensão de Dados;

(3) Preparação dos Dados;

(5) Teste e Avaliação.

Gabarito: D

116
Q
  1. (FGV / SEFAZ-AM – 2022) O tipo de aprendizado máquina, que consiste em treinar um sistema a partir de dados que não estão rotulados e/ou classificados e utilizar algoritmos que buscam descobrir padrões ocultos que agrupam as informações de acordo com semelhanças ou diferenças, é denominado:

a) dinâmico.
b) sistêmico.
c) por reforço.
d) supervisionado.
e) não supervisionado.

A

O tipo de aprendizado máquina, que consiste em treinar um sistema a partir de dados que não estão rotulados e/ou classificados é chamado de aprendizado não supervisionado.

Ora, se os dados não são previamente rotulados, então o aprendizado é não supervisionado.

Gabarito: E

117
Q
  1. (FGV / SEFAZ-ES – 2021) Maria está preparando um relatório sobre as empresas de serviços de um município, de modo a identificar e estudar o porte dessas empresas com vistas ao estabelecimento de políticas públicas de previsões de arrecadações. Maria pretende criar nove grupos empresas, de acordo com os valores de faturamento, e recorreu às técnicas usualmente empregadas em procedimentos de data mining para estabelecer as faixas de valores de cada grupo.

Assinale a opção que apresenta a técnica diretamente aplicável a esse tipo de classificação:

a) Algoritmos de associação.
b) Algoritmos de clusterização.
c) Árvores de decisão.
d) Modelagem de dados.
e) Regressão linear.

A

Ora, se ela quer criar nove grupos e empresas de acordo com os valores de faturamento e recorreu às técnicas de mineração de dados para estabelecer as faixas de valores de cada grupo significa que ela não tinha as classes previamente definidas.

Logo, ela utilizou um algoritmo de aprendizado não supervisionado.

No caso, trata-se claramente de algoritmos de clusterização.

Gabarito: B

118
Q
  1. (FGV / Prefeitura de Niterói – 2018) Rafael aplicou um teste de múltipla escolha de cem questões para um numeroso grupo de alunos e notou que houve uma variada distribuição de notas.
    Rafael resolveu trabalhar esses dados, e agrupar esses alunos de modo que cada um ficasse no grupo mais adequado para a sua nota. Assim, poderia preparar atividades específicas para cada grupo.

Assinale a opção que indica o algoritmo mais adequado para essa tarefa.

a) Bubble sort;
b) K-means;
c) Monte Carlo.
d) Linear regression.
e) Logistic regression.

A

Vamos destacar as palavras-chave do enunciado: “grupo de alunos”, “agrupar esses alunos”, “cada um ficasse no grupo mais adequado para a sua nota”.

(a) Errado, isso é um algoritmo para ordenação de dados;

(b) Correto, trata-se de algoritmo de clusterização;

(c) Errado, esse é um método utilizado para estimar os possíveis
resultados de um evento incerto;

(d) Errado, trata-se de um algoritmo de regressão (predição) e Rafael precisa de um algoritmo de agrupamento (descrição);

(e) Errado, tratase de um algoritmo de regressão (predição) e Rafael precisa de um algoritmo de agrupamento (descrição).

Gabarito: B

119
Q
  1. (FGV / TRT-MA – 2022) Com relação aos conceitos de aprendizado de máquina, assinale V para a afirmativa verdadeira e F para a falsa.

I. Os três principais paradigmas de aprendizado de máquina são os de aprendizado supervisionado, não supervisionado e por inteligência profunda.

II. Os algoritmos de classificação e clusterização estão correlacionados com paradigma de aprendizado supervisionado.

III. Os algoritmos de Support Vector Machines e Random Forest são paradigmas do aprendizado de inteligência profunda.

As afirmativas são, respectivamente,
a) V, V e V.
b) V, V e F.
c) V, F e V.
d) F, V e V.
e) F, F e F.

A

(I) Errado. Trata-se do Aprendizado Supervisionado, Aprendizado Não-Supervisionado e Aprendizado por Reforço;

(II) Errado. Clusterização utiliza o paradigma de Aprendizado
Não-Supervisionado;

(III) Errado. Ambos utilizam Aprendizado Supervisionado.

Gabarito: E

120
Q
  1. (FGV / CGE-SC - 2023) Suponha que, dado um problema em que os dados são bidimensionais e executamos o algoritmo PCA (Principal Component Analysis – Análise de Componentes
    Principais) nesses dados para redução de dimensionalidade, o resultado do PCA produza dois autovalores de valores iguais. A respeito desse resultado, assinale a afirmativa correta.

a) As dimensões dos dados não são igualmente importantes; o uso do PCA para a redução de dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 100% da
informação.

b) As dimensões dos dados são igualmente importantes; o uso do PCA para a redução de dimensionalidade vai produzir um resultado ruim, pois as dimensões são iguais.

c) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de dimensionalidade vai produzir um resultado ruim, pois perdemos 100% da explicação dos dados.

d) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de dimensionalidade vai produzir um resultado ruim, pois perdemos 50% da explicação dos dados.

e) As dimensões dos dados não são igualmente importantes; o uso do PCA para redução de dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 50% da
informação.

A

A análise de componentes principais (PCA) é uma técnica estatística para reduzir a dimensionalidade de um conjunto de dados.

Ela faz isso encontrando um conjunto de dimensões menores que capturam a maior parte da variação dos dados.

As dimensões encontradas pela PCA são conhecidas como componentes principais.

Os autovalores são as raízes quadradas dos autocovariâncias dos dados e medem a importância de cada componente principal.

Os autovalores maiores capturam mais variação dos dados, já os
autovalores menores capturam menos variação.

Se o objetivo é explicar a maior parte da variação dos dados, então as dimensões com os autovalores maiores devem ser usadas; e se o objetivo é visualizar os dados, então as
dimensões com os autovalores menores podem ser usadas.

A questão afirma que os dois autovalores possuem valores iguais, logo ambas possuem a mesma importância na explicação da variância dos dados originais.

Assim, as dimensões dos dados são igualmente importantes; o uso do PCA para redução de dimensionalidade vai produzir um resultado ruim, pois perdemos 50% da explicação dos dados.

Gabarito: Letra D

121
Q
  1. (FGV / Receita Federal - 2023) Luiz, médico dermatologista, criou um modelo de IA para auxiliar na detecção de câncer de pele com visão computacional. Como um modelo de classificação
    binária, ele terá 4 possíveis saídas: verdadeiro positivo (paciente com câncer, detectado corretamente), verdadeiro negativo (paciente sem câncer, detectado corretamente), falso positivo (paciente sem câncer, detectado incorretamente) e falso negativo (paciente com câncer, não detectado pelo modelo). Levando em consideração que um modelo de IA seria utilizado como uma ferramenta de auxílio ao diagnóstico de câncer de pele, os erros de “tipo 1” (falso positivo) seriam tolerados, já que haveria uma análise posterior realizada por um médico especialista. No entanto, os erros “tipo 2” (falso negativo) seriam os mais críticos, uma vez que podem resultar em um diagnóstico tardio ou falho, comprometendo a saúde do paciente.

Tomando o cenário como base, julgue os itens a seguir:

I. A métrica mais importante nesse caso seria a Sensibilidade (Recall ou Revocação);

II. A métrica mais importante nesse caso seria a Precisão (Precision);

III. Ao ajustar o modelo para minimizar erros de “tipo 2”, geralmente os erros de “tipo 1” tendem a aumentar;

IV. Luiz deveria submeter seu modelo a um treinamento mais longo, independentemente do overfitting.

Estão corretas as afirmativas:

a) I e III, apenas.
b) II e III, apenas.
c) I e IV, apenas.
d) II e IV, apenas.
e) III e IV, apenas.

A

(I) Correto. A sensibilidade é uma métrica que mede a capacidade do modelo em detectar corretamente todos os casos positivos. No contexto de detecção de câncer de pele, isso significa que a sensibilidade é a proporção de pacientes com câncer de pele que foram corretamente detectados pelo modelo. Como os erros do tipo 2 são os mais críticos, a sensibilidade seria a métrica mais importante nesse caso, pois o objetivo principal é minimizar esses erros;

(II) Errado. Embora a precisão seja uma métrica importante, ela não é a mais importante nesse contexto. A precisão mede a proporção de casos positivos previstos pelo modelo que
são realmente positivos. No contexto de detecção de câncer de pele, a precisão é importante, mas não é tão crítica quanto a sensibilidade, pois um falso positivo pode ser identificado
posteriormente por um especialista – sendo menos pior que um falso negativo.

(III) Correto. Ao ajustar o modelo para minimizar os erros do tipo 2, geralmente os erros do tipo 1 tendem a aumentar, pois o modelo passa a ser mais sensível a todos os casos positivos.
Isso pode levar a um aumento no número de falsos positivos, o que pode aumentar a carga de trabalho para os médicos especialistas. É importante encontrar um equilíbrio entre as
duas métricas, de forma a minimizar os erros do tipo 2 sem aumentar significativamente os erros do tipo 1.

(IV) Errado. Submeter o modelo a um treinamento mais longo pode levar ao overfitting, ou seja, o modelo pode se ajustar demais aos dados de treinamento e não ser capaz de
generalizar para novos dados. Em vez disso, Luiz deveria se concentrar em ajustar os parâmetros do modelo para melhorar sua sensibilidade, sem comprometer a precisão. É importante ter um conjunto de dados de validação para avaliar o desempenho do modelo durante o treinamento e evitar o overfitting.

Gabarito: Letra A

122
Q
  1. (FGV / Receita Federal - 2023) Suponha que um modelo de classificação binária foi treinado para distinguir e-mails de spam de e-mails legítimos. O modelo foi testado em um conjunto de dados de teste com 200 e-mails, sendo 100 e-mails de spam e 100 e-mails legítimos.

A matriz de confusão é dada por 80 verdadeiros positivos, 85 verdadeiros negativos, 15 falsos positivos (erro tipo 1) e 20 falsos negativos (erro tipo 2). Nessas condições, o F1-Score do modelo deve ser aproximadamente igual a:

a) 0,74.
b) 0,78.
c) 0,82.
d) 0,86.
e) 0,90.

A

O F1-Score é uma medida que combina as métricas de Precisão e Revocação de um modelo de classificação binária. Ele é definido como a média harmônica dessas duas métricas, e pode ser calculado pela fórmula:

F1 = 2 * (Precisão * Revocação) / (Precisão + Revocação)

Onde:

  • Precisão = VP / (VP + FP)
  • Revocação = VP / (VP + FN)

Considerando que VP são Verdadeiros Positivos, FP são Falsos Positivos e FN são Falsos Negativos. Podemos calcular Precisão e Revocação usando os valores da matriz de confusão fornecidos:

  • Precisão = 80 / (80 + 15) = 0,842
  • Revocação = 80 / (80 + 20) = 0,8

Substituindo esses valores na fórmula do F1-Score, temos:

F1 = 2 * (0,842 * 0,8) / (0,842 + 0,8) = 0,820

Sendo assim, o F1-Score do modelo deve ser aproximadamente igual a 0,82.

Gabarito: Letra C

123
Q
  1. (FGV / Receita Federal - 2023) Com base nos princípios de Responsible AI (IA Responsável), a seguinte característica não é considerada importante para o desenvolvimento de soluções de
    inteligência artificial:

a) transparência.
b) privacidade.
c) explicabilidade.
d) segurança.
e) performance.

A

O gabarito preliminar foi Performance. No entanto, a performance é um aspecto relevante para soluções de inteligência artificial, os princípios de Responsible AI enfatizam a importância da transparência, privacidade, explicabilidade e segurança como aspectos fundamentais para o desenvolvimento responsável de soluções de inteligência artificial. A banca não perguntou quais não fazem parte dos princípios ou características mais
importantes – ela simplesmente perguntou qual não é considerado importante. Por essa razão, a questão foi anulada!

A transparência é necessária para garantir que as decisões tomadas pela IA sejam compreensíveis para os usuários e para que as soluções possam ser auditadas. A privacidade é importante para proteger a privacidade dos usuários e garantir que os dados sejam coletados e usados de maneira ética. A explicabilidade é importante para garantir que as decisões tomadas pela IA possam ser explicadas de forma clara e compreensível. A segurança é essencial para proteger as soluções de IA contra-ataques e garantir a integridade dos dados.

Gabarito: Anulada

124
Q
  1. O que são Stop Words no contexto da mineração de textos?

A) Palavras-chave que devem ser destacadas em um texto.

B) Palavras que são removidas durante o pré-processamento por serem muito frequentes.

C) Palavras que são adicionadas a um texto para melhorar sua legibilidade.

D) Palavras que indicam a estrutura gramatical de uma frase.

E) Palavras usadas em processos de agrupamento de documentos

A

Gabarito: B

Stop Words são palavras muito frequentes em um texto que são removidas durante o pré-processamento, pois geralmente não contribuem para a análise ou compreensão do conteúdo.

125
Q
  1. Considerando a etapa de Avaliação no processo CRISP-DM, qual das seguintes ações é realizada para garantir que os modelos de mineração de dados desenvolvidos estejam alinhados com os
    objetivos do negócio e atendam aos critérios de sucesso previamente estabelecidos?

A) Implementação dos modelos no ambiente de produção
B) Coleta e integração de novos dados
C) Preparação dos dados para a análise
D) Validação cruzada e análise de desempenho dos modelos
E) Criação de relatórios finais para stakeholders

A

Gabarito: D

Na etapa de Avaliação do CRISP-DM, a validação cruzada e a análise de desempenho dos modelos são realizadas para garantir que os modelos estejam alinhados com os objetivos do negócio e
atendam aos critérios de sucesso estabelecidos.

126
Q
  1. O que são Stem Words no processo de mineração de textos?

A) Palavras reduzidas a sua raiz, permitindo agrupar diferentes formas da mesma palavra.

B) Palavras que são removidas durante o pré-processamento por serem muito frequentes.

C) Palavras que são adicionadas a um texto para melhorar sua legibilidade.

D) Palavras que indicam a estrutura gramatical de uma frase.

E) Palavras usadas em processos de agrupamento de documentos.

A

Gabarito: A

Stemming é uma importante etapa de pré-processamento em técnicas de mineração de textos e NLP.

Consiste em reduzir as palavras a sua raiz ou raiz comum, permitindo assim agrupar diferentes formas da mesma palavra.

Por exemplo, as palavras ‘correr’, ‘corre’ e ‘corrido’ podem ser reduzidas à raiz ‘corr’.

Este processo ajuda a evitar a multiplicidade de formas da mesma palavra, facilitando os processos de pesquisa, análise e comparação.

127
Q
  1. Identifique o padrão correto para a sequência de técnicas de pré-processamento de dados:

Coleta de Dados → ________ → Discretização → ________ → Preparação para Modelagem.

A) Limpeza de Dados; Integração de Dados
B) Integração de Dados; Transformação
C) Normalização; Redução de Dimensionalidade
D) Limpeza de Dados; Normalização
E) Redução de Dimensionalidade; Integração de Dados

A

Gabarito: D

A sequência correta de pré-processamento de dados envolve a Limpeza de Dados seguida pela Normalização, antes da discretização e preparação final para a modelagem.

128
Q
  1. Qual é a técnica utilizada para eliminar as palavras mais comuns e irrelevantes (como ‘e’, ‘ou’, ‘a’, ‘o’) durante a mineração de textos?

A) Stemming
B) Redução de Dimensionalidade
C) Thesaurus
D) Stop Words
E) Case Folding

A

Gabarito: D

A técnica utilizada para eliminar palavras mais comuns e consideradas irrelevantes (como preposições, conjunções, artigos, etc.) durante o processo de mineração de textos é conhecida como ‘Stop Words’.

Estas palavras são muitas vezes ignoradas por sistemas de busca e mineração de texto devido à sua alta frequência de ocorrência e pouca relevância semântica.

129
Q
  1. Qual é a principal diferença entre o paradigma simbólico e o paradigma estatístico em machine learning?

A) O paradigma simbólico é baseado em modelos probabilísticos, enquanto o paradigma estatístico é baseado em regras lógicas.

B) O paradigma simbólico é não supervisionado, enquanto o paradigma estatístico é supervisionado.

C) O paradigma simbólico usa técnicas de clustering, enquanto o paradigma estatístico utiliza árvores de decisão.

D) O paradigma simbólico é baseado em aprendizado por reforço, enquanto o paradigma estatístico é baseado em aprendizado baseado em exemplos.

E) O paradigma simbólico requer grandes volumes de dados, enquanto o paradigma estatístico funciona bem com conjuntos de dados pequenos.

A

Gabarito: A

O paradigma simbólico se concentra em representar conhecimento de forma simbólica, como regras lógicas, enquanto o paradigma estatístico se baseia em modelos probabilísticos.

130
Q
  1. Considere um cenário em que você está desenvolvendo um modelo de machine learning para prever a ocorrência de eventos raros, como fraudes em transações financeiras. Entre as abordagens a seguir, qual delas é a mais adequada para lidar com o desequilíbrio das classes no conjunto de dados?

A) Utilizar uma métrica padrão como a acurácia para avaliar o desempenho do modelo.

B) Aplicar a técnica de oversampling para aumentar a representação da classe minoritária.

C) Remover aleatoriamente instâncias da classe majoritária para equilibrar as classes.

D) Aumentar o tamanho do conjunto de teste para incluir mais instâncias da classe minoritária.

E) Aplicar técnicas de regularização como Lasso ou Ridge para ajustar o modelo aos dados desequilibrados.

A

A alternativa mais adequada para lidar com desequilíbrio de classes (como no caso de fraudes, que são eventos raros) é:

B) Aplicar a técnica de oversampling para aumentar a representação da classe minoritária.

✅ Explicação:

  • Em problemas com classes desbalanceadas, como detecção de fraude, a classe majoritária (não fraude) é muito mais representada do que a classe minoritária (fraude).
  • Se treinarmos um modelo nesse cenário sem lidar com o desbalanceamento, ele tende a prever sempre a classe majoritária, resultando em alta acurácia mas péssimo desempenho real para detectar fraudes.

Por que as outras estão incorretas?

  • A) Usar acurácia: Ruim em problemas desbalanceados, porque o modelo pode acertar sempre a classe majoritária e ainda assim parecer “bom”.
  • C) Remover aleatoriamente instâncias da classe majoritária (undersampling): Pode ser útil, mas pode descartar dados importantes. Oversampling costuma ser preferido, especialmente com técnicas como SMOTE.
  • D) Aumentar o conjunto de teste: Isso não resolve o desbalanceamento no treinamento e, isoladamente, não é uma técnica eficaz para melhorar o modelo.
  • E) Regularização (Lasso, Ridge): Ajuda a evitar overfitting, mas não resolve o desequilíbrio de classes diretamente.
131
Q
  1. Qual é a possível solução para o problema de overfitting em Machine Learning?

A) Aumentar a variância e reduzir o viés do modelo.

B) Reduzir a complexidade do algoritmo.

C) Aumentar o número de parâmetros do modelo.

D) Simplificar o modelo e/ou coletar mais dados.

E) Utilizar um algoritmo de aprendizado de máquina menos sofisticado.

A

A alternativa correta é:

D) Simplificar o modelo e/ou coletar mais dados.

✔ Explicação:

O overfitting ocorre quando o modelo se ajusta muito bem aos dados de treino, inclusive aos ruídos e variações específicas, mas tem desempenho ruim em dados novos (teste).

Para combater o overfitting, as estratégias comuns incluem:

  • Simplificar o modelo: usar menos parâmetros ou um modelo mais simples, que generaliza melhor.
  • Coletar mais dados: mais dados ajudam o modelo a aprender padrões reais em vez de ruídos.
  • Regularização (como L1/L2): força o modelo a manter pesos pequenos.
  • Early stopping, cross-validation, data augmentation, entre outras.

❌ Por que as outras estão erradas?

  • A) Aumentar a variância e reduzir o viés: Isso tende a causar mais overfitting, não menos.
  • B) Reduzir a complexidade do algoritmo: Está parcialmente certa, mas é incompleta isoladamente; a alternativa D traz a resposta mais completa.
  • C) Aumentar o número de parâmetros: Isso aumenta a complexidade e o risco de overfitting.
  • E) Usar um algoritmo menos sofisticado: Pode até ajudar, mas também não garante melhoria se o modelo for mal ajustado ou os dados forem escassos.
132
Q
  1. Em uma árvore de decisão, qual métrica é frequentemente utilizada para selecionar o atributo que faz a melhor divisão dos dados em um nó?

A) Ganho de informação.
B) Desvio padrão dos dados.
C) Média dos atributos.
D) Soma total dos atributos.
E) Mediana dos valores dos atributos.

A

A alternativa correta é:

A) Ganho de informação.

✔ Explicação:

Em uma árvore de decisão, o objetivo ao dividir os dados em cada nó é maximizar a “pureza” dos subconjuntos resultantes. Para isso, utilizam-se métricas que quantificam o quão bem um atributo separa os dados.

Uma das mais comuns é o Ganho de Informação (Information Gain), que mede a redução na entropia após a divisão dos dados com base em um atributo.

Outras métricas usadas (dependendo do algoritmo):

  • ID3 usa Ganho de Informação.
  • C4.5 usa Ganho de Informação normalizado (Gain Ratio).
  • CART usa Índice de Gini.

❌ Por que as outras estão erradas?

  • B) Desvio padrão dos dados: Métrica estatística, não usada para divisão em árvores.
  • C) Média dos atributos: Pode ser usada como ponto de corte, mas não é a métrica de seleção.
  • D) Soma total dos atributos: Sem significado na divisão de nós.
  • E) Mediana dos valores dos atributos: Como a média, pode ser ponto de divisão, mas não é critério de seleção de atributos.
133
Q
  1. Complete a lacuna: Na técnica de Análise de Componentes Principais (PCA), o objetivo principal é transformar um conjunto de variáveis possivelmente correlacionadas em um conjunto menor de variáveis _____. Essas novas variáveis, conhecidas como componentes principais, capturam a maior parte da ____ presente nos dados originais.

A) independentes, informação
B) dependentes, variância
C) independentes, entropia
D) correlacionadas, entropia
E) não correlacionadas, variância

A

A alternativa correta é:

E) não correlacionadas, variância

✔ Explicação:

Na técnica de Análise de Componentes Principais (PCA):

  • O objetivo é transformar um conjunto de variáveis possivelmente correlacionadas em um conjunto de componentes principais que sejam:
    • Não correlacionados (ou seja, ortogonais entre si);
    • Ordenados de forma que os primeiros componentes capturam a maior parte da variância dos dados originais.

Resumo:

  • Não correlacionadas: Porque os autovetores da matriz de covariância são ortogonais.
  • Variância: Porque PCA busca maximizar a variância explicada com o menor número de componentes.