Banco de Dados Flashcards

(1029 cards)

1
Q
  1. (MPU-TO - DBA - CESPE – 2024) No que se refere a dados estruturados e não estruturados e a técnicas de integração e ingestão de dados, julgue os próximos itens.

Dados estruturados normalmente são armazenados em arquivos dos tipos doc, wmv, mpw, mp3, wav, jpg; grandes volumes de dados estruturados são armazenados em data lakes, os quais podem ser acessados quando necessário.

A

O item está incorreto.

Dados estruturados referem-se a dados organizados em um formato específico, como tabelas em um banco de dados relacional, com esquemas predefinidos.

Por outro lado, os tipos de arquivo mencionados (doc, wmv, mpw, mp3, wav, jpg) geralmente contêm dados não estruturados, como documentos de texto, arquivos de áudio, vídeo e imagens.

Quanto aos grandes volumes de dados estruturados, eles podem ser armazenados em data warehouses ou data lakes, dependendo dos requisitos de negócios e das necessidades de análise.

Gabarito: Errada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. (ANAC - Analista de Sistemas - CESPE – 2024) A respeito de dado, informação, conhecimento e inteligência, julgue os itens a seguir.

Na fase de armazenamento do ciclo de vida dos dados, o foco principal é prover meios que ampliem os níveis de utilização desses dados, seja por ampliação das possibilidades de acesso via cópia, por obtenção de conjuntos para análise, ou por meio da disponibilização de recursos de visualização desses dados.

A

Este item aborda a fase de armazenamento no ciclo de vida dos dados, destacando o objetivo principal dessa fase.

Ele sugere que o foco principal do armazenamento de dados é ampliar os níveis de utilização por meio de diversos meios, como ampliação das possibilidades de acesso via cópia, obtenção de conjuntos para análise e disponibilização de recursos de visualização dos dados.

No entanto, o item foi considerado errado.

Isso porque, embora o armazenamento de dados seja essencial para possibilitar o acesso e a análise posterior, seu objetivo principal não é ampliar os níveis de utilização dos dados.

Em vez disso, o principal objetivo do armazenamento de dados é garantir a segurança, a integridade e a disponibilidade dos dados ao longo do tempo, além de proporcionar eficiência no acesso e na recuperação quando necessário.

A ampliação da utilização dos dados pode ser uma consequência do armazenamento eficaz, mas não é o foco principal dessa fase do ciclo de vida dos dados.

Gabarito: Errada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. (ANAC - Analista de Sistemas - CESPE – 2024) A respeito de dado, informação, conhecimento e inteligência, julgue os itens a seguir.

Dados abertos são disponibilizados sob uma modalidade de licença que permite sua livre utilização, consumo ou cruzamento, por qualquer pessoa, e estão sujeitos, no máximo, ao crédito da autoria ou da fonte.

A

O item aborda a definição de dados abertos, destacando que estão disponíveis sob uma modalidade de licença que permite sua livre utilização, consumo ou cruzamento por qualquer pessoa, sujeitos, no máximo, ao crédito da autoria ou da fonte.

No entanto, o item foi considerado errado.

Isso porque a definição de dados abertos vai além da simples permissão para livre utilização, consumo ou cruzamento.

Os dados abertos devem ser disponibilizados de forma que qualquer pessoa possa usá-los, reutilizá-los e redistribuí-los, sujeitos apenas, no máximo, à exigência de atribuição de crédito e de compartilhamento pelas mesmas condições (licença de atribuição compartilhada).

Portanto, a inclusão do requisito de “crédito da autoria ou da fonte” como o máximo permitido para o uso de dados abertos não está totalmente correta.

Eles devem ser disponibilizados sob licenças que permitam a liberdade de uso, sem restrições adicionais além da atribuição e do compartilhamento pelas mesmas condições.

Gabarito: Errada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4.

(ANAC - Analista de Sistemas - CESPE – 2024) A respeito de dado, informação, conhecimento e inteligência, julgue os itens a seguir.

O conjunto de dados contido em uma página web em HTML é considerado dado não estruturado.

A

O item está correto.

O conjunto de dados contido em uma página da web em HTML é geralmente considerado como dados não estruturados.

Isso ocorre porque os dados em HTML não estão organizados em um formato que permita uma fácil interpretação ou análise por máquinas sem algum tipo de processamento adicional.

Os dados em HTML podem conter texto, imagens, links e outros elementos, mas não estão em um formato tabular ou estruturado que possa ser facilmente manipulado por computadores sem técnicas de extração e processamento específicas.

Portanto, o termo “dado não estruturado” é apropriado para descrever os dados contidos em uma página da web em HTML.

Gabarito: Certa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5.

CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza/Ciência da Computação, Informática, Processamento de Dados/2023 Julgue o item a seguir, a respeito de arquitetura de dados, metadados e linguagens de bancos de dados.

Para garantir o princípio da segurança de dados, que é um dos princípios da arquitetura de dados, o sistema deve ser rígido e ter suas regras de utilização e acesso fixadas e rigorosamente seguidas, sem espaço para alterações.

A

O item está incorreto! O item menciona que, para garantir o princípio da segurança de dados na arquitetura de dados, o sistema deve ser rígido e ter suas regras de utilização e acesso fixadas e rigorosamente seguidas, sem espaço para alterações.

Vamos analisar isso: A afirmação parece sugerir uma abordagem bastante restritiva e inflexível em relação às regras de utilização e acesso aos dados, alegando que não há espaço para alterações.

No entanto, essa abordagem pode não ser totalmente realista ou desejável na prática.

Em muitos sistemas de informações e bancos de dados, a necessidade de flexibilidade é reconhecida, especialmente considerando as mudanças nas necessidades do negócio ao longo do tempo.

As regras de segurança podem precisar ser ajustadas para acomodar novos requisitos ou para lidar com situações específicas.

Além disso, o gerenciamento eficaz de metadados, que descrevem as características e propriedades dos dados, é uma parte crucial da arquitetura de dados.

Os metadados podem incluir informações sobre as políticas de segurança, restrições de acesso e outros aspectos relevantes para garantir a integridade e a segurança dos dados.

Portanto, enquanto a segurança de dados é essencial, uma abordagem que permita a flexibilidade para ajustar as regras de acesso e utilização, conforme necessário, pode ser mais realista e prática em muitos contextos.

O importante é encontrar um equilíbrio entre a segurança necessária e a flexibilidade para adaptar-se às mudanças nas condições e requisitos do ambiente de negócios.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. CEBRASPE (CESPE) - Ana TI (FUB)/FUB/2023
    A respeito de dados e informações, julgue o item que se segue.

A recuperação e o armazenamento de dados não estruturados são fáceis, porém esses dados não podem ser organizados em linhas e colunas de um banco de dados.

A

O item está incorreto.

A recuperação e o armazenamento de dados não estruturados possam ser desafiadores (e não fácil), é possível organizá-los em um banco de dados, mas de uma maneira diferente da tradicional organização em linhas e colunas.

Dados não estruturados podem incluir informações como documentos de texto, imagens, vídeos e áudio, que não se encaixam perfeitamente em uma estrutura tabular convencional.

No entanto, técnicas modernas de gerenciamento de dados, como bancos de dados NoSQL, são projetadas para lidar com dados não estruturados de forma eficiente, permitindo a organização e recuperação dessas informações de maneira mais flexível.

Portanto, é possível armazenar e organizar dados não estruturados em bancos de dados, embora a abordagem seja diferente da utilizada para dados estruturados.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. FGV – Auditor de Controle Externo – Tecnologia da Informação (TCE-TO)/2022 Dados abertos são dados publicados na internet, em formatos como csv e xml, para que qualquer pessoa possa acessar, modificar, analisar e compartilhar.

Os dados devem ser publicados na forma coletada da fonte, com a mais fina granularidade possível, e não de forma agregada ou transformada, para atender ao princípio de dados abertos:

a) primários;
b) acessíveis;
c) completos;
d) processáveis por máquina;
e) acesso não discriminatório.

A

Vamos comentar cada uma das alternativas para entender qual delas corresponde ao princípio de dados abertos descrito na questão:

a) primários: Dados primários são os dados brutos ou não processados que são coletados diretamente da fonte original.

Eles não passaram por nenhum tipo de agregação ou transformação.

Essa definição está alinhada com o princípio de dados abertos mencionado na questão, onde os dados devem ser publicados na forma coletada da fonte, com a mais fina granularidade possível.

Portanto, essa alternativa é a resposta da questão.

(b) acessíveis: Acessibilidade é um dos princípios fundamentais dos dados abertos, mas não é o princípio específico mencionado na questão.

(c) completos: Embora a completude dos dados seja importante para garantir que todas as informações relevantes estejam disponíveis, esse princípio não se relaciona diretamente com a publicação dos dados na forma coletada da fonte, que é o foco da questão.

(d) processáveis por máquina: Dados abertos devem ser publicados em formatos que permitam o processamento por máquina, como CSV (Comma-Separated Values) ou XML (Extensible Markup Language).

Esse princípio é importante para que os dados possam ser facilmente analisados e utilizados por sistemas automatizados.

(e) acesso não discriminatório: Esse princípio está relacionado à garantia de que os dados sejam disponibilizados de forma igualitária para qualquer pessoa ou grupo, sem discriminação.

Sendo assim, temos a nossa resposta na alternativa A.

Gabarito: Letra A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

8.

FGV - 2022 - Analista Judiciário (TJDFT)/Apoio Especializado/Arquivologia Na gestão de conhecimentos existe a preocupação de garantir que conhecimentos únicos, frutos de experiências reais e de grande importância para a empresa, não se percam e sejam úteis para a equipe.

Os conhecimentos podem se dividir em categorias, e existem padrões de criação que formam uma espiral do conhecimento contínua.

Uma experiência profissional passada por meio de treinamentos ou instruções práticas, com compartilhamento de experiências, é um exemplo de troca de conhecimento:
a) codificado para implícito;
b) explícito para explícito;
c) explícito para tácito;
d) tácito para explícito;
e) tácito para tácito.

A

Socialização (de tácito para tácito): é o processo pelo qual experiências são compartilhadas e, a partir delas, conhecimentos tácitos ou modelos mentais e habilidades técnicas são criados.

É o caso do treinamento no local de trabalho (“Uma experiência profissional passada por meio de treinamentos ou instruções práticas…”), sessões informais, interações com clientes.

Na tradição ocidental, este conceito se aproxima ao da cultura organizacional.

Logo, nossa resposta encontra-se na alternativa E.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. FGV - 2022 - Analista de Gestão Corporativa (EPE)/Recursos Humanos A multinacional de carros elétricos Xcars desenvolveu um novo modelo de carro, X2, com maior autonomia e eficiência, que foi lançado para venda no início de 2021.

Com o agravamento da pandemia da Covid 19, no entanto, as vendas ficaram aquém do esperado, fazendo com que a Xcars interrompesse a produção e as vendas do X2, temporariamente.

No último trimestre do ano, a empresa decidiu dar continuidade ao empreendimento, mas obrigando-se, posteriormente, a avaliar o resultado das vendas.

Considere que, para fins de análise, o CEO da Xcars solicitou ao Diretor Financeiro uma exposição analítica sobre os relatórios de vendas globais do modelo X2.

Com base no conceito de espiral de conhecimento, é correto afirmar que o Diretor Financeiro irá realizar o processo de

a) socialização, no qual o conhecimento tácito é convertido em outro tipo de conhecimento tácito.

b) externalização, no qual o conhecimento tácito é convertido em conhecimento explícito.

c) combinação, no qual o conhecimento explícito é convertido em outro tipo de conhecimento explícito.

d) internalização, no qual o conhecimento explícito é transformado em conhecimento tácito.

e) sistematização, no qual o conhecimento tácito é transformado em conhecimento explícito.

A

Combinação ocorre quando transformamos conhecimento explícito em outro conhecimento explícito.

Desta forma, ao mudarmos o contexto, recategorizarmos ou aumentarmos um conhecimento explícito, estamos, de certa forma, transformando este conhecimento.

Por exemplo, de certa maneira estou fazendo isso agora, pois me utilizo de diversos textos de outros autores para “montar” uma aula voltada para um concurso específico, não é verdade? Da mesma forma, quando vocês fazem um resumo de um livro, ou um mapa mental, também estão se utilizando deste processo de combinação.

Assim sendo, a combinação é um processo que transforma conhecimento explícito em outro conhecimento explícito.

Logo, a resposta para a questão encontra-se na alternativa C

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. FGV - 2022 - Analista Legislativo (SEN)/Administração

Sobre a criação e a gestão do conhecimento, dois tipos de conhecimento precisam ser combinados: o conhecimento tácito, fortemente relacionado à experiência, ao contexto, que é difícil de ser transmitido de maneira formal porque está ligado, principalmente, à prática, e o conhecimento explícito, ou codificado, passível de sistematização e transmissão por mecanismos formais, ligado aos conceitos e à teoria.

A interação entre estas duas formas de conhecimento é a chave da criação do conhecimento nas organizações e esta interação se dá pelos modos de conversão do conhecimento, os quais precisam ser compreendidos e geridos pela organização para o sucesso da gestão do conhecimento.

Associe os modos de conversão do conhecimento às respectivas caracterizações.

  1. Socialização
  2. Externalização
  3. Combinação
  4. Internalização

( ) Envolve a sistematização de conhecimentos explícitos.

( ) Envolve a transformação de conhecimento explícito em conhecimento tácito.

( ) Envolve a transformação de conhecimentos tácitos em conhecimento explícito, como na criação de conceitos.

( ) Envolve o compartilhamento de experiências que leva à criação de conhecimento tácito.

Assinale a opção que indica a relação correta, segundo a ordem apresentada.

a) 3, 4, 2 e 1.

b) 2, 4, 3 e 1.

c) 1, 2, 4 e 3.

d) 1, 3, 4 e 2.

e) 2, 1, 3 e 4.

A

Vamos analisar cada um dos itens:

(3. Combinação) Envolve a sistematização de conhecimentos explícitos.

Combinar é de explícito para explícito! (Lembrem-se que além da “internalização” e “externalização”, que são mais fáceis de gravar, temos a socialização – já sugere ser algo tácito/subjetivo, logo, “sobra” a combinação).

(4. Internalização) Envolve a transformação de conhecimento explícito em conhecimento tácito.

Internalizar é justamente isso: incorporar um conhecimento “externo” (explícito) em tácito.

(2. Externalização) Envolve a transformação de conhecimentos tácitos em conhecimento explícito, como na criação de conceitos.

Já externalizar é transformar algo que já está internalizado (tácito) em algo explícito.

(1. Socialização) Envolve o compartilhamento de experiências que leva à criação de conhecimento tácito.

A socialização envolve conhecimentos tácitos.

Assim, temos a nossa resposta na alternativas A.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. FGV - 2022 - Analista Legislativo (SEN)/Arquivologia O conjunto de processos, práticas e procedimentos que visam a identificar, registrar e gerenciar a sabedoria das pessoas de forma a garantir seu uso, sua difusão e sua aplicação no âmbito institucional é denomina a gestão

a) de documentos.

b) da informação.

c) de dados.

d) da cultura.

e) do conhecimento.

A

A gestão do conhecimento (GC) é uma abordagem organizacional que se concentra na captura, armazenamento, compartilhamento e aplicação eficaz do conhecimento dentro de uma organização.

Ela visa maximizar o valor do conhecimento que uma organização possui, permitindo que ela aprenda, inove e tome decisões melhores.

Aqui estão alguns aspectos-chave da gestão do conhecimento:

  1. Captura de Conhecimento: Isso envolve a identificação e documentação de conhecimento crítico dentro da organização.

Isso pode incluir o conhecimento tácito (experiências, intuições) e o conhecimento explícito (documentos, dados) dos funcionários.

  1. Armazenamento e Organização: Uma vez capturado, o conhecimento precisa ser armazenado de forma acessível e organizada.

Isso pode ser feito por meio de sistemas de gerenciamento de documentos, bancos de dados, intranets e outras ferramentas de tecnologia da informação.

  1. Compartilhamento: O conhecimento não é valioso se não for compartilhado.

A GC promove a criação de uma cultura de compartilhamento, onde os funcionários se sintam incentivados e capacitados a compartilhar seus conhecimentos com os colegas.

  1. Acesso e Recuperação: É importante que os funcionários possam acessar facilmente o conhecimento de que precisam quando precisam.

Isso pode envolver a criação de sistemas de pesquisa eficazes e a indexação adequada de documentos.

  1. Transferência de Conhecimento: À medida que os funcionários entram e saem da organização, é essencial garantir que o conhecimento não seja perdido.

Isso pode envolver programas de treinamento, mentoria e a criação de bases de conhecimento.

  1. Criação de Valor: A GC não se trata apenas de coletar informações, mas de usar esse conhecimento para criar valor.

Isso pode envolver a aplicação de conhecimento para resolver problemas, tomar decisões estratégicas ou inovar.

  1. Ciclo de Melhoria: A gestão do conhecimento é um processo contínuo de melhoria.

As organizações devem revisar e atualizar regularmente suas práticas de GC para garantir que elas estejam alinhadas com os objetivos e necessidades em evolução.

  1. Tecnologia da Informação: A tecnologia desempenha um papel fundamental na GC, fornecendo ferramentas para armazenar, compartilhar e acessar conhecimento.

Isso inclui sistemas de gerenciamento de documentos, colaboração online, análise de dados e muito mais.

  1. Cultura Organizacional: A cultura de uma organização desempenha um papel crítico na gestão do conhecimento.

Uma cultura que valoriza o aprendizado, o compartilhamento e a inovação é essencial para o sucesso da GC.

  1. Medição e Avaliação: Para avaliar a eficácia da GC, as organizações precisam definir métricas e indicadores de desempenho.

Isso pode incluir a análise da taxa de adoção de práticas de GC, a melhoria na resolução de problemas ou a aceleração da inovação.

Em resumo, a gestão do conhecimento é uma disciplina que visa transformar o conhecimento em um ativo estratégico para uma organização.

Ela ajuda as empresas a se adaptarem mais rapidamente às mudanças, a tomar decisões mais informadas e a criar uma cultura de aprendizado contínuo.

Assim, temos a nossa resposta na alternativa E.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. FGV - 2022 - Técnico Judiciário (TRT 13ª Região)/Administrativa/”Sem Especialidade” Suponha que um escritório de advocacia faça um mapeamento das competências de seus funcionários e verifique que existe uma carência de profissionais com instrução sobre as doutrinas do direito.

Se o escritório decidir contratar novos profissionais considerando o resultado do mapeamento, deve priorizar a competência denominada

a) habilidade.

b) conhecimento.

c) atitude.

d) técnica.

e) aptidão.

A

A pergunta avalia o conhecido tripé do conhecimento: CHA, que se refere a Conhecimento, Habilidades e Atitudes.

Conhecimento - Essencialmente, conhecimento envolve a proficiência em uma área específica ou assunto. É o que uma pessoa aprende ao longo de sua vida, seja por meio de leitura, cursos, treinamentos ou educação formal. É o saber acumulado. No contexto da questão, o enunciado se refere a doutrinas legais, ou seja, o conhecimento adquirido por meio de livros e educação formal, por isso é a resposta correta. (O que nos leva a resposta na alternativa B.)

Habilidades - Habilidades são a aplicação prática do que se sabe, ou seja, o uso do conhecimento. É a capacidade de fazer algo. No contexto empresarial, refere-se a um profissional que é especialista em uma área e, portanto, desempenha bem sua função. Com o tempo, espera-se que essas habilidades se aprimorem.

Atitudes - Neste contexto, atitude significa tomar a iniciativa ou antecipar problemas e, em seguida, agir para resolvê-los. É sobre fazer ou querer fazer algo. Portanto, o conhecimento, habilidades e atitudes precisam sempre estar interligados. Um profissional só é verdadeiramente competente quando possui um bom conhecimento, pode aplicá-lo para obter resultados e tem a iniciativa de concretizar esses resultados.

Para contextualizar, as outras opções não são apropriadas:

d) Técnica: refere-se a um conjunto de procedimentos relacionados à realização de uma atividade.

e) Aptidão: significa uma disposição inata ou adquirida para algo específico.

Gabarito: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. FGV - 2019 - Técnico Superior Especializado (DPE RJ)/Administração de Empresas

Uma organização iniciou seu processo de gestão do conhecimento. As primeiras ações estruturadas consistiram na atualização dos manuais de apoio ao atendimento aos clientes, de acordo com a legislação vigente; e na gravação de vídeos pelos funcionários mais experientes, relatando suas experiências, dando “dicas” sobre atendimento aos clientes, como material de um treinamento a distância a ser futuramente ministrado aos novos funcionários.

Essas iniciativas representaram, respectivamente, processos de conversão do conhecimento conhecidos como:

a) externalização; socialização;
b) externalização; internalização;
c) combinação; externalização;
d) combinação; internalização;
e) socialização; externalização.

A

Ao revisar os manuais para garantir que estejam alinhados com a legislação atual, a empresa está transformando conhecimento que estava claramente documentado em mais conhecimento claramente documentado, o que representa um processo de combinação.

Agora, quando a empresa transforma o conhecimento que reside nas mentes dos funcionários mais experientes (ou seja, o conhecimento que estava dentro deles) em informações que podem ser acessadas por outros externamente, estamos falando do processo de externalização.

Logo, temos a nossa resposta na alternativa C.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. FGV - 2022 - Auditor Federal de Finanças e Controle (CGU)/Auditoria e Fiscalização/Geral (e mais 3 concursos)
    Em tema de direito de acesso à informação, publicidade, transparência, accountability e controle social e democrático da Administração Pública, a Presidência da República editou o Decreto nº 8.777/2016, que institui a Política de Dados Abertos do Poder Executivo Federal.

De acordo com o mencionado decreto, a gestão da Política de Dados Abertos do Poder Executivo Federal será coordenada pela:

a) Controladoria-Geral da União, por meio da Infraestrutura Nacional de Dados Abertos, que contará com mecanismo de governança multiparticipativa, transparente, colaborativa e democrática, com caráter gerencial e normativo, na forma de regulamento;

b) Presidência da República, por meio da Controladoria-Geral da União, que executará o Plano de Dados Abertos, de forma centralizada no âmbito da CGU, o qual deverá dispor sobre a criação e a manutenção de inventários e catálogos corporativos de dados;

c) Controladoria-Geral da União, com auxílio da Agência Brasileira de Inteligência, que promoverá a descrição das bases de dados, com informação suficiente para a compreensão de eventuais ressalvas quanto à sua qualidade e integridade;

d) Controladoria-Geral da União, com a colaboração do Tribunal de Contas da União, que promoverá a atualização periódica dos dados estruturados, de forma a garantir a perenidade dos dados, a padronização de estruturas de informação e o valor dos dados à sociedade e atender às necessidades de seus usuários;

e) Presidência da República, por meio da Agência Brasileira de Inteligência, que executará o Plano de Dados Abertos, o qual deverá dispor sobre mecanismos transparentes de priorização na abertura de bases de dados, que considerarão o potencial de utilização e reutilização dos dados tanto pelo governo quanto pela sociedade civil.

A

De acordo com o Decreto nº 8.777/2016, que institui a Política de Dados Abertos do Poder Executivo Federal, a gestão dessa política será coordenada pela seguinte entidade:

A Controladoria-Geral da União, por meio da Infraestrutura Nacional de Dados Abertos, que contará com mecanismo de governança multiparticipativa, transparente, colaborativa e democrática, com caráter gerencial e normativo, na forma de regulamento;

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

15.

FGV - 2022 - Analista de Tecnologia da Informação da Fazenda Estadual (Sefaz AM) Com relação às características de dados semiestruturados, analise as afirmativas a seguir.

I. Os esquemas de dados semiestruturados são usualmente definidos após a existência dos dados, tendo como base uma investigação de suas estruturas particulares e da análise de diferenças e similaridades.

No entanto, isto não significa que sempre existirá um esquema associado a um dado semiestruturado.

II. Devido à natureza evolucionária e regular dos dados semiestruturados, as estruturas de representação implícitas ou explícitas restringem-se a descrever o estado corrente de poucas ocorrências de dados similares.

Dessa forma, é possível prescrever esquemas completos existindo poucas restrições de integridade com relação à semântica dos atributos.

III. Como a estrutura está embutida na descrição dos dados, muitas vezes não é clara a distinção lógica entre a estrutura e o conteúdo.

Por exemplo, um endereço representado como um valor atômico em uma ocorrência de dado ou como um tipo pré-definido pelo usuário (com atributos rua, número e complemento) em outra ocorrência.

Esta característica dificulta o projeto de banco de dados relacional para tais dados.

Está correto o que se afirma em

a) I, apenas.

b) II, apenas.

c) III, apenas.

d) I e II, apenas.

e) I e III, apenas.

A

Vamos comentar cada uma das altenativas:

I. De fato, está correto.

Os esquemas semiestruturados não existem sempre, conforme explicado na teoria anterior.

É necessário um esforço adicional para criar um esquema estruturado para eles.

Através de um processo adequado, podemos eventualmente armazená-los em um banco de dados relacional.

II. No entanto, a afirmação anterior estava incorreta.

Não é possível prescrever esquemas completos para dados semiestruturados, pois sua estrutura não segue um padrão rígido.

III. A afirmação correta.

Isso está alinhado com o desafio de armazenar dados semiestruturados em um banco de dados relacional.

Muitas vezes, não é possível fazer essa associação de forma direta, e é necessário realizar algum processamento para lidar com a falta de clareza na distinção lógica entre eles.

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

16.

FGV - 2022 - Auditor de Finanças e Controle do Tesouro Estadual (Sefaz AM) (e mais 3 concursos)

Com relação às características de dados abertos, analise as afirmativas a seguir.

I. Reuso e redistribuição: os dados precisam estar disponíveis integralmente, devendo estar em um formato conveniente e modificável e sob custo não maior que um custo razoável de reprodução.

II. Disponibilidade e acesso: os dados precisam ser fornecidos em condições de reuso e redistribuição, podendo ser recombinados com outros dados.

III. Participação universal: todos os usuários podem usar, reusar e redistribuir o dado sem restrições de áreas de atuação, pessoas ou grupos.

Está correto o que se afirma em

a) I, apenas.

b) II, apenas.

c) III, apenas.

d) I e II, apenas.

e) II e III, apenas.

A

A questão aborda as características dos dados abertos, os quais são definidos como informações que estão disponíveis para qualquer pessoa, podendo ser livremente acessados, utilizados, modificados e compartilhados para qualquer finalidade, com no máximo algumas restrições destinadas a preservar a proveniência e a abertura dos dados.

A atual relevância da Política de Dados Abertos se dá em razão dos esforços governamentais para aumentar a transparência em suas atividades, políticas e programas.

No âmbito federal, inclusive, existe um registro de uma Política de Dados Abertos.

Vejamos as afirmações relacionadas às características dos dados abertos:

I. Incorreta.

Essa afirmação está relacionada à disponibilidade e ao acesso aos dados, mas não aborda as características essenciais dos dados abertos, como a possibilidade de reuso e redistribuição.

II. Incorreta.

Esta afirmação diz respeito à reutilização e redistribuição dos dados, não à disponibilidade ou ao acesso.

III. Correta.

A participação universal é uma característica fundamental dos dados abertos, permitindo que qualquer pessoa, independentemente de seu campo de atuação, individualidade ou grupo, possa usar, reutilizar e redistribuir os dados.

Restrições, como a proibição de uso comercial ou limitações de uso para fins específicos, não são permitidas em dados abertos.

Portanto, a única afirmação correta é a III, que está relacionada à participação universal como uma característica importante dos dados abertos.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  1. FGV - 2022 - Auditor de Controle Externo (TCE TO)/Tecnologia da Informação Dados abertos são dados publicados na internet, em formatos como csv e xml, para que qualquer pessoa possa acessar, modificar, analisar e compartilhar.

Os dados devem ser publicados na forma coletada da fonte, com a mais fina granularidade possível, e não de forma agregada ou transformada, para atender ao princípio de dados abertos:

a) primários;
b) acessíveis;
c) completos;
d) processáveis por máquina;
e) acesso não discriminatório.

A

Conforme a Open Knowledge Foundation, os dados são considerados abertos quando qualquer pessoa tem a possibilidade de acessá-los, modificá-los e compartilhá-los livremente para qualquer finalidade.

Essa característica é viabilizada por meio da publicação dos dados em formato aberto e sob licença aberta.

O grupo de trabalho Open Government Data estabeleceu princípios fundamentais relacionados aos Dados Abertos Governamentais.

Conforme o consenso do grupo, foram definidos oito princípios dos dados abertos:

  1. Completos: Todos os dados públicos estão disponíveis.

Dados públicos referem-se a informações não sujeitas a restrições válidas de privacidade, segurança ou controle de acesso.

  1. Primários: Os dados são apresentados na forma original em que foram coletados, com o mais alto nível possível de detalhamento, sem agregação ou alteração.
  2. Atuais: Os dados são disponibilizados o mais rapidamente possível para preservar sua relevância e utilidade.
  3. Acessíveis: Os dados são disponibilizados para um amplo público de usuários e para uma ampla variedade de propósitos.
  4. Processáveis por máquina: Os dados são estruturados de maneira razoável para permitir o processamento automatizado.
  5. Acesso não discriminatório: Os dados estão disponíveis para todos, sem a necessidade de identificação ou registro.
  6. Formatos não proprietários: Os dados são apresentados em formatos que não são controlados exclusivamente por uma entidade.
  7. Livres de licenças: Os dados não são protegidos por direitos autorais, marcas, patentes ou segredos industriais.

Restrições razoáveis relacionadas à privacidade, segurança e controle de acesso podem ser permitidas de acordo com as regulamentações.

Esses princípios servem como diretrizes para garantir a abertura e a acessibilidade de dados governamentais, promovendo maior transparência e participação pública.

Gabarito: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. Ano: 2023 Banca: CESPE / CEBRASPE Órgão: MPE-RO Prova: CESPE / CEBRASPE - 2023 - MPE-RO - Analista de Redes e Comunicação de Dados

Em desenvolvimento de sistema de computação, os dados que oferecem a opção de serem utilizados livremente, reutilizados e redistribuídos são chamados de

a) dados móveis.

b) inteligência.

c) conhecimento.

d) dados estruturados.

e) dados abertos.

A

Em desenvolvimento de sistema de computação, os dados que oferecem a opção de serem utilizados livremente, reutilizados e redistribuídos são chamados de E) dados abertos.

Dados abertos são aqueles que estão disponíveis para o público em geral, sem restrições significativas, de modo que podem ser livremente utilizados, reutilizados e redistribuídos por qualquer pessoa, promovendo a transparência e a inovação.

Gabarito: E.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Ano: 2023 Banca: CESPE / CEBRASPE Órgão: FUB Prova: CESPE / CEBRASPE - 2023 - FUB - Analista de Tecnologia da Informação A respeito de dados e informações, julgue o item que se segue.

Quando ocorre o tratamento de um ou mais dados, é gerada a informação, a qual constitui conhecimento quando aplicada em determinado contexto.

A

O item apresentado está correto.

A transformação de dados em informações ocorre quando os dados são processados e interpretados, atribuindo-lhes significado.

Quando essas informações são aplicadas e contextualizadas em um cenário específico, elas se tornam conhecimento.

Portanto, a sequência geralmente é a seguinte:

  1. Dados: São fatos brutos e desorganizados, como números, palavras, símbolos, etc.
  2. Informações: São dados que foram processados e organizados de forma a terem significado.

Neste estágio, os dados são interpretados e contextualizados.

  1. Conhecimento: É o resultado da aplicação das informações em um contexto relevante.

Envolve compreensão, reflexão e uso das informações para tomar decisões ou resolver problemas em um domínio específico.

Portanto, a afirmação de que o tratamento de dados gera informações, que por sua vez se tornam conhecimento quando aplicadas em um contexto, está correta.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  1. Ano: 2023 Banca: CESPE / CEBRASPE Órgão: SEPLAN-RR Prova: CESPE / CEBRASPE - 2023 - SEPLAN-RR - Analista de Planejamento e Orçamento - Especialidade: Tecnologia da Informação

Com base nos conceitos de dados estruturados e não estruturados, de análise exploratória de dados e de dados abertos, julgue o item seguinte.

Dados de redes sociais são exemplos de dados não estruturados.

A

Dados estruturados são informações organizadas de acordo com um formato predefinido e consistente, tipicamente encontradas em tabelas de bancos de dados ou planilhas.

Um exemplo claro de dados estruturados é uma tabela de banco de dados que contém os nomes dos clientes dispostos em ordem alfabética e os números de cartões de crédito organizados de forma coerente.

Em contrapartida, dados não estruturados representam informações que não seguem um formato predefinido e uniforme, sendo comuns em elementos como postagens de mídia social, conversas, imagens e e-mails.

Logo, a nossa afirmação está correta.

Por fim, os dados semiestruturados são uma mescla de ambos os tipos, apresentando alguma forma de estrutura, embora menos rigorosa do que a dos dados estruturados.

Um exemplo típico de dados semiestruturados é um arquivo XML que contém informações organizadas em tags específicas, proporcionando uma certa organização, mas com flexibilidade para acomodar variáveis e formatos diversos.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  1. CEBRASPE (CESPE) - 2022 - Analista da Defensoria Pública (DPE RO)/Redes e Comunicação de Dados Em uma situação hipotética, o fato de pessoas atuarem de forma diferenciada para resolver um mesmo problema é explicado pelo conceito de

a) informação.

b) comportamento.

c) dado.

d) conhecimento.

e) inteligência.

A

Observando a imagem da nossa aula, podemos observar que as pessoas agem de forma diferentes por conta das suas experiências, isso está intrinsicamente relacionado a inteligência de cada um.

Assim, o conceito que explica o fato de pessoas atuarem de forma diferenciada para resolver um mesmo problema é a inteligência.

A inteligência envolve a capacidade de raciocinar, aprender, adaptar-se e tomar decisões com base em informações e conhecimento disponíveis, o que pode resultar em abordagens diferentes para resolver um problema comum

Gabarito: E

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q
  1. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: MC Prova: CESPE / CEBRASPE - 2022 - MC - Técnico em Complexidade Gerencial - Cargo 1

No que diz respeito aos dados estruturados e não estruturados, aos bancos de dados relacionais, ao modelo de referência CRISP-DM e à modelagem preditiva, julgue o item seguinte.

A principal característica dos dados não estruturados é que eles não possuem metadados.

A

O item apresentado está incorreto.

A principal característica dos dados não estruturados não está relacionada à falta de metadados, mas sim ao fato de que eles não seguem um formato predefinido e uniforme.

Dados não estruturados podem incluir informações como texto livre, imagens, áudio e vídeo, e eles podem conter metadados, embora esses metadados possam ser menos estruturados do que os encontrados em dados estruturados.

Metadados são informações adicionais que descrevem os dados, incluindo detalhes sobre sua origem, formato, contexto e outros atributos que ajudam na interpretação e uso dos dados.

Eles podem estar presentes em diferentes tipos de dados, sejam estruturados ou não estruturados, para fornecer informações sobre esses dados.

Portanto, a falta de estrutura predefinida é a característica principal dos dados não estruturados, não a ausência de metadados.

Gabarito: Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q
  1. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TCE-RJ Prova: CESPE / CEBRASPE - 2022 - TCE-RJ - Analista de Controle Externo Julgue o item a seguir, referente à informação e a dados, estruturados e não estruturados.

A informação normalmente envolve a participação humana na sua estruturação e na busca do seu significado, enquanto os dados são mais facilmente obtidos e quantificados por máquinas.

A

O tema aborda a teoria da informação, especialmente focalizando as distinções entre dados e informações.

Os dados representam fatos brutos que ainda não foram contextualizados ou dotados de significado, tornando-os mais próximos das máquinas.

Em uma tabela, podemos encontrar uma série de palavras ou números isolados que, por si só, carecem de significado.

No entanto, quando são interpretados ou processados por seres humanos, adquirem relevância e sentido.

Um exemplo ilustrativo poderia ser o registro das alturas de atletas em uma planilha.

Quando essas medidas são apresentadas isoladamente, não transmitem informação substancial.

No entanto, quando submetidas à análise humana, esses dados ganham significado e permitem que determinemos, por exemplo, se uma pessoa é alta ou baixa.

Esta transformação de dados em informações ocorre quando são contextualizados e interpretados, demonstrando a importância da intervenção humana na criação de significado a partir de dados brutos.

Gabarito: Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q
  1. CEBRASPE (CESPE) - 2022 - Agente de Investigação (PC PB) Na teoria da informação, os insumos para a tomada de decisão na organização são apresentados na fase de

a) geração da informação.

b) tomada de decisão.

c) provisão de conhecimento.

d) acompanhamento de resultados.

e) aquisição de dados.

A

O gabarito da questão, que é a letra C (“provisão de conhecimento”), está relacionado a aspectos teóricos da teoria da informação e do processo de tomada de decisão nas organizações.

Vamos analisar essa resposta à luz desses conceitos: Geração da informação: Essa fase se refere à coleta e processamento de dados para criar informações.

No entanto, a informação por si só não é suficiente para a tomada de decisão, pois ela precisa ser interpretada e contextualizada.

Tomada de decisão: A tomada de decisão é uma fase crítica em qualquer organização, mas os insumos para essa tomada de decisão não são diretamente gerados nessa fase.

A tomada de decisão utiliza informações e conhecimento já disponíveis.

Provisão de conhecimento: O conhecimento é um elemento-chave para a tomada de decisão informada.

Ele resulta da análise e interpretação das informações disponíveis, da experiência acumulada e do contexto organizacional.

Portanto, a “provisão de conhecimento” é a fase em que se disponibiliza o conhecimento necessário para embasar as decisões.

Acompanhamento de resultados: Essa fase ocorre após a tomada de decisão e envolve a monitorização e avaliação dos resultados das ações tomadas.

Embora seja importante, não se refere diretamente aos insumos para a tomada de decisão.

Aquisição de dados: A aquisição de dados é o processo de coleta de informações brutos, que é uma etapa anterior à geração da informação.

Dados não processados não são, por si só, insumos para a tomada de decisão.

Portanto, a resposta correta é de fato a letra C (“provisão de conhecimento”), pois o conhecimento é o insumo crucial para a tomada de decisão nas organizações, uma vez que é o resultado da interpretação, análise e contextualização das informações disponíveis.

A tomada de decisão informada depende fortemente do conhecimento acumulado e aplicado pelos membros da organização.

Gabarito: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
25. CEBRASPE (CESPE) - 2022 - Auditor do Estado (SECONT ES)/Tecnologia da Informação Com relação a dado, informação e conhecimento, julgue o item subsecutivo. Os termos CÉU e AZUL, quando utilizados separadamente, representam dados, enquanto a expressão CÉU É AZUL representa uma informação.
A questão avalia o entendimento da teoria da informação. Ela começa com a menor unidade, que é o dado, representando um elemento crú e sem contexto. Em seguida, avançamos para a informação, que confere algum significado ao dado bruto. Isso fica evidente em nosso caso, onde "CEU" e "AZUL" isoladamente são meros elementos brutos. No entanto, quando combinados na frase "CÉU e AZUL," adquirem significado e se tornam informação. Posteriormente, essa frase pode evoluir para gerar conhecimento e, finalmente, inteligência. Gabarito: Certo
26
26. CEBRASPE (CESPE) - 2022 - Auditor do Estado (SECONT ES)/Tecnologia da Informação Com relação a dado, informação e conhecimento, julgue o item subsecutivo. O conhecimento é obtido a partir de um conjunto de informações inseridas em um mesmo e específico contexto.
A compreensão e a síntese de informações que podem levar à formação de conhecimento, que pode ser aplicado em uma variedade de contextos. A descrição apresenta muito mais o conceito de informação do que o de conhecimento. Gabarito: Errado.
27
27. CEBRASPE (CESPE) - 2021 - Auditor de Tributos Municipais (Pref Aracaju)/Abrangência Geral (e mais 1 concurso) Em decorrência do princípio de primariedade dos dados abertos governamentais, tais dados devem ser a) publicados na forma coletada na fonte, com a mais fina granularidade possível, e não de forma agregada ou transformada. b) disponibilizados para o público mais amplo possível e para os propósitos mais variados possíveis. c) disponibilizados em um formato cujo controle não seja exclusivo de nenhum ente. d) disponibilizados o quão rapidamente seja necessário para preservar o seu valor. e) razoavelmente estruturados para possibilitar o seu processamento automatizado.
De acordo com o princípio de primariedade dos dados abertos governamentais: A publicados na forma coletada na fonte, com a mais fina granularidade possível, e não de forma agregada ou transformada. Isso significa que os dados devem ser disponibilizados na forma original em que foram coletados, sem agregação ou transformação significativa, para que o público tenha acesso à informação bruta e possa realizar suas próprias análises e interpretações. Esse princípio promove a transparência e a reutilização eficaz dos dados governamentais. Gabarito: A
28
28. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Ciências Contábeis (e mais 3 concursos) Com relação a dado, informação, conhecimento e inteligência, julgue o item que se segue. Dublin Core é um esquema de metadados que auxilia na descrição de objetos digitais por meio da definição de diversos elementos de metadados, entre os quais se incluem título, autor, assunto, formato e fonte.
O item apresentado descreve corretamente o conceito do Dublin Core. Dublin Core é, de fato, um esquema de metadados usado para auxiliar na descrição de objetos digitais, incluindo informações como título, autor, assunto, formato e fonte. Ele fornece um conjunto básico de elementos de metadados que são amplamente utilizados para catalogar e organizar informações em ambientes digitais. Portanto, o item está correto. Complementando ☺... O Dublin Core é um padrão internacional de metadados utilizado para descrever recursos digitais, como documentos, imagens, páginas da web e outros tipos de objetos digitais. Ele foi desenvolvido originalmente em 1995 por um grupo de bibliotecários e profissionais da informação que buscavam uma maneira simples e consistente de descrever recursos na então crescente Internet. O principal objetivo do Dublin Core é fornecer um conjunto básico e universal de elementos de metadados que podem ser usados em diferentes contextos e domínios, facilitando a busca, recuperação e organização de recursos digitais. Esses elementos de metadados são projetados para serem fáceis de entender e usar, tornando-os acessíveis a uma ampla variedade de usuários, independentemente de sua área de especialização. Os elementos de metadados do Dublin Core incluem informações como: 1. Título: O nome do recurso digital. 2. Autor: A pessoa ou entidade responsável pela criação do recurso. 3. Assunto: O tópico ou tema do recurso. 4. Descrição: Uma descrição textual do recurso. 5. Editor: A pessoa ou entidade responsável por editar ou publicar o recurso. 6. Data: A data de criação ou modificação do recurso. 7. Tipo: O tipo de recurso (por exemplo, texto, imagem, vídeo). 8. Formato: O formato do recurso (por exemplo, JPEG, PDF). 9. Fonte: A origem do recurso, como uma URL ou identificador. 10. Idioma: O idioma do recurso. 11. Relação: Relações com outros recursos. 12. Cobertura: A abrangência geográfica ou temporal do recurso. 13. Direitos: Informações sobre os direitos autorais ou restrições de uso do recurso. Esses elementos de metadados são definidos de forma simples e genérica, o que os torna amplamente aplicáveis em diferentes contextos, desde bibliotecas digitais e repositórios de documentos até catálogos online e motores de busca na web. O Dublin Core é uma ferramenta fundamental para a organização e acesso eficiente a recursos digitais na era da informação digital. Sua simplicidade e flexibilidade o tornaram amplamente adotado em todo o mundo, facilitando a interoperabilidade e a troca de informações entre diferentes sistemas e instituições. Gabarito: Certo
29
29. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TCE-SC Prova: CESPE / CEBRASPE - 2022 - TCE-SC - Auditor Fiscal de Controle Externo - Ciência da Computação Em relação a conceitos de informação e conhecimento e de banco de dados relacionais, julgue o item subsequente. O conhecimento serve para dar suporte ao processamento decisório; ele representa a informação tratada, confiável e íntegra.
O conhecimento surge quando a informação é utilizada, e ele se baseia na informação, que, por sua vez, se apoia nos dados. É o ato de compreender e assimilar as informações recebidas, potencialmente combinando-as para criar conhecimento adicional. Tanto os dados (quando transformados em informações) quanto as informações, o conhecimento e a inteligência são elementos que auxiliam na tomada de decisões. Logo, temos uma alternativa correta. Gabarito: Certo
30
30. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TCE-SC Prova: CESPE / CEBRASPE - 2022 - TCE-SC - Auditor Fiscal de Controle Externo - Ciência da Computação Em relação a conceitos de informação e conhecimento e de banco de dados relacionais, julgue o item subsequente. Informação pode ser definida como um conjunto de fatos diferentes relativos a uma transação e que é, geralmente, desprovida de significado; ela é considerada a matéria-prima dos sistemas de informação.
A afirmação apresentada está incorreta. A informação não é geralmente desprovida de significado; pelo contrário, a informação é conhecida por ser um conjunto de dados que foi processado e organizado de tal forma que possui significado e relevância. A informação resulta da interpretação e contexto dos dados. É o que os dados significam que os torna informações. Podemos falar que a descrição da questão aponta para o conceito de dados. Portanto, uma definição mais precisa seria que informação é um conjunto de dados que foram processados e organizados para ter significado e relevância. Ela não é desprovida de significado, mas sim o resultado do processamento dos dados para torná-los úteis e compreensíveis para tomadas de decisão ou para cumprir uma função específica nos sistemas de informação. Dessa forma, a afirmação apresentada está incorreta. Gabarito: Errado
31
31. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: TCE-SC Prova: CESPE / CEBRASPE - 2022 - TCE-SC - Auditor Fiscal de Controle Externo - Ciência da Computação Julgue o item subsecutivo, considerando conceitos de gestão do conhecimento. A gestão do conhecimento está relacionada à ação, à atitude e a uma intenção específica dos seres humanos.
A gestão do conhecimento trata do conjunto de atividades voltadas para a promoção do conhecimento organizacional, possibilitando que as organizações e seus colaboradores sempre utilizem as melhores informações, processos e conhecimentos disponíveis a fim de alcançar os objetivos organizacionais e maximizar a competitividade. Gabarito: Certo
32
32. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: Petrobras Prova: CESPE / CEBRASPE - 2022 - Petrobras - Analista de Sistemas – Processos de negócio Quanto a dados estruturados e não estruturados, julgue o item subsecutivo. Os dados não estruturados são utilizados por algoritmos de mineração e classificados em numéricos ou categóricos.
O item apresentado está incorreto. Dados não estruturados não são geralmente classificados em numéricos ou categóricos, nem são utilizados diretamente por algoritmos de mineração de dados de maneira tradicional. Gabarito: errado
33
33. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: DPE-RO Prova: CESPE / CEBRASPE - 2022 - DPE-RO - Analista da Defensoria Pública - Administração Assinale a opção que apresenta um princípio de dados abertos em que todos os dados públicos são disponibilizados, não se limitando a documentos, banco de dados, transcrições e gravações audiovisuais. Alternativas: a) completos b) acessíveis c) formatos não proprietários d) processáveis por máquina e) acesso não discriminatório
O princípio de dados abertos em que todos os dados públicos são disponibilizados, não se limitando a documentos, banco de dados, transcrições e gravações audiovisuais é: A) completos. Isso significa que todos os dados relevantes devem ser disponibilizados, independentemente do formato em que se encontram, garantindo a integralidade das informações disponíveis para o público. Mais uma vez, peço desculpas pelo erro anterior. Gabarito: A
34
34. CEBRASPE (CESPE) - 2022 - Escrivão de Polícia (PC PB) Em arquivos do tipo texto, os metadados que permitem armazenar informações por meio de estruturas como XML ou JSON são do tipo a) estruturados. b) semiestruturados. c) hierárquicos. d) categorizados. e) não estruturados.
Em arquivos do tipo texto, os metadados que permitem armazenar informações por meio de estruturas como XML ou JSON são do tipo: B) semiestruturados. Os metadados semiestruturados permitem que informações sejam armazenadas de forma organizada, mas não tão rígida quanto em dados estruturados, como em bancos de dados relacionais. XML e JSON são exemplos de formatos semiestruturados que podem ser usados para armazenar informações de maneira flexível e hierárquica. Gabarito: B
35
36. CEBRASPE (CESPE) - 2022 - Estatístico (FUB) Com respeito a dados abertos, julgue o seguinte item. Diz-se que os dados são abertos se qualquer pessoa tiver acesso a eles livremente, podendo utilizá-los, modificá-los e compartilhá-los sem necessidade de uma licença formal.
O item em questão apresenta uma imprecisão, que leva a alternativa a tornar-se incorreta, ao afirmar que não é necessária uma licença formal para dados abertos. Na realidade, até mesmo os dados que são considerados abertos requerem uma licença formal para estabelecer diretrizes e condições de uso, identificar a origem dos dados e definir outros aspectos importantes. A seguir, uma descrição mais precisa desse conceito: O que são dados abertos? De acordo com a definição da Open Knowledge Internacional, resumidamente, dados são considerados abertos quando qualquer pessoa tem o direito de acessá-los, usá-los, modificá-los e compartilhá-los para qualquer finalidade. No entanto, esses dados estão sujeitos, no máximo, a requisitos que visam preservar sua proveniência e sua natureza aberta. Normalmente, essa condição é atendida quando os dados são disponibilizados em formato aberto e sob uma licença formal de código aberto que estabelece as regras e diretrizes para o uso dos dados, garantindo transparência, reutilização e a devida atribuição à fonte original. Gabarito: Errado.
36
37. CEBRASPE (CESPE) - 2021 - Auditor de Finanças e Controle de Arrecadação da Fazenda Estadual (SEFAZ AL) (e mais 1 concurso) Acerca da análise de dados, julgue o item a seguir. A publicação e a catalogação de dados abertos demandam o uso de uma infraestrutura de software conhecida como ODP (open data platform), ou plataforma de dados abertos, que contém componentes e interfaces.
Plataforma de Dados Abertos, do inglês Open Data Platform (ODP), refere-se a uma infraestrutura de software que compreende alguns componentes e interfaces para a publicação de conjuntos de dados e para o fornecimento de metadados, catálogo, armazenamento, serviços de busca e descoberta para acessar e gerenciar dados abertos (OSAGIE et al., 2015) Gabarito: Certo
37
38. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Ciências Contábeis (e mais 3 concursos) Com relação a dado, informação, conhecimento e inteligência, julgue o item que se segue. A filosofia do uso de dados abertos orienta que os dados sejam reutilizados amplamente, no entanto não é permitida a combinação de um data set aberto com conjuntos de dados não abertos.
O item apresenta uma afirmação incorreta. A filosofia dos dados abertos incentiva a reutilização ampla de dados, mas não proíbe a combinação de um conjunto de dados aberto com conjuntos de dados não abertos. Na prática, muitos projetos de dados abertos envolvem a integração e análise de diversos tipos de dados, incluindo aqueles que podem não ser abertos. A filosofia dos dados abertos se concentra principalmente em tornar os dados acessíveis e utilizáveis por um público amplo, promovendo a transparência e a inovação. Não impõe restrições estritas sobre a combinação de dados abertos com outros tipos de dados. Portanto, a afirmação de que não é permitida a combinação de um data set aberto com conjuntos de dados não abertos não está correta. Gabarito: Errado
38
39. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Ciências Contábeis (e mais 3 concursos) Com relação a dado, informação, conhecimento e inteligência, julgue o item que se segue. O portal brasileiro de dados abertos (www.dados.gov.br) disponibiliza diversos conjuntos de dados em formatos PDF, CSV, HTML e JSON.
O item apresentado está correto. O portal brasileiro de dados abertos (www.dados.gov.br) é uma iniciativa do governo brasileiro que disponibiliza diversos conjuntos de dados em formatos variados, incluindo PDF, CSV, HTML e JSON, entre outros. Essa diversidade de formatos permite que os dados sejam acessíveis e utilizáveis por diferentes públicos e para diversas finalidades, promovendo a transparência e a reutilização dos dados de maneira eficaz. Portanto, a afirmação é precisa em relação aos formatos de dados disponibilizados pelo portal de dados abertos do Brasil. Gabarito: Certo
39
40. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Ciências Contábeis (e mais 3 concursos) Com relação a dado, informação, conhecimento e inteligência, julgue o item que se segue. Os metadados sintáticos, estruturais e semânticos descrevem, respectivamente, a sintaxe, a estrutura e o conteúdo dos dados.
Metadados são informações fundamentais que desempenham um papel crucial na organização, descrição e entendimento de objetos, sejam eles analógicos ou digitais, e podem se estender a componentes individuais de um objeto ou a uma coleção abrangente de objetos. Eles constituem um aspecto essencial da gestão da informação em ambientes digitais e físicos, fornecendo contextos valiosos para a identificação, busca, recuperação e uso adequado desses objetos. Metadados sintáticos são uma categoria que engloba informações relacionadas à estrutura e à formatação de documentos digitais. Eles descrevem as regras de sintaxe aplicadas a documentos em formatos específicos. Por exemplo, em um documento XML, os metadados sintáticos podem incluir informações sobre a DTD (Definição de Tipo de Documento) usada para validar a estrutura do documento, bem como a codificação de caracteres e outras convenções de formatação específicas do XML. Metadados estruturais, por outro lado, englobam detalhes técnicos e físicos sobre um objeto digital. Eles oferecem informações sobre o formato do arquivo, o tamanho da mídia, a resolução de uma imagem digital ou a qualidade de áudio de um arquivo de áudio. Por exemplo, em uma imagem digital, os metadados estruturais podem conter informações sobre a dimensão da imagem, o espaço de cores utilizado e o tipo de compressão aplicado. Já os metadados semânticos desempenham um papel crucial na compreensão do significado dos dados. Eles fornecem informações contextuais que podem incluir a semântica dos termos usados, relações entre conceitos e ontologias subjacentes. Por exemplo, em um conjunto de dados científicos, os metadados semânticos podem incluir informações sobre os padrões de nomenclatura, as unidades de medida usadas e as relações conceituais entre diferentes variáveis. Em resumo, os metadados são peças-chave na gestão da informação e na descrição de objetos, garantindo que esses objetos possam ser organizados, recuperados e compreendidos de maneira eficaz, seja qual for o ambiente em que são utilizados. Eles abrangem aspectos desde a estrutura e o formato até o contexto semântico, garantindo a utilidade e a interpretação adequada dos objetos analógicos ou digitais. Gabarito: Certo.
40
41. CEBRASPE (CESPE) - 2021 - Agente de Polícia Federal (e mais 2 concursos) No que se refere aos conceitos de dados estruturados e não estruturados, julgue o próximo item. Os dados estruturados diferenciam-se dos dados não estruturados pela rigidez em seu formato e pelo fato de poderem ser armazenados em campos de tabelas de um banco de dados relacional.
O item apresentado está correto. Os dados estruturados diferenciam-se dos dados não estruturados pela rigidez em seu formato e pela capacidade de serem armazenados em campos de tabelas de um banco de dados relacional. Dados estruturados são aqueles que seguem um formato predefinido e consistente, o que significa que eles podem ser organizados em tabelas e campos em um banco de dados relacional. Eles são altamente organizados, têm uma estrutura definida e são facilmente consultados e processados por máquinas. Por outro lado, dados não estruturados não seguem um formato predefinido e não podem ser organizados em tabelas e campos de maneira direta. Exemplos de dados não estruturados incluem texto livre, imagens, vídeos e áudio, que não possuem uma estrutura uniforme e são mais desafiadores de serem analisados automaticamente por máquinas. Portanto, a rigidez no formato e a capacidade de serem armazenados em campos de tabelas são características distintivas dos dados estruturados em comparação com os dados não estruturados. Gabarito: Certo
41
42. CEBRASPE (CESPE) - 2021 - Analista (SERPRO)/Ciência de Dados Julgue o item a seguir relativos a conceitos de ingestão de dados estruturados, semiestruturados, não estruturados e em streaming. Os dados não estruturados constam de bancos de dados relacionais que são eminentemente pesquisáveis tanto por meio de consultas realizadas por humanos quanto por meio daquelas realizadas por algoritmos que usam tipos de dados e nomes de campos, como alfabéticos ou numéricos, moeda ou data.
O item apresentado está incorreto. Dados não estruturados não constam de bancos de dados relacionais e não são eminentemente pesquisáveis por meio de consultas tradicionais realizadas por humanos ou algoritmos que usam tipos de dados e nomes de campos específicos. Dados não estruturados são aqueles que não seguem um formato predefinido e não são organizados em tabelas ou campos como em bancos de dados relacionais. Eles podem incluir texto livre, imagens, vídeos, áudio e outros tipos de informações que não têm uma estrutura uniforme. Dado sua natureza não estruturada, esses tipos de dados geralmente requerem técnicas de processamento de linguagem natural (PLN) e outras abordagens avançadas para serem pesquisados e analisados de maneira eficaz. Gabarito: Errado
42
43. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Ciências Contábeis (e mais 3 concursos) Com relação a dado, informação, conhecimento e inteligência, julgue o item que se segue. Um dado que está inserido em um contexto pode ser denominado de informação.
O item apresentado está correto. Um dado que está inserido em um contexto pode ser denominado de informação. Na hierarquia da organização da informação, os dados são os elementos brutos e descontextualizados. Quando esses dados são processados, organizados ou interpretados em um contexto específico, eles adquirem significado e relevância, tornando-se informações. Portanto, a contextualização é fundamental para transformar dados em informações. Assim, a afirmação de que "um dado que está inserido em um contexto pode ser denominado de informação" está alinhada com os conceitos básicos de dados e informações na teoria da informação. Gabarito: Certo
43
44. Ano: 2021 Banca: CESPE / CEBRASPE Órgão: SEFAZ-AL Provas: CESPE / CEBRASPE - 2021 - SEFAZ-AL - Auditor Fiscal de Finanças e Controle de Arrecadação da Fazenda Estadual De acordo com os princípios de dados abertos, um dado disponível deve ser reutilizado, independentemente de estar disponível em formato aberto ou legível por máquina.
Se os dados não estiverem abertos e disponíveis em formato compreensível por máquina, ele não pode ser reaproveitado e não é considerado dado aberto. Gabarito: Errado
44
45. Ano: 2021 Banca: CESPE / CEBRASPE Órgão: TCE-RJ Prova: CESPE / CEBRASPE - 2021 - TCE-RJ - Analista de Controle Externo - Especialidade: Tecnologia da Informação Com relação aos conceitos de análise de dados e informações, julgue o item a seguir. As três normas fundamentais que compõem o conceito de dados abertos são: disponibilidade e acesso; reuso e distribuição; e participação universal.
O conceito fundamental de dados abertos geralmente é baseado em princípios como: 1. Disponibilidade e Acesso: Os dados devem estar disponíveis para o público e acessíveis, sem barreiras significativas, como restrições de pagamento ou necessidade de autorização. 2. Reúso e Distribuição: Os dados devem ser disponibilizados de forma a permitir o reúso e a redistribuição por terceiros, garantindo que as informações possam ser utilizadas para diferentes finalidades. 3. Participação Universal: A filosofia de dados abertos incentiva a participação universal, ou seja, que os dados estejam disponíveis para todos, independentemente de origem, localização ou afiliação. Existem algumas publicações que consideram essas as três leis fundamentais de dados abertos. Logo, a alternativa está correta. Gabarito: Certo
45
46. Ano: 2021 Banca: CESPE / CEBRASPE Órgão: TCE-RJ Prova: CESPE / CEBRASPE - 2021 - TCE-RJ - Analista de Controle Externo - Especialidade: Tecnologia da Informação Com relação aos conceitos de análise de dados e informações, julgue o item a seguir. A informação pode ser facilmente obtida por meio de máquinas, além de ser transferível e frequentemente quantificável.
O item está incorreto! Dados são simples observações sobre o estado do mundo. Eles são facilmente estruturados, o que significa que podem ser organizados de maneira lógica e coerente. Além disso, os dados são facilmente obtidos por máquinas e, muitas vezes, podem ser quantificados para análise estatística. Essa quantificação torna os dados facilmente transferíveis, permitindo sua troca entre sistemas e dispositivos com relativa facilidade. Informação, por outro lado, representa dados dotados de relevância e propósito. Para que os dados se tornem informações, é necessário atribuir-lhes um contexto e um significado específico. Isso requer uma unidade de análise que interprete e dê sentido aos dados. Além disso, a informação exige consenso em relação ao seu significado, garantindo que seja compreendida de forma consistente. Um aspecto importante é que a informação exige necessariamente a mediação humana para atribuir-lhe significado e relevância. Conhecimento vai além da informação, representando informação valiosa gerada pela mente humana. Ele inclui reflexão, síntese e consideração de contexto. O conhecimento é de difícil estruturação, uma vez que envolve a compreensão profunda e a aplicação prática da informação. É também de difícil captura em máquinas, uma vez que muitos aspectos do conhecimento são tácitos e estão enraizados na experiência e na intuição humanas. Além disso, o conhecimento é frequentemente transmitido de pessoa para pessoa e é de difícil transferência, pois envolve não apenas dados e informações, mas também a compreensão profunda e a experiência que estão na mente dos indivíduos. Gabarito: Errado.Vamos aproveitar a questão para falar um poucos sobre conhecimento e inteligência. Conhecimento é uma informação contextual, relevante e acionável. Ele representa a informação em ação, indo além da simples acumulação de dados e fatos. Além disso, o capital intelectual (ou recursos intelectuais) é frequentemente usado como sinônimo de conhecimento, destacando a importância desse ativo intangível nas organizações. O conhecimento é uma informação valiosa da mente humana. Ele não se limita à mera coleta de dados, mas envolve reflexão, síntese e consideração de contexto. No entanto, o conhecimento é de difícil estruturação, pois muitos aspectos estão profundamente enraizados na experiência e na intuição humana. Além disso, capturar esse conhecimento em sistemas computacionais é um desafio, uma vez que ele é frequentemente tácito, ou seja, não explicitamente articulado, e sua transparência é complexa. Inteligência, por outro lado, é uma forma de conhecimento contextualmente relevante que permite atuar com vantagem em um ambiente específico. Pode ser vista como o conhecimento que foi sintetizado e aplicado a uma determinada situação, a fim de ganhar uma maior profundidade de consciência e capacidade de ação nesse contexto. A inteligência é, portanto, uma forma mais refinada de conhecimento que capacita indivíduos e organizações a tomar decisões informadas e estratégicas em ambientes complexos. Gabarito: Errado
46
47. CEBRASPE (CESPE) - 2021 - Analista de Controle Externo (TCE RJ)/Controle Externo/Controle Externo (e mais 1 concurso) Com relação aos conceitos de análise de dados e informações, julgue o item a seguir. O conceito de inteligência está relacionado à capacidade de julgamento, ou seja, o ser humano usa o seu conhecimento para tomar a melhor decisão em uma situação real.
Vamos aproveitar a questão para falar um poucos sobre conhecimento e inteligência. Conhecimento é uma informação contextual, relevante e acionável. Ele representa a informação em ação, indo além da simples acumulação de dados e fatos. Além disso, o capital intelectual (ou recursos intelectuais) é frequentemente usado como sinônimo de conhecimento, destacando a importância desse ativo intangível nas organizações. O conhecimento é uma informação valiosa da mente humana. Ele não se limita à mera coleta de dados, mas envolve reflexão, síntese e consideração de contexto. No entanto, o conhecimento é de difícil estruturação, pois muitos aspectos estão profundamente enraizados na experiência e na intuição humana. Além disso, capturar esse conhecimento em sistemas computacionais é um desafio, uma vez que ele é frequentemente tácito, ou seja, não explicitamente articulado, e sua transparência é complexa. Inteligência, por outro lado, é uma forma de conhecimento contextualmente relevante que permite atuar com vantagem em um ambiente específico. Pode ser vista como o conhecimento que foi sintetizado e aplicado a uma determinada situação, a fim de ganhar uma maior profundidade de consciência e capacidade de ação nesse contexto. A inteligência é, portanto, uma forma mais refinada de conhecimento que capacita indivíduos e organizações a tomar decisões informadas e estratégicas em ambientes complexos. Gabarito: Certo
47
49. CEBRASPE (CESPE) - 2021 - Agente de Polícia Federal (e mais 2 concursos) Considere que a Polícia Federal tenha registrado, em determinado período, a prisão de 1.789 traficantes de drogas pertencentes a facções criminosas, conforme faixas etárias mostradas no gráfico. Com referência às informações e ao gráfico precedentes, julgue o item subsecutivo. O número 1.789 sozinho caracteriza uma informação, independentemente do contexto.
O número 1.789, por si só, não caracteriza uma informação. Os números, quando isolados, são dados, não informações. Para que um dado se torne informação, ele precisa ser inserido em um contexto, processado e dotado de algum significado. Por exemplo, se o número 1.789 estiver associado a uma unidade de medida (por exemplo, 1.789 metros) e estiver em um contexto relevante (por exemplo, em uma descrição de altura de um edifício), então ele se torna uma informação, pois agora está relacionado a um significado específico em um contexto apropriado. Portanto, a afirmação de que o número 1.789 sozinho caracteriza uma informação, independentemente do contexto, está incorreta. Gabarito: Errado
48
50. CEBRASPE (CESPE) - 2020 - Profissional de Tecnologia da Informação (ME)/Atividades Técnicas de Complexidade Gerencial, de Tecnologia da Informação e de Engenharia Sênior/Ciência de Dados A respeito de dados, informação, conhecimento e inteligência, julgue o próximo item. Embora com características particulares, dados não estruturados podem ser classificados em sua totalidade, assim como os dados estruturados.
O item apresentado está incorreto. Dados não estruturados, por sua própria definição, são aqueles que não seguem um formato predefinido e não são organizados em tabelas ou campos como em dados estruturados. Eles incluem informações como texto livre, imagens, vídeos, áudio e outros tipos de informações que não têm uma estrutura uniforme. Devido à sua natureza não estruturada, classificar dados não estruturados na totalidade, da mesma forma que dados estruturados, é uma tarefa extremamente desafiadora e, em muitos casos, impraticável. A classificação de dados não estruturados geralmente envolve técnicas de processamento de linguagem natural (PLN), análise de imagem e áudio, entre outras abordagens avançadas. Portanto, a afirmação de que dados não estruturados podem ser classificados em sua totalidade, assim como os dados estruturados, não está correta. Eles têm características particulares que tornam sua classificação mais complexa e dependente de abordagens especializadas. Gabarito: Errado
49
51. CEBRASPE (CESPE) - 2020 - Profissional de Tecnologia da Informação (ME)/Atividades Técnicas de Complexidade Gerencial, de Tecnologia da Informação e de Engenharia Sênior/Ciência de Dados A respeito de dados, informação, conhecimento e inteligência, julgue o próximo item. A abertura de dados por organizações governamentais é uma prerrogativa das próprias organizações, que devem ditar normas internas sobre o assunto.
O item apresentado está incorreto. A abertura de dados por organizações governamentais não é apenas uma prerrogativa das próprias organizações, e não é apenas uma questão de ditar normas internas. A abertura de dados governamentais é uma iniciativa que envolve princípios de transparência e acesso à informação pública. Em muitos países, incluindo o Brasil, existem leis e regulamentações que obrigam as organizações governamentais a disponibilizarem determinadas categorias de dados de forma pública e acessível. Além disso, existem diretrizes e padrões internacionais, como os princípios de dados abertos, que orientam a abertura de dados governamentais. Portanto, a abertura de dados governamentais não é apenas uma decisão interna das organizações, mas muitas vezes é regida por leis e regulamentos que visam promover a transparência e o acesso à informação por parte do público. Gabarito: Errado.
50
52. CEBRASPE (CESPE) - 2020 - Profissional de Tecnologia da Informação (ME)/Atividades Técnicas de Complexidade Gerencial, de Tecnologia da Informação e de Engenharia Sênior/Ciência de Dados A respeito de dados, informação, conhecimento e inteligência, julgue o próximo item. Um dos princípios de dados abertos é o acesso não discriminatório, ou seja, os dados estão disponíveis independentemente de identificação ou registro do usuário.
O item apresentado está correto. Um dos princípios fundamentais dos dados abertos é o "acesso não discriminatório", o que significa que os dados devem estar disponíveis para todos, independentemente da identificação ou registro do usuário. Isso promove a acessibilidade universal aos dados, garantindo que qualquer pessoa possa acessá-los livremente, sem a necessidade de se identificar ou registrar, promovendo assim a transparência e a igualdade no acesso à informação governamental. Gabarito: Certo
51
53. Ano: 2018 Banca: CESPE Assunto: Informática para Polícia Federal Cargo: Agente Conteúdo Banco de dados Julgue os próximos itens, a respeito da teoria da informação e de sistemas de informação. O conceito de conhecimento é mais complexo que o de informação, pois conhecimento pressupõe um processo de compreensão e internalização das informações recebidas, possivelmente combinando-as.
Vejam que essa alternativa coloca o conhecimento como uma etapa posterior a informação dentro de um fluxo de encadeamento e complexidade. O conhecimento, conforme falado na nossa revisão, trata de informações úteis a um propósito, envolve entendimento e análise de um conjunto de informações. Sendo assim, podemos marcar a assertiva como correta. Gabarito: C
52
54. Ano: 2018 Prova: Perito – Polícia Federal Banca: CESPE Assunto: Conhecimentos básicos – banco de dados e teoria da informação. Julgue os próximos itens, a respeito de computação na nuvem, sistemas de informações e teoria da informação. A informação se caracteriza pela compreensão e internalização do conteúdo recebido, por meio do seu uso em nossas ações; o dado, por sua vez, é um elemento bruto dotado apenas de significado e relevância que visem fornecer uma solução para determinada situação de decisão.
Essa questão tem um erro na definição de dado. O dado não possui significado e relevância. Logo, temos uma alternativa incorreta. Gabarito: E
53
55. Ano: 2018 Banca: CESPE Assunto: Informática para Polícia Federal Cargo: Escrivão Conteúdo Teoria da informação Julgue os itens a seguir, a respeito da teoria da informação e de metadados de arquivos. 79 Em arquivos no formato XML, as tags não são consideradas metadados. 82 O conhecimento é embasado na inteligência das informações que são coletadas e analisadas para uma organização.
Vamos falar um pouco sobre cada uma das alternativas. 79. As tags em arquivos XML contêm os descritores dos dados, logo são considerados metadados. Alternativa incorreta. 82. A expressão “inteligência das informações” mistura conceitos e não faz sentido. O certo seria dizer que a inteligência é embasada no conhecimento das informações que são coletadas e analisadas. Logo, temos uma alternativa errada. Gabarito: 79. E 82. E
54
56. Ano: 2018 Banca: CESPE Órgão: TCM-BA Cargo: Auditor de Contas Questão: O diretor de uma montadora de veículos necessita tomar uma decisão acerca da continuidade ou não de um dos produtos vendidos no Brasil. Para tanto, solicitou um relatório sobre as vendas de carros da marca do último trimestre de 2018, por faixa de preço, região, modelo e cor. Nessa situação, no contexto de análise da informação, o relatório representa a) conhecimento. b) inteligência. c) dados. d) informação. e) sabedoria.
Os dados são coletados, por meio de processos organizacionais, nos ambientes interno e externo. Em suma, dados são sinais que não foram processados, correlacionados, integrados, avaliados ou interpretados de qualquer forma. Esta classe representa a matéria- prima a ser utilizada na produção de informações. A próxima classe é a da informação propriamente dita. Nesta, os dados passam por algum tipo de processamento para serem exibidos em uma forma inteligível às pessoas que irão utilizá- los. Processar dados inclui a revelação de fotografias de um filme, as transmissões de rádio transformadas em um formato de relatório padronizado, a exibição de arquivos de computador como texto ou gráfico em uma tela, a grade de coordenadas em um mapa etc. O processo de transformação envolve a aplicação de procedimentos que incluem formatação, tradução, fusão, impressão e assim por diante. A maior parte deste processo pode ser executada automaticamente. Uma vez que dados tenham sido transformados em informações, pelo menos em uma interpretação inicial, é possível refinar as informações mediante um processo de elaboração. As informações resultantes deste processo incluem características adicionais do problema, geram hipóteses, consequências das hipóteses, sugerem soluções para problemas, explanação e justificativas de sugestões, crítica de argumentos etc. Portanto, a transformação de dados em informações deve ser vista simplificadamente, como um tipo de pré-processamento de um processo de elaboração. O próximo nível é o do conhecimento, que pode ser definido como sendo informações que foram analisadas e avaliadas sobre a sua confiabilidade, sua relevância e sua importância. Neste caso, o conhecimento é obtido pela interpretação e integração de vários dados e informações para iniciar a construção de um quadro de situação. O processo de transformação é realizado por meio de avaliação de dados e informações. Os insumos provenientes das diversas fontes são analisados e combinados na síntese de um produto final, o conhecimento. É por meio do conhecimento que aqueles que assessoram as decisões buscam uma compreensão mais efetiva da situação problema. Vejam que o relatório, puro e simples é uma informação, que passou pelo processo de elaboração. Ela ainda não foi avaliada quanto a sua confiabilidade, relevância e importância, essa análise será feita pelo gestor depois do receber o relatório. Gabarito: D
55
57. Ano: 2018 Banca: CESPE Assunto: Informática para Polícia Federal Cargo: Papiloscopista Conteúdo: Dados e Informação Acerca da definição de dados e informação e sua representação em sistemas de informação, julgue os itens que se seguem. a. Dados são fatos que descrevem os objetos de informação, por exemplo, eventos e entidades. b. Informação é constituída por um conjunto de dados com características específicas. O ponto de análise é que os dados devem ser irrelevantes para o sistema a que se destinam.
Vamos comentar cada um dos itens acima. Dados são fatos registrados que descrevem os objetos de informação (eventos e entidades). Os dados referem-se a mais de um fato. Um determinado fato é referido como item. “Dado é qualquer registro ou indício relacionável a alguma entidade ou evento. Um dado não é, necessariamente, resultado de uma intenção de registrar alguma coisa - o som produzido por um fenômeno natural, uma pegada, a sombra de um objeto, podem ser considerados dados “. Logo, temos mais uma alternativa correta. Informação é constituída por um conjunto de dados com características específicas, isto é, trata-se de um conjunto de dados significativos e relevantes para a componente ou sistema a quem se destinam. Logo, alternativa incorreta. Gabarito: 83. C 84. E
56
Ano: 2018 Banca: FCC Prova: Análise de Informações Concurso: TCE-RS Q.: 45 45. Os conceitos de dados, informação e conhecimento são de grande importância no contexto de sistemas de informação. Sobre eles, é correto afirmar que a) não são necessários os dados para que se obtenha o conhecimento. b) A informação é obtida acrescentando-se significado aos dados. c) A informação é obtida a partir do conceito de conhecimento. d) O processo de tomada de decisão em um sistema de informação tem por base apenas os dados brutos. e) Os dados consistem do conhecimento analisado sob diferentes pontos de vista.
Sobre dados, informação, conhecimento e inteligência temos: Dados - Os dados podem ser expressos em uma variedade de formas, incluindo números, caracteres, símbolos ou imagens. Sozinhos, sem análise ou contexto, os dados não têm sentido e são frequentemente chamados de "brutos". Os dados são concebidos como símbolos ou sinais. Informação - Informações são dados que foram analisados, processados ou organizados para uma finalidade específica e apresentados em um formato e contexto que são relevantes e significativos. A informação pode ser considerada como uma agregação de dados. A informação geralmente tem algum significado e propósito. Conhecimento - Conhecimento é a capacidade, baseada na experiência e no entendimento, de usar a informação de maneira competente e produtiva. Pode ser visto como informações úteis a um propósito (entendimento). Conhecimento é um pensamento na mente do indivíduo, que é caracterizado pela crença justificável do indivíduo de que é verdade Inteligência/Sabedoria - Inteligência é a capacidade de aumentar a eficácia. A sabedoria agrega valor, o que requer o uso da função mental que chamamos de julgamento. Os valores éticos e estéticos que isso implica são inerentes ao ator e são únicos e pessoais. Logo, analisando as alternativas, temos o gabarito na letra B Gabarito: B.
57
59. Ano: 2016 Banca: CESPE Órgão: TCE-SC Cargo: Auditor de TI Julgue os itens a seguir, acerca de dado, informação, conhecimento e inteligência. [90] Define-se informação como significado, ou seja, como registros icônicos e simbólicos — fonéticos ou numéricos — e signos — linguísticos, lógicos ou matemáticos —, por meio dos quais se representam atos, conceitos ou instruções. [91] O atributo de inteligência depende mais da qualidade da informação disponível do que da sua quantidade, tendo, portanto, natureza qualitativa.
Vamos analisar cada uma das alternativas acima. [90] Vejamos uma definição formal de informação: Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Dados por sua vez pode ser definido como uma representação dos fatos, conceitos ou instruções de uma maneira normalizada que se adapte à comunicação, interpretação e processamento pelo ser humano ou através de máquinas. Os dados são representados por símbolos como por exemplo as letras do alfabeto: a, b, c, etc, mas não são em si a informação desejada. Vejam que a alternativa troca o significado de dados e informação, estando, portanto, incorreta. [91] Existe uma estrutura baseada nas noções de qualidade versus quantidade, classificando a informação em quatro níveis, na medida em que é agregado valor a cada nível, e nos apresenta essa estrutura através da pirâmide informacional, dado, informação, conhecimento e inteligência. Assim, explica que o atributo da inteligência é mais de caráter qualitativo que quantitativo, uma vez que depende mais da qualidade da informação adquirida do que de sua quantidade, ao contrário dos dados, onde a quantidade de informação é mais importante que sua qualidade aparente. Desta forma a alternativa encontra-se correta. Gabarito: E C.
58
60. CESPE - Analista Portuário II (EMAP)/Planejamento e Controle/2018 Julgue o próximo item, a respeito de gestão do conhecimento. Em uma instituição, o conhecimento explícito está relacionado ao capital intangível.
O conhecimento explícito é produzido a partir de dados recolhidos e informações armazenadas. É escrito ou gravado e inclui livros, manuais, patentes, base de dados, relatórios, bibliotecas, políticas e procedimentos. Esse conhecimento pode ser facilmente identificado, captado, partilhado e aplicado. Já o conhecimento tácito envolve uma dimensão técnica - do tipo know-how (saber como) - e outra cognitiva, relativa a modelos mentais, crenças e percepções de difícil transmissão. Esses elementos encontram-se incorporados nos indivíduos, definindo a forma como agem e se comportam, constituindo o filtro através do qual percepcionam a realidade. Logo, temos uma alternativa incorreta, pois troca os conceitos apresentados. Em uma instituição, o conhecimento explícito está relacionado ao capital intangível. Gabarito: Errado.
59
61. CESPE - Analista Portuário II (EMAP)/Planejamento e Controle/2018 Julgue o próximo item, a respeito da gestão do conhecimento. Na solução de problemas, o conhecimento tácito é associado ao conhecimento do expert.
Gabarito: C
60
62. CESPE - Analista Portuário II (EMAP)/Planejamento e Controle/2018 Julgue o próximo item, a respeito de gestão do conhecimento. No que se refere à espiral do conhecimento, socialização, externalização, modelagem e feedback são os diferentes modos de conversão do conhecimento.
A modelagem e feedback não são modos de conversão. Gabarito: Errada
61
63. FEPESE - Analista (CELESC)/Sistemas/2018 Sobre o tópico de Gestão do Conhecimento, considere as seguintes afirmativas. [1] Os ativos intangíveis que constituem o capital intelectual estão disseminados por toda a organização. [2] A gestão do conhecimento deve considerar, além das competências das pessoas que compõem a organização, também as suas redes de interações. [3] A gestão do conhecimento é formada pelo conjunto de processos voltados a criar, capturar, armazenar, compartilhar, aplicar e reutilizar conhecimento. Assinale a alternativa que indica todas as afirmativas corretas. a) É correta apenas a afirmativa 3. b) São corretas apenas as afirmativas 1 e 2. c) São corretas apenas as afirmativas 1 e 3. d) São corretas apenas as afirmativas 2 e 3. e) São corretas as afirmativas 1, 2 e 3.
Vamos comentar cada uma das alternativas acima. Primeiramente, o capital intelectual é a soma do conhecimento de todos em uma empresa, o que lhe proporciona vantagem competitiva. O capital intelectual pode ser visto como uma combinação de ativos intangíveis, oriundos das mudanças nas áreas da tecnologia da informação, mídia e comunicação, que trazem benefícios intangíveis para as empresas e que capacitam o seu funcionamento, sendo dividido em quatro categorias: Ativo de mercado: potencial da entidade com seus ativos intangíveis relacionados com o mercado, como marca, lealdade dos clientes, negócios em andamento, canais de distribuição, franquias etc.; Ativos humanos: benefícios que o indivíduo proporciona para a organização, como expertise, criatividade, conhecimento, habilidade para resolver problemas, de forma coletiva e dinâmica; Ativos de propriedade intelectual: estes são os que necessitam de proteção legal para proporcionar benefícios futuros para a empresa, tais como know-how, segredos industriais, copyright, patentes, design etc.; Ativos de infraestrutura: incluem tecnologias, metodologias e processos empregados tais como cultura, sistema de informação, métodos gerenciais, aceitação de riscos, banco de dados de clientes etc. Observa-se que a gestão do conhecimento deve se preocupar com interação entre as pessoas, pois, quando as pessoas aprendem a trabalhar em equipe, a partir dessa interação e da soma das competências individuais, temos uma apropriação do conhecimento coletivo e o fortalecimento da cultura organizacional. Resumindo: a gestão do conhecimento é compreendida como um novo processo necessariamente social e organizacional provido de estratégias, objetivos e etapas simultâneas, que visa num primeiro momento, desenvolver nas pessoas a capacidade de percepção, de criação de significado e de construção de conhecimento e, num segundo momento, visa desenvolver nas pessoas a capacidade de transformar o conhecimento em informação, compartilhar informação e conhecimento e usar informação e conhecimento. Logo, todas as alternativas estão corretas. Gabarito: E.
62
64. FEPESE - Técnico de Nível Superior (CIASC)/Analista de Sistemas - Desenvolvedor/2017 Com relação ao assunto Dados Abertos, assinale a alternativa correta. a) Um requisito importante para que o dado seja considerado aberto é o da reutilização e redistribuição no qual os dados devem estar disponíveis como um todo e sob custo razoável de reprodução. Tais dados preferencialmente devem ser possíveis de serem baixados pela internet e devem estar disponíveis de uma forma conveniente e modificável. b) Um requisito importante para que o dado seja considerado aberto é o da disponibilidade e acesso no qual os dados devem ser fornecidos sob termos que permitam o seu fechamento, abertura ou a combinação com outros conjuntos de dados. c) Dados abertos são dados que podem ser livremente usados, reutilizados e redistribuídos por qualquer pessoa. Estão sujeitos, no máximo, à exigência de atribuição da fonte e compartilhamento pelas mesmas regras. d) Participação Universal significa a capacidade de diversos sistemas e organizações trabalharem juntos. Nesse caso, trata-se da capacidade de interoperar ou combinar diferentes conjuntos de dados. e) Entende-se Interoperabilidade como a capacidade de usar, reutilizar e redistribuir, não devendo haver discriminação contra áreas de atuação ou contra pessoas ou grupos. Por exemplo, restrições de uso não comercial que impediriam o uso comercial, ou restrições de uso para certos fins que excluem determinados dados do conceito de ‘abertos’.
Primeiramente observamos que a alternativa C apresenta o conceito correto a respeito de dados abertos. As demais alternativas estão com os conceitos trocados. Sob esta perspectiva, a definição do termo dados abertos carrega 3 normas fundamentais (Open Knowledge Foundation, 2010): Disponibilidade e acesso: os dados devem estar disponíveis como um todo e sob custo não maior que um custo razoável de reprodução, preferencialmente possíveis de serem baixados pela internet. Os dados devem estar disponíveis de uma forma conveniente e modificável. A definição acima está presente na alternativa “A”, porém, associada ao contexto de reuso e redistribuição. Logo, temos uma alternativa errada. Reuso e redistribuição: os dados devem ser fornecidos sob termos que permitam a reutilização e a redistribuição, inclusive a combinação com outros conjuntos de dados. Observe que o examinador trocou a definição mais uma vez. Participação universal: todos devem ser capazes de usar, reutilizar e redistribuir - não deve haver discriminação contra áreas de atuação ou contra pessoas ou grupos. Por exemplo, restrições de uso "não-comercial" que impediriam o uso "comercial", ou restrições de uso para certos fins (ex.: somente educativos) excluem determinados dados do conceito de "abertos. " Para finalizar, observamos que as alternativas D e E trocaram as definições e suas respectivas descrições. Gabarito: C
63
65. CS UFG - Arquivista (UFG)/2017 De acordo com a Política de Dados Abertos do Poder Executivo federal, os dados devem ser representados em meio digital e a) estruturados em formato aberto, disponibilizados em formato requerido pelo cidadão, de forma que permita utilização, consumo ou cruzamento de acordo com as normas da instituição detentora da informação. b) estruturados em formato aberto, processáveis por máquina, disponibilizados sob licença aberta, de modo que permita livre utilização, consumo ou cruzamento, limitando-se a creditar a autoria ou a fonte. c) disponibilizados na Internet, processáveis por máquina, estruturados de forma que permita utilização, consumo ou cruzamento, de acordo com as normas da instituição detentora da informação. d) disponibilizados na Internet, estruturados sob licença da instituição pública detentora da informação, de modo que permita utilização, consumo ou cruzamento, limitando-se a creditar a autoria ou a fonte.
De acordo com as definições presentes no decreto tempos que dados abertos são “dados acessíveis ao público, representados em meio digital, estruturados em formato aberto, processáveis por máquina, referenciados na internet e disponibilizados sob licença aberta que permita sua livre utilização, consumo ou cruzamento, limitando-se a creditar a autoria ou a fonte. Logo, temos nossa resposta na alternativa B Gabarito: B
64
35. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: DPE-RO Prova: CESPE / CEBRASPE - 2022 - DPE-RO - Analista da Defensoria Pública - Administração Assinale a opção que mostra um dado não estruturado. a) data de nascimento b) cadastro de pessoa física (CPF) c) nome d) biografia e) sexo
A opção que mostra um dado não estruturado é: biografia. Uma biografia é uma descrição ou narrativa da vida de uma pessoa e, por natureza, não segue um formato predefinido e uniforme, tornando-se um exemplo de dado não estruturado. Em contrapartida, os itens A, B, C e E geralmente são dados estruturados, como a data de nascimento, o cadastro de pessoa física (CPF), o nome e o sexo, que costumam ser organizados em formatos específicos e predefinidos. Gabarito: D
65
66. ESAF - Analista de Planejamento e Orçamento (MPOG)/Tecnologia da Informação/Gerência de Projetos e Governança de TI/2015 A Infraestrutura Nacional de Dados Abertos (INDA) é um conjunto de padrões, tecnologias, procedimentos e mecanismos de controle necessários para atender às condições de disseminação e compartilhamento de dados e informações públicas. De acordo com a Instrução Normativa n. 4, que instituiu a INDA, é incorreto afirmar que: a) dados abertos são dados públicos representados em meio digital, estruturados em formato aberto, processáveis por máquina, referenciados na rede mundial de computadores e disponibilizados sob licença aberta que permita sua livre utilização, consumo ou cruzamento. b) integram a INDA, obrigatoriamente, o Órgão Central, os Órgãos Setoriais, os Órgãos Seccionais e Correlatos do Sistema de Administração de Recursos de Informação e Informática – SISP. c) integram a INDA, facultativamente, mediante a assinatura do termo de adesão pela autoridade competente, os demais órgãos e entidades dos Poderes Executivo, Legislativo e Judiciário, das esferas Federal, Estadual, Distrital e Municipal. d) integram a INDA, facultativamente, mediante a assinatura do termo de adesão pelo representante legal, entidades privadas nacionais ou internacionais. e) os cidadãos e entidades da sociedade civil interessados nas atividades da INDA poderão participar de sua implementação independentemente da assinatura de termo de adesão.
Essa questão pede para marcarmos a alternativa incorreta. Vejamos então o que diz a norma sobre os termos de compromisso e de adesão. “Art. 3º - Integram a INDA: - obrigatoriamente, o Órgão Central, os Órgãos Setoriais, os Órgãos Seccionais e Correlatos do Sistema de Administração de Recursos de Informação e Informática - SISP, conforme definido pelo Decreto nº 7.579, de 11 de outubro de 2011; e - facultativamente, mediante a assinatura do termo de adesão constante do Anexo pela autoridade competente, os demais órgãos e entidades dos Poderes Executivo, Legislativo e Judiciário, das esferas Federal, Estadual, Distrital e Municipal. § 1º - Os cidadãos e entidades da sociedade civil interessados nas atividades da INDA poderão participar de sua implementação independentemente da assinatura de termo de adesão, nos moldes do que dispuser o regimento interno. § 2º - Não obstante o disposto no § 1º deste artigo, entidades privadas nacionais ou internacionais poderão colaborar com a INDA mediante a celebração de termo de cooperação específico para este fim, sem ônus para Administração. Gabarito: D
66
(Ministério da Economia – Especialista em Ciência de Dados - 2020) A respeito de dados, informação, conhecimento e inteligência, julgue os próximos itens. O ciclo de vida da informação compreende as fases de produção, manuseio, armazenamento, transporte e descarte.
Os momentos do ciclo de vida da informação são: produção, manuseio; armazenamento; transporte e descarte. Gabarito: CERTO.
67
(Ministério da Economia – Especialista em Ciência de Dados - 2020) A respeito de dados, informação, conhecimento e inteligência, julgue os próximos itens. Integridade é a característica que garante o acesso à informação somente para quem estiver autorizado.
Essa é uma definição de confidencialidade, que visa garantir que a informação só será acessível por pessoas autorizadas. A principal forma de garantir a confidencialidade é por meio do controle de acesso (autenticação), já que este controle garante que o conteúdo da mensagem somente será acessado por pessoas autorizadas. A confidencialidade (privacidade) se dá justamente quando se impede que pessoas não autorizadas tenham acesso ao conteúdo da mensagem. Refere-se à proteção da informação contra a divulgação não permitida. A perda da confidencialidade se dá quando alguém não autorizado obtém acesso a recursos/informações. Gabarito: ERRADO.
68
(Ano: 2018 Banca: CESPE Órgão: TCM-BA Cargo: Auditor de Contas) O diretor de uma montadora de veículos necessita tomar uma decisão acerca da continuidade ou não de um dos produtos vendidos no Brasil. Para tanto, solicitou um relatório sobre as vendas de carros da marca do último trimestre de 2018, por faixa de preço, região, modelo e cor. Nessa situação, no contexto de análise da informação, o relatório representa a) conhecimento. b) inteligência. c) dados. d) informação. e) sabedoria.
Os dados são coletados, por meio de processos organizacionais, nos ambientes interno e externo. Em suma, dados são sinais que não foram processados, correlacionados, integrados, avaliados ou interpretados de qualquer forma. Esta classe representa a matéria-prima a ser utilizada na produção de informações. A próxima classe é a da informação propriamente dita. Nesta, os dados passam por algum tipo de processamento para serem exibidos em uma forma inteligível às pessoas que irão utilizá-los. Processar dados inclui a revelação de fotografias de um filme, as transmissões de rádio transformadas em um formato de relatório padronizado, a exibição de arquivos de computador como texto ou gráfico em uma tela, a grade de coordenadas em um mapa etc. O processo de transformação envolve a aplicação de procedimentos que incluem formatação, tradução, fusão, impressão e assim por diante. A maior parte deste processo pode ser executada automaticamente. O próximo nível é o do conhecimento, que pode ser definido como informações que foram analisadas e avaliadas sobre a sua confiabilidade, sua relevância e sua importância. Neste caso, o conhecimento é obtido pela interpretação e integração de vários dados e informações para iniciar a construção de um quadro de situação. O processo de transformação é realizado por meio de avaliação de dados e informações. Os insumos provenientes das diversas fontes são analisados e combinados na síntese de um produto, o conhecimento. É por meio do conhecimento que aqueles que assessoram as decisões buscam uma compreensão mais efetiva da situação problema. Conhecimento são informações em ação. Vejam que o relatório, puro e simples é uma informação, que passou pelo processo de elaboração. Ela ainda não foi avaliada quanto a sua confiabilidade, relevância e importância, essa análise será feita pelo gestor depois de receber o relatório. Gabarito: D
69
(Ano: 2015 Banca: FCC Órgão: CNMP Prova: Analista do CNMP - Gestão Pública) Os Sistemas de Informação (SI) são construídos com Dados, Informação, Conhecimento e Inteligência. Sobre o tema, considere: I. Informação é coletada nos ambientes interno e externo e representa, por exemplo: fatos, textos, gráficos. II. A inteligência é realizada por meio de síntese, baseada em experiência e intuição, sendo uma habilidade humana. III. Conhecimento demanda análise e avaliação sobre a confiabilidade, relevância e importância de dados e informações para a construção de um quadro de situação. Está correto o que consta APENAS em: a) I e III. b) II. c) II e III. d) I. e) III.
A afirmação I está incorreta, veja que os dados são coletados em forma de fatos, textos e imagens. A segunda afirmação está correta e consistente com a figura. A inteligência pode ser vista como o conhecimento que foi sintetizado e aplicado a determinada situação para ganhar maior profundidade e consciência. Por fim, temos a última afirmação, que também está correta, pois o conhecimento, pode ser definido como informações cuja relevância, confiabilidade e importância foram avaliadas. Neste caso, o conhecimento é obtido pela interpretação e integração de vários dados e informações. Desta forma, podemos marcar nossa resposta na alternativa C. Gabarito: C.
70
Concurso: Conselho Nacional dos Técnicos em Radiologia (CONTER) 2017 Cargo: Tecnólogo em Recursos Humanos Júnior Nível: Superior No que diz respeito à espiral do conhecimento de Nonaka e Tackeuchi, assinale a alternativa correta. a) A internalização acontece quando conhecimento, modelos mentais ou habilidades técnicas são compartilhados. b) A externalização ocorre quando o conhecimento conceitual é expresso por meio de metáforas ou analogias. c) A combinação dá origem ao conhecimento operacional, de execução de tarefas e produção. d) Na socialização, surge o conhecimento sistêmico, que apresenta como resultado a geração de protótipos e tecnologias de novos componentes. e) Na modalidade de combinação, o conhecimento das pessoas passa por um processo de explicitação.
Vejamos cada uma das alternativas acima. A letra “A” trata da internalização, quando o indivíduo resolve por meio do acesso ao conhecimento explícito é transformado em tácito. Veja que a questão não apresenta nesta alternativa uma lista de elementos que expressam o conhecimento explícito. A alternativa fala em compartilhar habilidades técnicas e isso pode ser feito por meio de socialização ou de externalização, visto que o ponto de partida é o conhecimento tácito. Já a alternativa “B” descreve com exatidão ações associadas à externalização. Quando você quer compartilhar em forma de palavras um conhecimento tácito para explicar a outra pessoa sobre o seu aprendizado em gestão do conhecimento, você vai usar metáforas e analogias para que sua audiência possa entender os conceitos. Sendo essa anossa resposta. Sobre a letra “C”, a combinação é a fusão de conhecimentos explícitos. Já a socialização leva ao desenvolvimento do conhecimento tácito. Gabarito: B
71
Ano: 2018 Banca: CESPE Órgão: TCE-PB Cargo: Auditor de Constas Públicas Questão: 96 Com relação a dados estruturados e não estruturados, assinale a opção correta. a) Dados não estruturados podem ser caracterizados por arquivos de diversos tipos — textos, imagens, vídeos, entre outros —, cujas estruturas não são descritas implicitamente. b) Por padrão, documentos do tipo XML (eXtensible Markup Language) são estruturados. c) Dados não estruturados de um mesmo grupo possuem as mesmas descrições e, consequentemente, os mesmos atributos. d) Por padrão, dados não estruturados são organizados em blocos semânticos. e) A alta heterogeneidade facilita as consultas aos dados não estruturados, desde que estes estejam ligados por ponteiros.
Vamos analisar cada uma das alternativas acima. A primeira alternativa trata de dados não estruturados, cujas estruturas não são descritas nem explicitamente, nem implicitamente. Veja que o examinador tentou confundir o candidato usando apenas o termo implícito. Isso é o que acontece com os dados semiestruturados, onde não existe uma definição a priori dos arquivos, contudo você consegue deduzir características do arquivo. Agora vamos analisar o que está errado nas demais alternativa. Os documentos XML são considerados semiestruturados. Eles não têm um tamanho definido para seus elementos, mas os termos possuem “tags” que descrevem os atributos presentes nos arquivos. Sendo assim, a alternativa b está incorreta. Já a letra c, inclui atributos nos dados não estruturados. Os dados não estruturados tendem a possuir uma forma mais livre, não tabular, são dispersos e não facilmente recuperáveis. Esses dados requerem uma intervenção deliberada para dar sentido aos mesmos. E- mails, documentos, páginas da web e arquivos (sejam eles texto, áudio e / ou vídeo) em locais dispersos são exemplos de dados não estruturados. Tente abrir um documento de música ou vídeo em um notepad. Perceba que não existe nenhum bloco semântico facilmente identificado dentro do arquivo. Existe um termo denominado Web Semântica que é uma tentativa de prover soluções e tecnologias adequadas para resolver o problema da integração de dados, em especial quando usamos dados estruturados e não estruturados. Por fim, a última afirmação é totalmente equivocada. A heterogeneidade é um dos fatores que dificulta as consultas em dados não estruturados. Gabarito: A
72
(Ministério da Economia – Especialista em Ciência de Dados - 2020) A respeito de dados, informação, conhecimento e inteligência, julgue os próximos itens. Um dos princípios de dados abertos é o acesso não discriminatório, ou seja, os dados estão disponíveis independentemente de identificação ou registro do usuário.
Acesso não discriminatório diz respeito aos dados que estão disponíveis a todos, sem que seja necessária identificação ou registro. Gabarito: CERTO.
73
Ano: 2016 Banca: CESPE Órgão: TCE-SC Cargo: Auditor de TI - A respeito de dados estruturados, não estruturados e abertos, julgue os itens subsequentes. Dados abertos são os dados de livre utilização, reutilização e redistribuição, exigindo- se, no máximo, créditos à autoria e compartilhamento pela mesma licença. Em se tratando de dados estruturados, a informação de esquema está mesclada aos valores dos dados, e cada objeto de dados pode ter atributos diferentes, que não são conhecidos com antecedência. Essa característica os diferencia de dados não estruturados.
Dados abertos (open data) trouxe à ideia de que certos dados devem estar disponíveis para que todos usem e publiquem, sem restrições de direitos autorais e patentes ou outros mecanismos de controle. Segundo a Open Definition, dados abertos são dados que podem ser livremente utilizados, reutilizados e redistribuídos por qualquer pessoa – sujeitos, no máximo, à exigência de atribuição à fonte original e ao compartilhamento pelas mesmas licenças em que as informações foram apresentadas. Analisando a definição, podemos marcar a alternativa como correta. Dados estruturados são organizados em linhas e colunas, geralmente são encontrados em banco de dados relacionais (falaremos sobre eles na aula 02 do nosso curso), são eficientes quanto à recuperação e processamento. Cada coluna deve ter o mesmo tipo de dados para todos os valores diferentes de nulo, assim como as linhas devem possuir registros que satisfação as restrições de integridade descritas na definição da tabela. A definição da questão é confusa e se assemelha com o contexto de dados semiestruturados. Assim, podemos concluir que a afirmação está incorreta. Gabarito: C; E.
74
(UFG – 2017) De acordo com a Política de Dados Abertos do Poder Executivo federal, os dados devem ser representados em meio digital e: a) estruturados em formato aberto, disponibilizados em formato requerido pelo cidadão, de forma que permita utilização, consumo ou cruzamento de acordo com as normas da instituição detentora da informação. b) estruturados em formato aberto, processáveis por máquina, disponibilizados sob licença aberta, de modo que permita livre utilização, consumo ou cruzamento, limitando- se a creditar a autoria ou a fonte. c) disponibilizados na Internet, processáveis por máquina, estruturados de forma que permita utilização, consumo ou cruzamento, de acordo com as normas da instituição detentora da informação. d) disponibilizados na Internet, estruturados sob licença da instituição pública detentora da informação, de modo que permita utilização, consumo ou cruzamento, limitando-se a creditar a autoria ou a fonte.
Conforme vimos em aula, o Decreto 8.777/2016 afirma que os dados abertos são "dados acessíveis ao público, representados em meio digital, estruturados em formato aberto, processáveis por máquina, referenciados na internet e disponibilizados sob licença aberta que permita sua livre utilização, consumo ou cruzamento, limitando-se a creditar a autoria ou a fonte”. Gabarito: B.
75
(Ministério da Economia – Especialista em Ciência de Dados - 2020) A respeito de dados, informação, conhecimento e inteligência, julgue os próximos itens. A abertura de dados por organizações governamentais é uma prerrogativa das próprias organizações, que devem ditar normas internas sobre o assunto.
A abertura dos dados por organizações públicas segue uma determinação legal. Várias leis e decretos balizam essas ações como a Lei de Acesso à Informação e o decreto de dados abertos. Gabarito: ERRADO
76
1. Unifil - 2023 - Analista (Pref Faz RG)/Sistemas Ao pesquisar os dados armazenados em um banco de dados de uma determinada empresa, foi descoberto que existem duas motos cadastradas com a mesma placa. Nesse caso, tem-se um problema de A) redundância. B) consistência. C) integridade. D) atomicidade.
A redundância ocorre quando há repetição desnecessária de informações no banco de dados. No caso mencionado, a mesma placa está sendo cadastrada mais de uma vez, o que representa redundância de dados. A resposta correta, portanto, é: A) redundância. Gabarito: A
77
2. ANO: 2014 ÓRGÃO: TJ-AP PROVA: ANALISTA JUDICIÁRIO - BANCO DE DADOS - DBA A redundância controlada de dados em um sistema de banco de dados ocorre quando A) um programa está ciente da múltipla representação de uma dada informação e garante o sincronismo entre as diversas representações. B) a responsabilidade pela manutenção do sincronismo entre as múltiplas representações de uma dada informação é compartilhada entre o programa e o usuário. C) os dados mais importantes são duplicados a cada backup do sistema, visando aumentar a garantia da recuperação da informação em caso de problemas. D) a responsabilidade pela manutenção do sincronismo entre as múltiplas representações de uma dada informação é do usuário. E) um programa está ciente da múltipla representação de uma dada informação, mas não garante o sincronismo entre as diversas representações.
Nesta questão vamos entender o que está sendo cobrado antes de avaliarmos as alternativas. Em primeiro lugar, precisamos lembrar que o SGBD vai controlar a redundância dentro do banco de dados. Esse controle é feito quando diferentes usuários compartilham a mesma informação. Suponha uma tabela de endereços de clientes em um banco comercial. Todos os setores do banco podem fazer uso desta informação. A área de investimento pode mandar o extrato das suas aplicações, o setor de cartão de crédito pode enviar sua fatura e o relacionamento com o cliente pode te enviar um cartão de feliz aniversário. A importância deste ponto único de contato é verificada quando a cliente muda de endereço, a atualização da tabela vai ser efetiva para os diferentes usuários da informação. Agora vamos analisar as alternativas, ao ler cada uma delas, podemos observar que no SGBD um programa deve estar ciente da múltipla representação de uma dada informação e garantir o sincronismo entre as diversas representações. Essa descrição está presente na alternativa A que é a nossa resposta. Gabarito: A.
78
3. (CESGRANRIO - Esc BB/BB/Agente de Tecnologia/2023 TI - Banco de Dados - Definições e Propriedades do SGBD) Um Sistema Gerenciador de Banco de Dados (SGBD) é um software bastante utilizado em empresas que precisam armazenar, tratar e utilizar dados em geral. O SGBD é especializado em realizar atividades relacionadas aos dados. Uma das várias funcionalidades que um SGBD pode executar é a) alertar os administradores da infraestrutura de TI de uma empresa quando há vírus circulando na rede. b) controlar que usuários podem ter acesso a que dados. c) estimular os gestores de uma empresa a compartilhar dados em benefício de todos. d) garantir a sequência de execução de programas, em especial quando há dependências de dados entre eles. e) identificar que dados importantes ao processo decisório de uma empresa estão ausentes e deveriam ser coletados.
Uma das funcionalidades que um Sistema Gerenciador de Banco de Dados (SGBD) pode executar é: b) Controlar que usuários podem ter acesso a que dados. Os SGBDs são projetados para gerenciar o acesso, armazenamento, recuperação e manipulação de dados em um banco de dados. O controle de acesso é uma parte essencial desse gerenciamento, garantindo que usuários autorizados tenham acesso apropriado aos dados. Gabarito: B
79
4. Ano: 2018 Banca: FGV Órgão: MPE-AL Prova: FGV - 2018 - MPE-AL - Técnico do Ministério Público - Geral 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).
Perceba que o conjunto de programas é o SGBD, presente na alternativa E. O banco de dados relacional é um conjunto de dados interrelacionados estruturados de acordo com o modelo relacional (será visto ainda nesta aula). Dicionários de dados são os metadados ou catálogo de dados que apresenta a descrição dos dados armazenados. Modelo Entidade Relacionamento é um modelo de dados de alto nível usado para descrever quais os dados serão armazenados no banco de dados usando elementos gráficos. Já os sistemas de suporte à decisão procuram tratar os dados para auxiliar na tomada de decisão. Gabarito: E.
80
5. Gestor da Informação (Curitiba)/2019 O principal objetivo de um Sistema Gerenciador de Banco de Dados (SGBD) é: a) criar a infraestrutura para a construção de um data warehouse. b) armazenar e recuperar os dados de forma conveniente e eficiente. c) organizar os dados para suportar operações de OLAP. d) possibilitar a armazenagem distribuída dos dados. e) facilitar a implementação de tecnologias de armazenagem em nuvem.
Vejam que, pelas definições acima apresentada um SGBD é definido como um sistema cujo objetivo é armazenar e recuperar dados de forma eficiente. Analisando as demais alternativas, elas não fazem sentido para definirem o principal objetivo do SGBD. Vamos deixar para apresentar os conceitos referente as palavras “data warehouse”, OLAP e computação na nuvem em outro momento, para não atrapalhar seu processo de aprendizado. Mas professor, eu queria aprender agora ... ok! Então vamos nessa. Data Warehouse (DW) é um repositório de dados utilizado para guardar dados analíticos. OLAP é um conjunto de ferramentas e definições que permitem acessar e trabalhar com os dados no DW. O armazenamento distribuído dos dados é uma possibilidade dentre das funções do SGBD, mas não é seu principal objetivo. A computação em nuvem é o fornecimento de serviços de computação, incluindo servidores, armazenamento, bancos de dados, rede, software, análise e inteligência, pela Internet (“a nuvem”) para oferecer inovações mais rápidas, recursos flexíveis e economias de escala. Você normalmente paga apenas pelos serviços de nuvem que usa, ajudando a reduzir os custos operacionais, a executar sua infraestrutura com mais eficiência e a escalonar conforme as necessidades da sua empresa mudam. Assim, reforçando a nossa resposta encontra-se na alternativa B. Gabarito: B.
81
6. Ano: 2019 - Prefeitura de Jataí - GO - Analista de Tecnologia da Informação Com relação aos conceitos e às definições de banco de dados, assinale a alternativa correta. a) Um banco de dados não é formado por um conjunto de arquivos, mas sim por um conjunto de dados com as mesmas características. b) Um banco de dados é um conjunto de dados organizados, com o objetivo de armazenamento persistente dos dados, que possui mecanismos de manipulação e recuperação de informações. c) Um banco de dados é um conjunto integrado de dados não relacionados logicamente. d) A melhor definição para banco de dados é que ele é uma representação estática, visto que os dados não podem sofrer alterações temporais. e) O banco de dados é uma estrutura de compartilhamento parcial, ou seja, os dados existentes em um banco de dados não podem ser compartilhados por várias pessoas; apenas uma pessoa por vez pode ter acesso ao banco de dados.
Vamos comentar cada uma das alternativas. (A) Todo banco de dados digital, em última instância, é formado por um conjunto de arquivos. (B) Perfeita a definição!! Perceba que ele disse que o banco de dados é o conjunto de dados organizados e que possui mecanismos de manipulação, esses são parte do SGBD que possui outras funcionalidades além da manipulação dos dados, como backup e controle de acesso. (C) O banco de dados é um conjunto logicamente relacionado. (D) O banco de dados possui uma representação dinâmica, tanto os dados, quanto os modelos podem ser ajustados para se adaptarem a mudanças no minimundo que eles descrevem. (E) Os dados do banco de dados são compartilhados entre diferentes grupos de usuários. No geral, cada grupo possui a visão de apenas parte do banco de dados. Gabarito: B
82
7. Ano: 2016 Órgão: TCE-SC Prova: Auditor Fiscal de Controle Externo - Informática Com relação aos bancos de dados relacionais, julgue o próximo item. O catálogo de um sistema de gerenciamento de banco de dados relacional armazena a descrição da estrutura do banco de dados e contém informações a respeito de cada arquivo, do tipo e formato de armazenamento de cada item de dado e das restrições relativas aos dados.
Perceba que a definição acima está de acordo com o termo dicionários de dados, catálogo de dados ou metadados presentes em um sistema de banco de dados. Lembre-se que essa separação entre a descrição dos dados e os dados propriamente dito é uma das características relevantes que foram apresentadas na evolução de sistemas de arquivos para a abordagem de banco de dados. Sendo assim, podemos afirmar que a questão está correta! Gabarito: C.
83
1. FGV - AL (CAM DEP)/CAM DEP/Contador/2023 Uma transação ACID em banco de dados relacionais é uma sequência de operações que satisfaz às propriedades a) atomicidade, consistência, isolamento e durabilidade. b) atomicidade, consistência, integridade e distributividade. c) atomicidade, confidencialidade, isolamento e durabilidade. d) autenticidade, consistência, integridade e distributividade. e) autenticidade, confidencialidade, integridade e durabilidade.
As transações ACID referem-se a um conjunto de propriedades fundamentais que garantem a integridade e confiabilidade das operações em um banco de dados transacional. Cada letra em "ACID" representa uma dessas propriedades: Atomicidade (Atomicity): Uma transação é considerada atômica se todas as suas operações forem executadas como uma unidade indivisível. Isso significa que todas as operações são realizadas com sucesso ou nenhuma delas é realizada. Se qualquer parte da transação falhar, as alterações feitas até o momento são revertidas. Consistência (Consistency): A consistência garante que uma transação leve o banco de dados de um estado consistente para outro. Isso implica que as transações devem respeitar as regras e restrições do banco de dados, preservando a integridade dos dados. Isolamento (Isolation): O isolamento garante que o resultado de uma transação seja invisível para outras transações até que a transação esteja concluída. Cada transação é executada como se fosse a única transação no sistema, evitando interferências de outras transações concorrentes. Durabilidade (Durability): A durabilidade assegura que uma vez que uma transação é confirmada (completa), seus efeitos permanecem permanentes, mesmo em caso de falha do sistema. As alterações feitas por uma transação confirmada são persistentes e sobrevivem a reinicializações ou falhas do sistema. Essas propriedades garantem a confiabilidade e integridade dos dados em um ambiente transacional, assegurando que as operações do banco de dados sejam executadas de maneira segura e consistente. Logo, teremos a nossa resposta na alternativa A. Gabarito: A
84
2. Ano: 2021 Banca: FGV Órgão: TCE-RO Prova: FGV - 2021 - TCE-RO - Analista de Tecnologia da Informação - Desenvolvimento de Sistemas No contexto da implementação de bancos de dados, o acrônimo ACID denota o conjunto de propriedades que devem ser observadas por sistemas transacionais. Essas quatro propriedades são: a) Amorfabilidade, Concorrência, Integridade e Durabilidade; b) Atomicidade, Consistência, Isolamento e Durabilidade; c) Atualização, Coesão, Inserção e Deleção; d) Auditabilidade, Conformidade, Independência e Distribuição; e) Automação, Concorrência, Integridade e Distribuição.
Vejamos quais seriam as propriedades de transações: [A]tomicidade = As transações devem ser executadas de forma integral ou não devem ser executadas de modo algum. [C]onsistência = Cada transação deve transformar o Banco de Dados de um estado consistente para outro estado igualmente consistente. [I]solamento = É assegurado que as transações não sejam influenciadas pelas ações simultâneas umas das outras. [D]urabilidade = Os efeitos de uma transação devem ser mantidos, mesmo diante de interrupções de energia ou ocorrência de erros. Gabarito: B
85
4. Ano: 2019 - CREA-TO - Analista de Sistemas No que diz respeito a banco de dados, julgue o item. Em um banco de dados, é necessária a abstração dos dados, de tal forma que o usuário não se importe com a forma como eles estão armazenados.
Quando falamos em abstração dos dados, estamos retirando dos usuários a visão do armazenamento físico e da sua complexidade. A divisão dos discos rígidos em setores e a organização dos arquivos nos SGBDs são abstraídas por meio dos diversos níveis de modelos de dados. Gabarito: C
86
5. Ano: 2018 Órgão: TCE-PB Cargo: Auditor de Contas Públicas Questão: 97 A respeito de SGBDs, assinale a opção correta. a) Um SGBD, por definição, não é flexível, dada a dificuldade de mudar a estrutura dos dados quando os requisitos mudam. b) Um SGBD é um software que não prevê as funções de definição, recuperação e alteração de dados, sendo essa tarefa a função básica de um sistema de banco de dados. c) A consistência de dados é o princípio que determina a manutenção de determinado dado em vários arquivos diferentes. d) Conforme o princípio da atomicidade, caso ocorra erro em determinada transação, todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como se a transação nunca tivesse sido executada. e) O controle de concorrência é 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.
Vamos analisar as alternativas acima. Elas são relevantes para consolidar nosso conhecimento sobre o assunto. Começando pela alternativa A, o erro aparece quando o examinador afirma que os SGBDs não são flexíveis. Lembre-se que um SGBD veio solucionar um problema de replicação dos dados em diversos arquivos distintos. Agora, com uma fonte única dos dados, as alterações dos mesmos são centralizadas. Já a alternativa B nos remonta às funcionalidades do SGBD. O que podemos fazer com tal sistema? É possível, primariamente, armazenar e manipular dados, para tal, é necessário descrever as estruturas das tabelas. Todos os SGBDs possuem estrutura para construção do banco de dados, usando uma linguagem como SQL. Sendo assim, a alternativa B também está incorreta. As próximas duas alternativas tratam das propriedades das transações, mais especificamente da consistência, que tem por objetivo levar o banco de dados de um estado válido para outro estado consistente, e da atomicidade, que parte do princípio de que uma transação é composta por vários comandos de modificação da base de dados e que estes comandos devem ser executados em conjunto completamente ou não serem executados. Desta forma, para garantir a atomicidade, caso uma transação falhe todas as operações já efetuadas precisam ser desfeitas. Desta forma, a alternativa C está incorreta e a alternativa D é a nossa resposta. Por fim, o controle de concorrência é um mecanismo que permite que apenas um usuário consiga modificar um dado do sistema em um determinado momento. É importante entender que é possível várias pessoas terem acesso aos dados para leitura. Como se todos estivessem lendo um livro. Contudo, na hora de escrever, só existe uma caneta e, se alguma pessoa estiver de posse da caneta, apenas ela poderá fazer alterações na base. Gabarito: D.
87
6. Ano: 2019 - UFPB - Analista de Tecnologia da Informação Os bancos de dados estão implícitos na vida da sociedade moderna. Assinale a alternativa que NÃO apresenta uma implicação adicional do uso de banco de dados. a) Economias de escalas. b) Disponibilidade de informações atualizadas. c) Desenvolvimento de novos dispositivos. d) Flexibilidade. e) Tempo reduzido para o desenvolvimento de aplicações.
Se pensarmos em dispositivos como componentes de hardware, percebemos que a utilização de um banco de dados não auxilia no desenvolvimento de um novo dispositivo. As demais alternativas apresentam benefícios na utilização para a abordagem de banco de dados. A economia de escala refere-se à possibilidade de expansão da quantidade de usuários do banco a um custo relativamente baixo. As informações centralizadas com redundância controlada permitem a disponibilização atualizada das mesmas. Quando você pensa no desenvolvimento de um novo sistema, o fato das informações estarem isoladas das aplicações facilita a vida dos desenvolvedores, reduzindo o tempo para construção das aplicações. Reforçando, temos nossa resposta na alternativa C. Gabarito: C
88
1. VUNESP - 2022 - Analista Legislativo (ALESP)/Administrador de Banco de Dados Metadados constituem uma estrutura indispensável em bancos de dados, sendo correto afirmar que a) são automaticamente movidos para a memória principal do servidor a cada nova iniciação do sistema gerenciador de banco de dados. b) são excluídos do banco de dados a cada encerramento do sistema gerenciador de banco de dados. c) armazenam todo o histórico de movimentações ocorridas no banco de dados (inserções, modificações e exclusões de registros). d) não são necessários em bancos de dados que contenham número pequeno de tabelas (até dez tabelas). e) devem conter informações sobre as estruturas componentes do banco de dados (por exemplo, as tabelas).
A afirmativa correta é: E) devem conter informações sobre as estruturas componentes do banco de dados (por exemplo, as tabelas). Metadados são dados que fornecem informações sobre os dados em um banco de dados. Eles descrevem a estrutura do banco de dados, incluindo informações sobre as tabelas, colunas, tipos de dados, restrições, relacionamentos, entre outros. Portanto, a opção E está correta ao mencionar que os metadados devem conter informações sobre as estruturas componentes do banco de dados, como as tabelas. Gabarito: E
89
2. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza/Ciência da Computação, Informática, Processamento de Dados/2023 Julgue o item a seguir, a respeito de arquitetura de dados, metadados e linguagens de bancos de dados. Os metadados possibilitam uma visão integrada do ambiente de dados, pois explicitam os inter-relacionamentos existentes entre os dados.
O item está correto. Os metadados desempenham um papel crucial na arquitetura de dados ao possibilitar uma visão integrada do ambiente de dados. Os metadados são informações que descrevem os dados, incluindo sua origem, significado, formato, restrições, relacionamentos e outros atributos. Eles fornecem um contexto essencial para a compreensão e o gerenciamento dos dados. Ao explicitar os inter-relacionamentos existentes entre os dados, os metadados facilitam a compreensão da estrutura e das conexões dentro do ambiente de dados. Isso é particularmente útil em sistemas complexos com múltiplas fontes de dados, onde compreender como os dados se relacionam entre si é essencial para garantir uma visão unificada e consistente. Em resumo, os metadados desempenham um papel fundamental ao fornecer informações sobre os dados, permitindo uma visão integrada e melhorando a eficácia do gerenciamento e da utilização dos recursos de dados em um sistema. Gabarito: Certo
90
3. VUNESP - 2022 - Analista Legislativo (ALESP)/Web Designer Considerando que as principais classificações sobre metadados definem seus tipos como descritivos, estruturais e administrativos, é correto afirmar que as informações constantes de metadados do tipo a) estrutural têm como função a recuperação e a identificação de dados. b) descritivo têm como função a recuperação e a identificação de dados. c) estrutural têm como função a recuperação e a identificação de dados. d) administrativo têm como função descrever a forma de se reconstituir um dado formado por diversos componentes. e) descritivo têm como função fornecer informações sobre o ciclo de vida dos dados.
**Metadados Descritivos**: Identificam o conteúdo (ex.: título, autor). **Metadados Estruturais**: Descrevem a organização interna (ex.: capítulos, seções). **Metadados Administrativos**: Gerenciam aspectos técnicos e de direitos (ex.: formato, direitos autorais). Gabarito: B
91
1. Ano: 2019 - CRN - 3ª Região (SP e MS) - Assistente Técnico No que se refere aos conceitos gerais de banco de dados, assinale a alternativa correta. a) Os dados, independentes ou não, de um banco de dados formam necessariamente uma informação. b) Os projetistas, também conhecidos como administradores do banco de dados (database administrators), são os usuários iniciantes ou paramétricos do sistema. c) Um banco de dados não representa um aspecto do mundo real. d) Uma planilha do Microsoft Excel ou uma lista de contatos (nome, telefone e e-mail) de uma agenda configuram um banco de dados. e) A edição ou a alteração dos dados de um banco de dados é muito onerosa ao administrador, o que torna comum a prática de sua total exclusão.
DBA: Gerencia tecnicamente o banco de dados. DA: Cuida da qualidade e uso estratégico dos dados. Vamos comentar cada uma das alternativas. (A) Dados e informações são conceitos distintos. A informação precisa de contexto e significado, já o dado é apenas um fato registro (bruto). (B) Os projetistas são conhecidos como administradores de dados. (C) Todo banco de dados deve descrever alguma coisa do mundo real, podendo ser concreto ou abstrato. (D) Falamos sobre isso no início da nossa aula. A lista telefônica do seu Zacarias é considerada um banco de dados, mesmo não sendo digital. (E) Fazer alterações no banco de dados nem sempre é onerosa, alguns fatores podem permitir uma alteração rápida do registro. Gabarito: D
92
2. Ano: 2018 Órgão: EBSERH Prova: Analista de Tecnologia da Informação Com relação a banco de dados, julgue o item seguinte. Após um banco de dados ser criado, o administrador executa uma série de tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar informações na base de dados. A responsabilidade de gerir os acessos ao banco de dados é do sistema gerenciador de banco de dados (SGBD).
DBA: Gerencia tecnicamente o banco de dados. DA: Cuida da qualidade e uso estratégico dos dados. Observe que neste texto podemos verificar explicitamente o benefício do sistema de gerenciamento de banco de dados. O administrador de banco de dados vai atribuir aos diversos usuários as permissões compatíveis com suas necessidades. Contudo, quem vai gerenciar o acesso, no sentido de autorizar o usuário a acessar o banco de dados e visualizar os dados, é o próprio SGBD. Desta forma, temos uma alternativa correta. Gabarito: C.
93
3. ANO: 2010 ÓRGÃO: TCE-SP PROVA: AGENTE DA FISCALIZAÇÃO FINANCEIRA - PRODUÇÃO E BANCO DE DADOS Considerando que os dados constituem um dos bens mais valiosos de uma empresa, é necessário que haja um papel que tenha a responsabilidade central pelos dados, principalmente entendendo as necessidades empresariais nos altos níveis da organização. Tal papel é mais adequadamente desempenhado pela a) administração de banco de dados. b) administração de dados. c) alta administração da organização. d) análise de sistemas. e) gerência de sistemas.
DBA: Gerencia tecnicamente o banco de dados. DA: Cuida da qualidade e uso estratégico dos dados. Percebam que a questão trata da padronização dos dados corporativos. Entender a organização e sua relação com as informações de forma a gerenciar os dados de maneira eficiente é responsabilidade da equipe de administração de dados. Hoje em dia um termo muito utilizado para os dados que permeiam vários setores das empresas ou órgãos públicos é o conceito de dados mestres. Eles são armazenados em um repositório central e distribuídos aos diversos usuários. Gabarito: B.
94
1. VUNESP - 2022 - Analista (CM Olímpia)/Sistema Considere a seguinte representação de um modelo hierárquico de dados: De acordo com essa figura, os itens indicados como I e II representam, respectivamente, registro a) principal e registro secundário. b) inicial e registro final. c) proprietário e registro membro. d) principal e registro auxiliar. e) total e registro parcial.
Os principais tipos de registros representados no modelo hierárquico são: Registro Proprietário: É o registro pai na hierarquia. Por exemplo, no contexto da empresa, o CEO seria o registro proprietário, pois não possui um registro pai. Registro Membro: São os registros filhos na hierarquia, que estão abaixo do registro proprietário. No exemplo da empresa, os diretores seriam registros membros, pois possuem o CEO como registro pai. Logo, temos a nossa resposta na alternativa C.
95
2. FUNDATEC - 2023 - Analista em Computação (PROCERGS)/Administração de Dados Qual é a principal diferença entre os modelos de dados relacional e hierárquico? a) O modelo hierárquico usa uma estrutura em árvore para organizar os dados, enquanto o modelo relacional usa tabelas. b) O modelo hierárquico permite a criação de relacionamentos muitos para muitos, enquanto o modelo relacional só permite relacionamentos um para muitos. c) O modelo hierárquico é mais flexível em relação à adição de novos campos, enquanto o modelo relacional requer modificações na estrutura da tabela. d) O modelo relacional é mais eficiente em relação à busca de dados, enquanto o modelo hierárquico é mais eficiente em relação à inserção de novos dados. e) O modelo hierárquico é mais utilizado em ambientes de grande escala, enquanto o modelo relacional é mais utilizado em ambientes menores e médios.
A principal diferença entre os modelos de dados relacional e hierárquico é: A) O modelo hierárquico usa uma estrutura em árvore para organizar os dados, enquanto o modelo relacional usa tabelas. No modelo hierárquico, os dados são organizados em uma estrutura de árvore, onde cada nó pode ter vários nós filhos, representando uma relação pai-filho. Já no modelo relacional, os dados são organizados em tabelas bidimensionais, utilizando linhas e colunas para representar entidades e atributos. Portanto, a resposta correta é a opção A. Gabarito: A
96
3. Analista (Pref Vila Velha) / Desenvolvimento / 2020 Uma das estruturas de bancos de dados é a que tem o formato conhecido por “árvore”. Nessas estruturas, cada registro tem apenas um possuidor. Esse modelo é chamado: a) hierárquico. b) indexado. c) block chain. d) relacional. e) sequencial.
No modelo hierárquico, cada registro é definido como um nó numa estrutura em árvore, onde cada nó-pai pode ter vários filhos, mas cada nó-filho só pode ter um pai. Ou seja, percebemos um relacionamento 1-N. Esse tipo de banco de dados permite que as referências entre os registros sejam automaticamente construídas por conta das ligações (links) presentes entre eles. Por outro lado, relações complexas são difíceis de se representar no modelo. Desta forma, temos o gabarito da questão na alternativa A. Gabarito: A.
97
4. Ano: 2019 Órgão: MPC-PA - Analista Ministerial – Tecnologia da Informação Assinale a opção que apresenta o modelo de dados caracterizado por organizar os dados em uma estrutura do tipo árvore, na qual cada registro tem um único “pai” e é classificado em uma ordem específica. a) híbrido b) de rede c) relacional d) hierárquico e) orientado a objetos
O modelo hierárquico organiza dados em uma estrutura de árvore, nele cada registro tem um único "pai" ou raiz. Registros "irmãos" são classificados em uma ordem específica. Essa ordem é usada como a ordem física para armazenar o banco de dados. Este modelo é bom para descrever muitas relações do mundo real. Contudo, possui limitações para descrever relacionamentos N-N entre os elementos de dados. Esse modelo foi usado principalmente pelos Sistemas de Gestão de Informações da IBM nos anos 60 e 70, mas são raramente vistos hoje devido a certas ineficiências operacionais. Gabarito: D
98
5. Administrador de Rede (CM Piracicaba)/2019 Sobre o modelo hierárquico de bancos de dados, é correto afirmar que a) um registro não pode ser pai de mais de um registro filho. b) um registro pai pode ter relacionamento com, no máximo, 3 registros filhos. c) um registro do tipo raiz só pode ter relacionamento com um único registro filho. d) um registro do tipo raiz não participa como registro filho em qualquer relacionamento. e) o campo de um registro filho admite apenas tipos de dados inteiros.
Vamos comentar cada uma das alternativas. (A) Um registro pode ser pai de vários registros, mas cada registro só pode ter um pai. (B) Mais uma vez, um registro pai pode ter relacionamento com vários filhos, não há limitação. (C) O registro raiz é o pai de todos ... logo, ele terá relacionamento com vários filhos. (D) Essa é a nossa resposta!! (E) Campos podem ter outros valores além de inteiros, por exemplo, valores textuais. Gabarito: D
99
6. FAEPESUL - Assistente (CRC SC)/Suporte em Informática/2019 A definição correta para banco de dados relacionais é: a) Um sistema que serve para criar uma relação de confiança, para acesso à internet. b) Um sistema que serve para armazenar arquivos dentro do computador. c) Um banco de dados que modela os dados de forma que eles sejam percebidos pelo usuário como tabelas. d) Um banco de dados onde cada informação é armazenada na forma de objetos. e) Um banco de dados que não possui tabelas.
As tabelas ou relações dos bancos de dados relacionais são formadas por linhas ou tuplas, que indicam cada registro da tabela, e colunas ou atributos, que identificam os campos da tabela. Cada atributo possui um domínio associado a ele, ou seja, um conjunto de valores que ele pode assumir. Assim, podemos marcar nossa resposta na alternativa C. Gabarito: C.
100
7. FGV - AJ (TJ RN)/TJ RN/Apoio Especializado / Análise de Suporte / 2023 O modelo de banco de dados em que a associação entre dois registros é feita por meio do relacionamento entre um registro-pai e vários registros-filhos com cardinalidade 1:N, e a navegação é feita da raiz para as folhas, é o: a) em rede; b) otimizado; c) relacional; d) hierárquico; e) orientado a objetos.
O modelo de banco de dados em que a associação entre dois registros é feita por meio do relacionamento entre um registro-pai e vários registros-filhos com cardinalidade 1:N, e a navegação é feita da raiz para as folhas, é o: d) hierárquico. Gabarito: D
101
8. ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO – BANCO DE DADOS Acerca de bancos de dados semiestruturados e bancos de dados NOSQL, julgue os itens subsecutivos. [86] Bancos de dados NOSQL orientados a documentos são apropriados para o armazenamento de dados semiestruturados. [87] Para garantir a eficiência das consultas a bancos de dados semiestruturados, é fundamental a adoção de técnica de indexação que leve em consideração, além das informações, as propriedades estruturais dos dados. [88] Devido à escalabilidade esperada para os bancos de dados NOSQL, a implementação desses bancos utiliza modelos de armazenamento de dados totalmente distintos dos utilizados em sistemas relacionais.
[86] Bancos de dados NoSQL orientados a documentos são apropriados para o armazenamento de dados semiestruturados. Certo. Bancos de dados NoSQL orientados a documentos, como MongoDB e CouchDB, são ideais para armazenar dados semiestruturados. Esses bancos de dados armazenam dados em formatos como JSON, que permitem flexibilidade na estrutura e organização dos dados. [87] Para garantir a eficiência das consultas a bancos de dados semiestruturados, é fundamental a adoção de técnica de indexação que leve em consideração, além das informações, as propriedades estruturais dos dados. Certo. Em bancos de dados semiestruturados, como aqueles que armazenam XML ou JSON, a estrutura dos dados pode variar, e as consultas eficientes dependem de indexações que considerem tanto o conteúdo quanto a estrutura dos dados. [88] Devido à escalabilidade esperada para os bancos de dados NoSQL, a implementação desses bancos utiliza modelos de armazenamento de dados totalmente distintos dos utilizados em sistemas relacionais. Errado. Embora os bancos de dados NoSQL adotem modelos de armazenamento diferentes dos sistemas relacionais (como chave-valor, colunar, documentos ou grafos), não é correto afirmar que são totalmente distintos. Eles compartilham alguns conceitos, como a necessidade de armazenar e recuperar dados de forma eficiente, mas abordam esses objetivos de maneiras diferentes, especialmente em termos de escalabilidade horizontal. Gabarito: C C E.
102
1. FGV - Analista Legislativo (ALESP) / Administração de Banco de Dados e Arquitetura de Dados/2002 Quando falamos em banco de dados é necessário deixar clara a distinção entre esquema de banco de dados e a instância no banco de dados. Esta distinção pode ser descrita da seguinte forma: a) Um conceito de um esquema de banco de dados corresponde, em linguagem de programação, à noção de definição das entidades e relacionamentos. b) A instância no banco de dados pode ser descrita como uma foto dos dados num determinado momento. c) O conceito de instância de relação corresponde, em linguagem de programação, à noção de definição de tipos. d) O conteúdo de uma instância de relação não pode mudar com o tempo, quando esta relação for atualizada.
Vamos comentar cada uma das alternativas: a) Entidades e relacionamentos são conceitos associados à modelagem de dados. Em linguagem de programação, em especial nas linguagens orientadas a objetos, o esquema corresponde a classe. b) Essa é a nossa resposta. Se você voltar ao esquema apresentado no início do tópico, verá do lado direito a palavra fotografia associada a ideia de instância do banco de dados. c) A instância em linguagem de programação está associada a criação de objetos que tem como referência uma classe. d) A instância muda toda vez que um dado é inserido, removido ou atualizado. Logo, ela muda com o tempo. O que não muda quando a relação é atualizada é o esquema. Gabarito: B.
103
2. Ano: 2019 Prefeitura de São Roque do Canaã - ES - Técnico em Processamento de Dados A coleção de informações armazenadas de um banco de dados é chamada de: a) Parâmetros. b) Instância. c) Esquema. d) Arquitetura. e) Projeto.
Perceba que a coleção de informações de um banco de dados em um considerada uma instância, fotografia, extensão, estado ou ocorrências. Assim temos a nossa resposta na alternativa B. Gabarito: B
104
FGV - Auditor Fiscal da Receita Estadual (SEFAZ RJ)/2011 Para que um sistema de informação possa ser útil e confiável, deve ser fundamentado na modelagem de dados, para posterior análise do processo. A modelagem de dados se baseia nos seguintes elementos: a) fluxos de dados, atributos e requisitos. b) fluxos de dados, diagramas e requisitos. c) classes de dados, métodos e componentes. d) objetos de dados, diagramas e componentes. e) objetos de dados, atributos e relacionamentos.
A modelagem de dados pede que tenhamos a perfeita noção dos dados que serão armazenados, ou seja dos objetos de dados, das características que esses dados possuem atributos descritores vão dar mais semântica aos dados armazenados e, por fim, precisamos especificar os relacionamentos. Logo, temos a resposta na alternativa E. Gabarito: E
105
FGV - Analista (MPE MS)/Informática/Banco de Dados/2013 Um modelo de dados é uma descrição formal das estruturas de dados presentes em um banco de dados. Os dois níveis de abstração dos modelos de dados considerados em um projeto de banco de dados são: a) modelo conceitual e modelo lógico. b) modelo lógico e modelo físico. c) modelo conceitual e modelo físico. d) modelo de classes e modelo de entidades. e) modelo de entidades e modelo de relacionamentos.
A provável intenção da FGV nesta questão é que você soubesse quais dois modelos possuem maior abstração de dados. Ela considerou que o modelo físico não abstrai informações para definir como os dados serão armazenados. Dessa forma, os modelos onde pode se perceber maior abstração de dados são o modelo conceitual e o lógico. Relembrado o conceito de abstração de dados: “o sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para os diversos tipos de usuários, ou seja, a partir do grau de conhecimento sobre modelagem e da necessidade de entendimento, pode ser apresentado ao usuário uma estrutura mais simples, sem muita complexidade, que descreve apenas quais os dados são armazenados.” Assim, temos a nossa resposta na alternativa A. Gabarito: A
106
FGV - Analista de Sistemas (AL-MT)/Banco de Dados/2013 O modelo de dados abstrato que descreve a estrutura de um banco de dados de forma independente de um SGBD chama-se modelo a) lógico. b) conceitual. c) físico. d) algorítmico.
Conforme apresentado acima, o modelo de dados conceitual se preocupa apenas em listar e organizar QUAIS os dados serão armazenados. Ele não se preocupa em descrever COMO, logo ele é independente de SGBD. Gabarito: B.
107
FGV - Analista (SAD PE)/Controle Interno/Tecnologia da Informação/2009 Modelagem de Dados é uma parte importante do desenho de um sistema de informação, que especifica as estruturas de dados e as regras necessárias para suportar uma área de negócios e que representa um conjunto de requerimentos de informações desse negócio. A respeito dos modelos existentes, analise as afirmativas a seguir: I. trata de regras de normalização das estruturas de dados, derivação de relacionamentos e de estruturas de agregação e generalização-especialização, restrição de domínio, de Integridade e de Implementação; II. trata da análise das características e dos recursos necessários para armazenamento real e manipulação das estruturas de dados. Os modelos I e II são conhecidos, respectivamente, por: a) conceitual e hierárquico. b) relacional e conceitual. c) hierárquico e lógico. d) físico e relacional. e) lógico e físico.
Mais uma questão sobre os níveis de modelos de dados. Deste assunto introdutório de banco de dados, talvez, seja o assunto que a FGV mais gosta. Na descrição acima, temos duas afirmações. I. Descreve o modelo de dados relacional, que é um modelo lógico. II. Descreve o modelo de dados físico, que se preocupa com a organização de arquivos e métodos de acesso. Desta forma, temos a nossa resposta na alternativa E. Gabarito: E
108
FGV - Analista Censitário (IBGE)/Geoprocessamento/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 elaboração do Modelo Entidade-Relacionamento (MER) faz parte do: b) projeto conceitual. O projeto conceitual é a fase em que se define de forma abstrata os principais componentes do banco de dados, utilizando modelos como o MER para representar as entidades, atributos e relacionamentos de forma independente de como esses dados serão fisicamente armazenados. Gabarito: B
109
1. CEBRASPE (CESPE) - APO (SEPLAN RR)/SEPLAN RR/Tecnologia da Informação/2023 No que se refere às características de um banco de dados relacional, julgue o item que se segue. Visões podem ser usadas para definir relações no esquema externo que exibem para os aplicativos as alterações feitas no esquema conceitual do banco de dados.
As visões são usadas para manter a independência de dados, logo elas vão esconder as alterações feitas no esquema conceitual da arquitetura em 3 esquemas e não as exibir. Assim, temos uma alternativa incorreta. Gabarito: Errado
110
2. (CESGRANRIO - PTNS (TRANSPETRO)/TRANSPETRO/Análise de Sistemas/Infraestrutura/2023 - TI - Banco de Dados - Arquitetura ANSI/SPARC) O princípio de independência de dados é um conceito fundamental no modelo relacional de bancos de dados. A aplicação prática deste princípio permite que os bancos de dados sejam gerenciados, otimizados e modificados eficientemente sem a necessidade de realizar modificações extensivas em cada aplicação ou consulta que utiliza o banco de dados, facilitando a manutenção e a evolução dos sistemas. Na arquitetura de referência ANSI/SPARC, que é composta por três níveis de esquema — externo, conceitual (ou lógico) e interno —, o princípio de independência de dados é expresso por meio da a) necessidade de alterar o esquema externo quando ocorrem mudanças no esquema interno. b) obrigatoriedade de alterar os programas aplicativos quando há uma modificação no esquema interno. c) incapacidade de realizar mudanças no esquema conceitual sem afetar os esquemas externos. d) dependência entre os esquemas, garantindo que uma modificação em um nível requer alterações em todos os níveis. e) capacidade de modificar o esquema interno sem afetar o esquema conceitual e, portanto, sem afetar os esquemas externos e os programas aplicativos.
O princípio de independência de dados na arquitetura de referência ANSI/SPARC é expresso por meio da: e) capacidade de modificar o esquema interno sem afetar o esquema conceitual e, portanto, sem afetar os esquemas externos e os programas aplicativos. Esse princípio enfatiza a separação entre os diferentes níveis de esquema (interno, conceitual e externo), permitindo que as mudanças no nível interno não impactem os níveis conceitual e externo. Isso proporciona flexibilidade e facilidade na manutenção e evolução do banco de dados sem afetar as aplicações que o utilizam. Gabarito: E
111
4. SUGEP - Técnico (UFRPE)/Tecnologia da Informação/Sistemas/2019 O padrão de ANSI/SPARC para arquitetura de SGBD define uma arquitetura em três níveis. São eles: a) nível interno, nível de usuário e nível físico. b) nível interno, nível externo e nível conceitual. c) nível externo, nível de tabelas e nível físico. d) nível conceitual, nível de usuário e nível de arquivos. e) nível de tabelas, nível de arquivos e nível de visão.
Acabamos de falar da arquitetura em três esquemas ANSI/SPARC que tem como objetivo separar a aplicação do banco de dados físico. Nessa arquitetura, temos uma divisão dos esquemas em três níveis: Interno: nesse nível está o esquema interno do banco de dados. Esse esquema contém a descrição da estrutura física, ou seja, informações detalhadas sobre como os dados são armazenados no hardware, definições das estruturas, índices, caminhos de acesso. Conceitual: nesse nível está o esquema conceitual, onde é descrita a estrutura do banco de dados para uma comunidade de usuários. Esse esquema não traz detalhes físicos, o foco é descrever quais dados do banco são armazenados, como eles se relacionam e as restrições existentes. Externo: nesse nível existem uma série de esquemas externos ou visões do usuário. Cada uma dessas visões descreve uma parte do banco que interessa a um determinado usuário (ou grupom de usuários), ocultando todo o restante dos dados. Assim, temos nossa resposta na alternativa B. Gabarito: B
112
5. Ano: 2016 Órgão: TRE-PI Prova: Analista Judiciário - Análise de Sistemas A respeito das características de um SGBD e das atividades de administração de banco de dados, assinale a opção correta. a) Para fins práticos, é necessário distinguir diferentes cardinalidades máximas, que podem ser maiores ou iguais a zero. b) A característica autodescritiva de um banco de dados define que o banco de dados contém o próprio dado assim como uma descrição desses dados e suas restrições. Essas descrições e restrições estão armazenadas no catálogo (dicionário) do SGBD. c) A independência física de dados consiste na habilidade de modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos. As modificações no nível conceitual são necessárias quando a estrutura lógica do banco de dados é alterada. d) Na linguagem SQL, os comandos DDL GRANT e ROLLBACK permitem a implementação de um controle de acesso discricionário, criando e retirando permissões no banco de dados. e) A coleção das informações armazenadas em um banco de dados, em determinado momento, corresponde ao esquema do banco de dados.
- **a) Errada.** Cardinalidade máxima não pode ser "maior ou igual a zero"; isso se aplica à cardinalidade mínima. - **b) Correta.** Um SGBD armazena dados e suas descrições no catálogo, que é autodescritivo. - **c) Errada.** A descrição refere-se à independência lógica, não física. - **d) Errada.** `GRANT` é usado para permissões, mas `ROLLBACK` desfaz transações, não permissões. - **e) Errada.** Descreve a instância, não o esquema, que é a estrutura do banco de dados. Gabarito: B.
113
6. Ano: 2014 Órgão: TJ-CE Prova: Analista Judiciário - Ciências Computação Considerando o sistema gerenciador de banco de dados (SGBD), assinale a opção correta acerca de bancos de dados. a) Enquanto a DDL (Data Definition Language) é utilizada para definir a estrutura do banco de dados, a SDL (Storage Definition Language) é utilizada para especificar o esquema conceitual e seus mapeamentos com o esquema interno. b) A informação armazenada no catálogo do SGBD é denominada metamodelo. c) Na independência de dados do programa, propriedade do SGBD, a estrutura dos arquivos de dados é armazenada no catálogo separadamente dos programas de acesso. d) Na arquitetura de três esquemas de um banco de dados, o nível conceitual é responsável por descrever de forma detalhada as estruturas de armazenamento físico, incluindo os relacionamentos entre as tabelas. e) Na arquitetura de três esquemas, a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual consiste na independência lógica de dados.
a) Errada. SDL não especifica o esquema conceitual, apenas aspectos físicos. b) Errada. As informações no catálogo são metadados, não metamodelo. c) Correta. A estrutura dos dados é separada dos programas, permitindo independência. d) Errada. O nível conceitual não lida com armazenamento físico, mas com a lógica do banco. e) Errada. Alterar o esquema interno sem mudar o conceitual é independência física, não lógica. Gabarito: C
114
7. Ano: 2016 Órgão: TCE-PA Prova: Auditor de Controle Externo - Área Informática - Analista de Sistema Julgue o item subsequente, no que se refere a sistemas de gerenciamento de bancos de dados (SGBD). Independência lógica de dados refere-se à capacidade de alterar o esquema conceitual sem a necessidade de alterar os esquemas externos ou os programas de aplicação.
Independência lógica de dados permite alterar o esquema conceitual (estrutura lógica) sem afetar as aplicações ou esquemas externos. Independência física de dados permite alterar o esquema interno (como os dados são armazenados fisicamente) sem afetar o esquema conceitual ou as aplicações. Diferença: A independência lógica trata de mudanças na lógica dos dados, enquanto a independência física trata de mudanças na forma como os dados são armazenados. Gabarito: C.
115
8. Ano: 2016 Órgão: TCE-PA Prova: Auditor de Controle Externo - Área Informática - Administrador de Banco de Dados Com relação a sistemas gerenciadores de bancos de dados (SGBD), julgue o próximo item. No nível conceitual da arquitetura de três camadas de banco de dados, cada esquema externo descreve a parte do banco que interessa a determinado grupo de usuários e oculta desse grupo o restante do banco de dados.
Perceba que essa questão apresenta uma casca de banana das mais malvadas. Ele mistura o nível conceitual da arquitetura em três esquemas com o nível externo. Sabemos que os esquemas externos estão associados às diferentes visões dos grupos de usuários. Tal fato reflete os interesses distintos de cada grupo quanto ao acesso às informações do banco de dados. Assim, podemos marcar nosso gabarito como errado. Gabarito: E.
116
1. Ano: 2010 Órgão: BADESC Cargo: Analista de Sistemas Os objetivos dos compiladores DDL, DML e DCL são, respectivamente: a) criar os objetos do banco de dados, manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL e fornecer privilégio de acesso às informações. b) fornecer privilégio de acesso às informações, criar os objetos do banco de dados e manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL. c) manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DML, criar os objetos do banco de dados e fornecer privilégio de acesso às informações. d) fornecer privilégio de acesso às informações, manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL e criar os objetos do banco de dados. e) criar os objetos do banco de dados, fornecer privilégio de acesso às informações e manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL.
Vamos revisar os objetivos dos compiladores DDL, DML e DCL: DDL (Data Definition Language): Define a estrutura do banco de dados, criando e alterando objetos como tabelas, índices e esquemas. DML (Data Manipulation Language): Manipula os dados nos objetos definidos pela DDL, incluindo operações de recuperação, inserção, remoção e alteração de dados. DCL (Data Control Language): Controla o acesso aos dados, fornecendo e revogando permissões e privilégios. Portanto, a opção correta é: a) criar os objetos do banco de dados, manipular (recuperação, inserção, remoção e alteração) de dados nos objetos criados pela DDL e fornecer privilégio de acesso às informações. Gabarito: A.
117
1. (MPU-TO - DBA - CESPE – 2024) Julgue os itens a seguir, referentes a banco de dados. Um caso típico de fragmentação em vários bancos de dados é o particionamento de registros correspondentes a diferentes usuários em uma coleção de bancos de dados.
O item está correto. O particionamento de registros correspondentes a diferentes usuários em uma coleção de bancos de dados é, de fato, um exemplo de fragmentação em vários bancos de dados. Nesse caso, os registros são distribuídos entre diferentes bancos de dados de acordo com algum critério, como o usuário ao qual eles pertencem. Isso pode ser útil para distribuir a carga de trabalho e otimizar o desempenho, especialmente em sistemas com grande volume de dados e muitos usuários. Portanto, o item está correto. Gabarito: Certa
118
2. (MPU-TO - DBA - CESPE – 2024) Julgue os itens a seguir, referentes a banco de dados. Um sistema gerenciador de banco de dados resolve problemas de integridade para evitar que a mesma informação esteja duplicada em vários locais.
O item está incorreto. Um sistema gerenciador de banco de dados (SGBD) não resolve problemas de integridade para evitar duplicação de informações em vários locais. Na verdade, a integridade referencial em um banco de dados refere-se à consistência e precisão dos dados armazenados. Ela é mantida por meio de restrições, como chaves primárias, chaves estrangeiras e restrições de unicidade, que são definidas pelo projetista do banco de dados. Essas restrições garantem que os dados estejam organizados de forma coerente e que não haja inconsistências ou redundâncias. Portanto, o papel do SGBD é garantir a integridade dos dados por meio da aplicação e execução dessas restrições definidas pelo usuário, mas não especificamente para evitar a duplicação de informações em vários locais. Gabarito: Errada
119
3. (MPU-TO - DBA - CESPE – 2024) Julgue os itens a seguir, referentes a banco de dados. No modelo de dados físico, que é criado como parte do processo de coleta de requisitos iniciais do projeto, é possível obter uma visualização geral do conteúdo do sistema, da forma como esse conteúdo será organizado e das regras de negócios que estão envolvidas.
O item está incorreto. O modelo de dados físico não é criado como parte do processo de coleta de requisitos iniciais do projeto. Na verdade, o modelo de dados físico é desenvolvido durante a fase de projeto do banco de dados, que ocorre após a fase de análise de requisitos. Durante a fase de análise de requisitos, os analistas trabalham para entender os requisitos do sistema, identificar os dados que serão armazenados e compreender as regras de negócio envolvidas. Com base nesses requisitos, é criado o modelo de dados lógico, que descreve a estrutura dos dados de uma maneira independente do SGBD específico que será utilizado. Já o modelo de dados físico é criado na fase de projeto e envolve decisões detalhadas sobre como os dados serão armazenados e organizados no sistema de gerenciamento de banco de dados (SGBD) escolhido. Isso inclui detalhes como tipos de dados, índices, restrições de integridade e otimizações de desempenho. Portanto, o modelo de dados físico não é criado durante a coleta de requisitos iniciais do projeto, mas sim durante a fase de projeto do banco de dados. Gabarito: Errada
120
4. (MPU-TO - DBA - CESPE – 2024) A respeito de arquitetura de bancos de dados, julgue os itens a seguir. Na arquitetura de três esquemas, o nível externo apresenta uma série de visões do usuário.
O item está correto. Na arquitetura de três esquemas, proposta por ANSI/SPARC, há três níveis de abstração: o esquema interno, que descreve a estrutura física dos dados armazenados no banco de dados; o esquema conceitual, que descreve a estrutura lógica dos dados, incluindo entidades, relacionamentos e restrições; e o esquema externo, que apresenta uma visão personalizada dos dados para os usuários finais. Portanto, o nível externo contém várias visões do usuário que representam diferentes perspectivas dos dados, adaptadas às necessidades específicas dos usuários finais. Gabarito: Certa
121
5. (MPU-TO - DBA - CESPE – 2024) A respeito de arquitetura de bancos de dados, julgue os itens a seguir. Uma das características de um sistema gerenciador de banco de dados (SGBD) é a independência de dados, ou seja, o entendimento dos dados pelo SGBD ocorre mesmo sem uma aplicação.
O item está correto. A independência de dados é uma das características dos sistemas gerenciadores de banco de dados (SGBDs). Ela refere-se à capacidade do SGBD de isolar os programas de aplicação dos detalhes físicos de armazenamento dos dados. Isso significa que as aplicações podem ser desenvolvidas sem precisar conhecer os detalhes de como os dados estão armazenados no banco de dados, garantindo que as mudanças na estrutura física dos dados não afetem as aplicações. Portanto, mesmo sem uma aplicação específica, o SGBD pode entender e manipular os dados armazenados. Gabarito: Certa
122
6. (MPU-TO - DBA - CESPE – 2024) A respeito de arquitetura de bancos de dados, julgue os itens a seguir. As propriedades autenticidade, consistência, isolamento e durabilidade garantem confiabilidade às transações executadas em um banco de dados.
Autenticidade? O item está incorreto. As propriedades mencionadas são, na verdade, conhecidas como propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) e são essenciais para garantir a confiabilidade das transações em um banco de dados. Cada uma dessas propriedades desempenha um papel importante na garantia de que as transações sejam executadas de forma segura e confiável. Portanto, a afirmação de que essas propriedades garantem confiabilidade às transações está correta. Portanto, a opção correta seria "Errada". Gabarito: Errada
123
7. (MPU-TO - DBA - CESPE – 2024) A respeito de arquitetura de bancos de dados, julgue os itens a seguir. Diferentemente do multithreading, um SGBD multiprocesso atende cada conexão por meio de um processo distinto no sistema operacional.
O item está correto. Em um sistema de banco de dados multiprocesso, cada conexão de cliente é atendida por um processo separado no sistema operacional. Isso permite que várias solicitações de clientes sejam tratadas simultaneamente, com cada processo operando de forma independente. Em contraste, em um sistema multithreading, várias conexões de clientes podem ser atendidas dentro do mesmo processo, com threads separadas responsáveis por cada conexão. Portanto, a afirmação de que um SGBD multiprocesso atende cada conexão por meio de um processo distinto no sistema operacional está correta. O gabarito está certo. Gabarito: Certa
124
8. CEBRASPE (CESPE) - APO (SEPLAN RR)/SEPLAN RR/Tecnologia da Informação/2023 No que se refere às características de um banco de dados relacional, julgue o item que se segue. Atomicidade, uma das propriedades cruciais em transações de banco de dados relacional, é a chave para manter os dados precisos no banco de dados e garantir que eles estejam em conformidade com regras, regulamentos e políticas da empresa.
O item está correto. Atomicidade é uma das propriedades das transações em bancos de dados relacionais. Ela descreve a capacidade de uma transação ser tratada como uma operação única e indivisível, onde todas as operações dentro da transação são concluídas com sucesso ou todas são desfeitas em caso de falha, garantindo a integridade dos dados. Essa propriedade é fundamental para manter a precisão dos dados no banco de dados e garantir que eles estejam em conformidade com as regras, regulamentos e políticas da empresa. Se uma transação não for atomicamente tratada e, por exemplo, uma operação falhar e outra não, isso pode levar a um estado inconsistente dos dados. Portanto, a atomicidade desempenha um papel crucial na manutenção da integridade dos dados em um banco de dados relacional. Gabarito: Certo
125
9. CEBRASPE (CESPE) - APO (SEPLAN RR)/SEPLAN RR/Tecnologia da Informação/2023 No que se refere às características de um banco de dados relacional, julgue o item que se segue. Visões podem ser usadas para definir relações no esquema externo que exibem para os aplicativos as alterações feitas no esquema conceitual do banco de dados.
As visões são usadas para manter a independência de dados, logo elas vão esconder as alterações feitos no esquema conceitual da arquitetura em 3 esquemas e não as exibir. Assim, temos uma alternativa incorreta. Gabarito: Errado
126
10. CEBRASPE (CESPE) - Ana (CNMP) / CNMP / Tecnologia da Informação e Comunicação / Suporte e Infraestrutura/2023 Julgue o item subsecutivo, que se referem a conceitos de programação e banco de dados. Um registro é um conjunto de itens de dados que possuem um conjunto de atributos que pertencem a determinada entidade.
O item está correto. Em bancos de dados e em muitos contextos de programação, um registro é de fato um conjunto de itens de dados que compartilham um conjunto de atributos ou campos que estão associados a uma entidade específica. Cada registro representa uma instância única da entidade e contém valores específicos para seus atributos correspondentes. Por exemplo, em um banco de dados de funcionários, cada registro representa um funcionário individual e contém informações como nome, número de identificação, cargo, salário, etc., que são os atributos desse registro específico (funcionário). Portanto, a definição dada na afirmativa é válida em um contexto de banco de dados e programação. Gabarito: Certo
127
11. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza/Ciência da Computação, Informática, Processamento de Dados/2023 Julgue o item a seguir, a respeito de arquitetura de dados, metadados e linguagens de bancos de dados. Para garantir o princípio da segurança de dados, que é um dos princípios da arquitetura de dados, o sistema deve ser rígido e ter suas regras de utilização e acesso fixadas e rigorosamente seguidas, sem espaço para alterações.
A afirmação está errada. A segurança de dados deve ser rigorosa, mas o sistema precisa permitir ajustes e atualizações conforme necessário, em vez de ser inflexível. Gabarito: Errado
128
13. CEBRASPE (CESPE) - Ana (CNMP) / CNMP / Tecnologia da Informação e Comunicação / Suporte e Infraestrutura/2023 Julgue o item subsecutivo, que se referem a conceitos de programação e banco de dados. As estruturas para armazenamento dos dados e os métodos de acesso ao banco de dados fazem parte do projeto lógico de um banco de dados.
O item está incorreto! Para entendermos melhor o porquê, vamos organizar as responsabilidades dos níveis lógico e físico. Projeto Lógico de um Banco de Dados O projeto lógico de um banco de dados concentra-se principalmente na definição de: ● Como os dados serão organizados. ● Quais entidades (tabelas) existirão. ● Quais são os relacionamentos entre essas entidades. ● Quais atributos (colunas) cada entidade terá e como esses atributos se relacionam. ● Essa camada é abstrata e visa representar a estrutura do banco de dados sem considerar as questões de implementação física no hardware. Projeto Físico de um Banco de Dados Por outro lado, o projeto físico lida com detalhes como: ● Escolha do Sistema de Gerenciamento de Banco de Dados (SGBD). ● Otimização de desempenho. ● Definição de índices para acelerar as consultas. ● Particionamento de tabelas para melhor distribuição de dados. ● Escolha de estruturas de armazenamento, como tablespaces em bancos de dados relacionais. ● Métodos de acesso, incluindo algoritmos de busca e recuperação de dados. Essa etapa envolve a implementação prática das decisões tomadas no projeto lógico, visando garantir que o banco de dados funcione eficientemente e atenda aos requisitos de desempenho e escalabilidade. Gabarito: Errado
129
14. CEBRASPE (CESPE) - Ana (SERPRO) / SERPRO / Tecnologia/2023 Considerando que existem diferentes tipos de banco de dados, como os bancos de dados relacionais e os não relacionais (ou NoSQL), julgue o item a seguir. A modelagem de dados lógica, cujo objetivo é especificar entidades, atributos, relacionamentos e restrições, considera aspectos técnicos de implementação, como desempenho e integridade dos dados.
A modelagem de dados lógica deve, na verdade, ser independente de considerações técnicas de implementação, como desempenho. No nível lógico, a modelagem detalha as tabelas ou entidades, são definidas as colunas, os tipos de dados, as chaves primárias e estrangeiras e as restrições. Nesse nível, as regras de integridade e normalização são estabelecidas para garantir a consistência dos dados. A normalização ajuda a reduzir a redundância de dados, reduzindo as anomalias de atualização. No nível físico, o modelo lógico é implementado em um banco de dados real. Questões como particionamento, índices e organização física dos dados são definidas nesse nível. Gabarito: Errado
130
15. CEBRASPE (CESPE) - Ana (SERPRO) / SERPRO / Tecnologia/2023 Julgue o seguinte item, a respeito da gestão de banco de dados. O particionamento, que é uma técnica utilizada para dividir o banco de dados em partes menores denominadas partições, garante a disponibilidade do banco de dados, especialmente em sistemas com grande volume de dados.
O particionamento divide um banco de dados em partes menores, chamadas de partições, para melhorar a performance e facilitar a manutenção. No entanto, o particionamento não garante diretamente a disponibilidade do banco de dados. A disponibilidade é mais frequentemente garantida por técnicas como replicação e backup, que asseguram que o banco de dados continue acessível mesmo em caso de falhas. O particionamento pode, de fato, ajudar a distribuir a carga e melhorar a performance, mas não é uma garantia de disponibilidade por si só. Gabarito: Errado
131
16. CEBRASPE (CESPE) - AFM (Pref Fortaleza ) / Pref Fortaleza /Ciência da Computação, Informática, Processamento de Dados/2023 Com relação a conceitos de modelos de dados e de modelagem de dados, julgue o item subsecutivo. Em um sistema de banco de dados, a alteração do nível interno exige a revisão de nível conceitual equivalente.
A afirmação está errada. Mudanças no nível interno não exigem revisão do nível conceitual devido à independência física de dados. Gabarito: Errado.
132
17. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza/Ciência da Computação, Informática, Processamento de Dados/2023 Com relação a conceitos de modelos de dados e de modelagem de dados, julgue o item subsecutivo. Na construção de um banco de dados, o modelo conceitual utiliza os requisitos de negócio, que são decompostos em entidades, atributos e relacionamentos atômicos, e aplica regras para evitar redundâncias.
O item está incorreto, se você observar, existem dois tipos de requisitos quando falamos de projetos de banco de dados, os requisitos de negócio que dão origem às funcionalidades do sistema e os requisitos de dados que endereçam o modelo de dados. Entidade, atributos e relacionamentos são elementos da modelagem conceitual que fazem parte da modelagem de dados. Logo, temos uma alternativa incorreta. Gabarito: Errado
133
18. CEBRASPE (CESPE) - Ana (MPE RO)/MPE RO/Sistemas/2023 Assinale a opção que apresenta, respectivamente, uma função da administração de dados e uma função da administração de banco de dados. a) projetar o banco de dados; otimizar o banco de dados para melhorar o seu desempenho b) garantir a segurança e a privacidade dos dados; viabilizar a recuperação e o backup dos dados c) criar scripts SQL e fazer a manutenção delas; executar a modelagem conceitual do sistema d) gerenciar as transações e a concorrência dos dados; definir e manipular os dados e) administrar o hardware e os servidores do banco de dados; realizar a definição e a manutenção dos requisitos de negócio
A função de projetar o banco de dados está mais relacionada à administração de dados, enquanto a otimização do banco de dados para melhorar o desempenho está mais associada à administração de banco de dados. - **Administração de Dados:** Envolve a **gestão estratégica** e governança dos dados na organização, incluindo políticas, qualidade dos dados, e segurança. - **Administração de Banco de Dados:** Foca na **manutenção técnica** dos sistemas de banco de dados, como instalação, desempenho, backups e segurança a nível de banco de dados. A opção correta é, portanto, a letra A. Gabarito: A
134
19. Cebraspe – Quality Assurance (QA) e Analista de Teste (BANRISUL)/2022 A respeito da arquitetura de banco de dados relacional, julgue os itens seguintes. Um modelo relacional de banco de dados não separa as estruturas de armazenamento físicas das estruturas de dados lógicas, assim administradores de banco de dados podem gerenciar tanto o armazenamento de dados físicos quanto o acesso a esses dados.
A afirmação está **errada**. No modelo relacional, as estruturas de armazenamento físicas são separadas das estruturas lógicas, permitindo que mudanças no armazenamento físico não afetem a forma como os dados são acessados logicamente.
135
20. Ano: 2023 Banca: CESPE / CEBRASPE Órgão: AGER - Mato Grosso Prova: CESPE / CEBRASPE - 2023 - AGER - Mato Grosso - Analista Regulador - Ciências da Computação e ou Sistemas de Informação Assinale a opção em que é apresentada a propriedade envolvida quando uma transação de banco de dados é completada com sucesso e as mudanças que ela fez no banco persistem, mesmo que existam falhas no sistema. a) atomicidade b) consistência c) isolamento d) durabilidade e) inconsistência de dados
Quando existe uma falha no banco de dados e o dado já foi efetivamente gravado na base, o SGBD deve garantir que esse dado não seja perdido, resistindo inclusive a falhas. A propriedade que garante essa característica é conhecida como durabilidade. Logo, temos a nossa resposta na alternativa D. Gabarito: D
136
21. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: POLITEC - RO Prova: CESPE / CEBRASPE - 2022 - POLITEC - RO - Perito Criminal - Área 6 (Ciências da Computação/Informática/Análise de Sistemas) Em uma arquitetura de três esquemas de banco de dados, o nível que descreve a estrutura de todo o banco de dados para uma comunidade de usuários com foco na descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições é denominado: a) nível externo. b) nível do cliente. c) nível interno. d) nível conceitual. e) nível do servidor.
vamos revisar as camadas da arquitetura em 3 esquemas: Nível Interno: Descreve a estrutura de armazenamento físico do banco de dados, incluindo caminhos de acesso e detalhes técnicos. Nível Conceitual: Define a estrutura lógica de todo o banco de dados, focando em entidades, tipos de dados, relações e restrições, sem se preocupar com detalhes físicos. Nível Externo: Compreende visões específicas do banco de dados para diferentes grupos de usuários, mostrando apenas a parte relevante para cada grupo. Gabarito: D
137
22. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: FUB Prova: CESPE / CEBRASPE - 2022 - FUB - Técnico de Tecnologia da Informação Acerca de tipos de bancos de dados, julgue o item que se segue. Nos bancos de dados hierárquicos, cada registro é uma coleção de atributos, sendo a associação entre dois registros denominada ligação.
Nos bancos de dados hierárquicos, cada registro é uma entidade individual com seus próprios atributos. A associação entre dois registros é denominada "relação pai-filho" ou "ligação pai-filho". A ligação pai-filho estabelece a estrutura hierárquica do banco de dados, onde um registro pode ser pai de vários registros filhos, mas um registro filho tem apenas um registro pai. Gabarito: Certo
138
23. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: FUB Prova: CESPE / CEBRASPE - 2022 - FUB - Técnico de Tecnologia da Informação No que se refere a níveis de abstração, modelos de dados e normalização em bancos de dados, julgue o próximo item. O nível de abstração de dados em que é definida detalhadamente a maneira pela qual os dados de um sistema estão estruturalmente armazenados e como podem ser computacionalmente acessados corresponde ao nível de visão do usuário.
O nível físico que é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados. Gabarito: Errado
139
24. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: Petrobras Prova: CESPE / CEBRASPE - 2022 - Petrobras - Analista de Sistemas – Processos de negócio Quanto aos conceitos relativos à arquitetura de dados, julgue o item a seguir. O principal objetivo de um sistema de gerenciamento de banco de dados (SGDB) é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a persistência, a manipulação e a organização dos dados.
A afirmação está correta. O principal objetivo de um Sistema de Gerenciamento de Banco de Dados (SGBD) é exatamente esse: retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a persistência, a manipulação e a organização dos dados. Um SGBD oferece uma camada de abstração entre a aplicação e os dados armazenados, permitindo que os desenvolvedores se concentrem na lógica de negócios da aplicação, em vez de se preocuparem com os detalhes técnicos relacionados ao armazenamento e recuperação de dados. Isso facilita o desenvolvimento, a manutenção e a escalabilidade das aplicações, além de proporcionar maior segurança e controle sobre os dados. Gabarito: Certo
140
25. Ano: 2022 Banca: CESPE / CEBRASPE Órgão: Petrobras Prova: CESPE / CEBRASPE - 2022 - Petrobras - Analista de Sistemas – Processos de negócio Quanto aos conceitos relativos à arquitetura de dados, julgue o item a seguir. O desenvolvimento de soluções inicia pela modelagem de dados conceitual, que é feita geralmente pelo gestor de dados de negócio ou outro profissional acompanhado de sua supervisão e(ou) orientação.
A afirmação está correta. A modelagem de dados conceitual é de fato uma etapa fundamental no desenvolvimento de soluções de software, pois ajuda a definir os conceitos, entidades e relacionamentos-chave que representam os requisitos de negócios de uma organização. A modelagem de dados conceitual é frequentemente conduzida por um profissional especializado em dados, como um analista de negócios ou um arquiteto de dados, em colaboração com outras partes interessadas, como gestores de negócios, usuários finais e desenvolvedores de software. A supervisão e orientação de profissionais experientes são importantes para garantir que a modelagem de dados conceitual reflita com precisão as necessidades e objetivos do negócio. Isso ajuda a evitar mal-entendidos e erros na fase inicial do projeto. Portanto, a modelagem de dados conceitual é uma atividade colaborativa que envolve profissionais de diferentes áreas, com o objetivo de criar uma representação clara e precisa dos requisitos de negócios, que servirá como base para o desenvolvimento de soluções de software. Gabarito: Certo
141
26. Ano: 2021 Banca: CESPE / CEBRASPE Órgão: TCE-RJ Prova: CESPE / CEBRASPE - 2021 - TCE-RJ - Analista de Controle Externo - Especialidade: Tecnologia da Informação Julgue o item a seguir, acerca dos conceitos de administração de banco de dados. A independência de dados é caracterizada pelo fato de os dados não dependerem do esquema físico e não precisarem ser reescritos se o esquema físico do banco de dados for alterado.
O item está correto. A independência de dados é de fato caracterizada pelo fato de os dados não dependerem do esquema físico e de não ser necessário reescrever os dados se o esquema físico do banco de dados for alterado. Existem dois tipos principais de independência de dados: 1. Independência lógica de dados: Isso significa que os programas de aplicação e as consultas não dependem do esquema lógico ou conceitual do banco de dados. Mesmo que o esquema lógico seja modificado, os programas de aplicação que utilizam os dados ainda funcionarão sem a necessidade de modificações. 2. Independência física de dados: Isso significa que os programas de aplicação e as consultas não dependem do esquema físico do banco de dados, ou seja, a forma como os dados são armazenados no disco. Se o esquema físico for modificado (por exemplo, a adição de um novo índice), isso não afetará os programas de aplicação que acessam os dados. A independência de dados é uma característica importante dos sistemas de gerenciamento de banco de dados (SGBDs), pois permite que as organizações realizem alterações no esquema de armazenamento dos dados sem impactar as aplicações que utilizam esses dados. Gabarito: Certo
142
27. Cebraspe – Técnico (Analista de Sistemas) Infraestrutura e Segurança da Informação (BNB)/2022 Os esquemas de um banco de dados dividem fisicamente as tabelas, evitando o acesso cruzado entre objetos de diferentes esquemas.
A afirmação está errada. Esquemas organizam logicamente os objetos do banco de dados e não dividem fisicamente as tabelas nem impedem o acesso cruzado entre objetos de diferentes esquemas.
143
28. CEBRASPE (CESPE) - Analista Judiciário (TJ PA)/Análise de Sistema/Suporte/2020 O administrador de dados e o administrador do banco de dados exercem funções-chave na administração de banco de dados. Ao responsável pelas decisões estratégicas e de normas com relação aos dados da empresa cabe também: a) definir o esquema interno. b) definir o esquema conceitual. c) manter contato com os usuários. d) definir normas de descarga e recarga. e) responder a requisitos de mudanças.
- **Administração de Dados:** Envolve a **gestão estratégica** e governança dos dados na organização, incluindo políticas, qualidade dos dados, e segurança. - **Administração de Banco de Dados:** Foca na **manutenção técnica** dos sistemas de banco de dados, como instalação, desempenho, backups e segurança a nível de banco de dados. Gabarito: B
144
29. CEBRASPE (CESPE) - Analista Judiciário (TJ PA)/Análise de Sistema/Suporte/2020 Um sistema de banco de dados proporciona a empresas o controle centralizado de todos os seus dados. O funcionamento do banco de dados baseia-se em unidades lógicas de trabalho conhecidas como a) entidades. b) ocorrências. c) registros. d) tabelas. e) transações.
e) transações. Em um sistema de banco de dados, o funcionamento é baseado em transações, que são unidades lógicas de trabalho que garantem que operações relacionadas sejam executadas de forma completa e consistente, mantendo a integridade dos dados. Gabarito: E
145
30. CEBRASPE (CESPE) - Assistente Judiciário (TJ AM)/Suporte ao Usuário de Informática/2019 Acerca de sistema gerenciador de banco de dados, do tuning e da segurança em banco de dados, julgue o item subsequente. Uma das vantagens de utilizar sistema gerenciador de banco de dados é o fato de ele realizar o controle da redundância de dados, o que impede a ocorrência de inconsistências entre os arquivos.
A afirmação está **correta**. Uma das principais vantagens de um **sistema gerenciador de banco de dados (SGBD)** é o controle da **redundância de dados**, o que ajuda a evitar inconsistências. Os SGBDs utilizam técnicas de normalização para reduzir a duplicação de dados e garantir que as informações sejam armazenadas de forma consistente e organizada, o que minimiza o risco de inconsistências entre os arquivos. Gabarito: Certo
146
31. Ano: 2019 Banca: CESPE Órgão: SEFAZ-RS Prova: Auditor Assunto: Banco de Dados As funções de um sistema de gerenciamento de banco de dados (SGBD) incluem a) gerenciar o becape e a recuperação dos dados, bem como o escalonamento de processos no processador por meio do banco de dados. b) gerenciar o sistema de arquivos e a segurança do banco de dados. c) gerenciar a entrada e saída de dispositivos, linguagens de acesso ao banco de dados e interfaces de programação de aplicações. d) gerenciar a integridade de dados, o dicionário e o armazenamento de dados, bem como a memória do computador enquanto o SGBD estiver em execução. e) transformar e apresentar dados, controlar o acesso de multiusuário e prover interfaces de comunicação do banco de dados.
Dentre as alternativas acima a única que apresenta funções exclusivas do SGBD é a alternativa E. As demais alternativas tratam de aspectos associados aos sistemas operacionais: A) escalonamento de processos, B) gerenciamento do sistema de arquivos, C) gerenciamento da entrada e saída, D) Gerenciamento de memória. Um Sistema de Gerenciamento de Banco de Dados (SGBD) é um conjunto de componentes que dão suporte à criação, utilização e à manutenção de bancos de dados. Inicialmente, um SGBD proporcionava armazenamento e recuperação eficientes dos dados. Devido às exigências do mercado e à inovação dos produtos, os SGBDs evoluíram e hoje fornecem uma ampla gama de recursos para a aquisição, armazenamento, disseminação, manutenção, recuperação e formatação de dados. Gabarito: E
147
32. CEBRASPE (CESPE) - Assistente Judiciário (TJ AM)/Programador/2019 Julgue o próximo item, relativos a sistema gerenciador de banco de dados (SGBD). Na arquitetura ANSI/SPARC de um SGBD, o nível interno trata do armazenamento físico dos dados, o nível externo trata do modo como os dados são visualizados por usuários individuais, e o nível conceitual oferece uma visão comunitária dos dados.
O objetivo da arquitetura de três esquemas é separar as aplicações do usuário do banco de dados físico. Nessa arquitetura, os esquemas podem ser definidos nos três níveis a seguir: O nível interno tem um esquema interno, que descreve a estrutura do armazenamento físico do banco de dados. O esquema interno usa um modelo de dados físico e descreve os detalhes completos do armazenamento de dados e caminhos de acesso para o banco de dados. O nível conceitual tem um esquema conceitual, que descreve a estrutura do banco de dados inteiro para uma comunidade de usuários. O esquema conceitual oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições. O nível externo ou de visão inclui uma série de esquemas externos ou visões do usuário. Cada esquema externo descreve a parte do banco de dados em que um grupo de usuários em particular está interessado e oculta o restante do banco de dados do grupo de usuários. Desta forma temos uma afirmação correta. Gabarito: Correta
148
34. Ano: 2018 Banca: CESPE Órgão: STM Prova: Técnico Judiciário - Programação de Sistemas Acerca dos conceitos de normalização de dados e dos modelos de dados, julgue o item subsequente. Comparativamente aos usados pelos usuários leigos, os modelos de dados utilizados por programadores são considerados menos abstratos, pois contêm mais detalhes de como as informações estão organizadas internamente no banco de dados.
Os usuários leigos, por terem um conhecimento mais limitado a respeito da tecnologia de banco de dados, devem ter uma visão mais abstrata dos dados quando comparados com os programadores. Estes, por terem conhecimento e formação específica podem ter mais detalhes da estrutura de armazenamento dos dados. Gabarito: C
149
35. Ano: 2018 Banca: CESPE Órgão: CGM de João Pessoa – PB Prova: Auditor Municipal de Controle Interno - Desenvolvimento de Sistemas A respeito de bancos de dados, julgue o item a seguir. Nos bancos de dados construídos sob a concepção do modelo hierárquico, os dados são estruturados em hierarquia ou árvores cujos nós contêm ocorrências de registros, e cada registro consiste em uma coleção de atributos.
Um banco de dados hierárquico consiste em uma coleção de registros que são conectados uns aos outros por meio de ligações. Um registro é uma coleção de campos, cada qual contendo apenas um valor de dados. Uma ligação é uma associação entre exatamente dois registros. O modelo hierárquico difere do modelo de rede na organização de registros como coleção de árvores em vez de como grafos arbitrários. Um diagrama com estrutura de árvore é um esquema para um banco de dados hierárquico. Tal diagrama consiste em dois componentes básicos: retângulos, que correspondem a tipos de registro, e linhas, que correspondem a ligações. O diagrama com estrutura de árvore serve para os mesmos propósitos que um diagrama entidade-relacionamento; a saber, ele especifica a estrutura lógica geral do banco de dados. Após essa rápida reflexão teórica sobre o assunto, podemos marcar nossa resposta como correta. Gabarito: C
150
36. Ano: 2018 Banca: CESPE Órgão: CGM de João Pessoa – PB Prova: Auditor Municipal de Controle Interno - Desenvolvimento de Sistemas A respeito de bancos de dados, julgue o item a seguir. Um banco de dados é uma coleção de dados que são organizados de forma randômica, sem significado implícito e de tamanho variável, e projetados para atender a uma proposta específica de alta complexidade, de acordo com o interesse dos usuários.
A afirmação está **errada**. Um banco de dados não é organizado de forma randômica. Em vez disso, os dados são organizados de maneira estruturada e com significado implícito, seguindo um esquema que define a forma como os dados são armazenados e relacionados. O objetivo de um banco de dados é proporcionar uma organização sistemática que facilite o acesso, a manipulação e a gestão dos dados de forma eficiente, atendendo às necessidades específicas dos usuários. Gabarito: E
151
37. Ano: 2018 Banca: CESPE Órgão: TCE-PB Prova: Auditor de Contas Públicas - Demais Áreas A respeito de SGBDs, assinale a opção correta. a) Um SGBD, por definição, não é flexível, dada a dificuldade de mudar a estrutura dos dados quando os requisitos mudam. b) Um SGBD é um software que não prevê as funções de definição, recuperação e alteração de dados, sendo essa tarefa a função básica de um sistema de banco de dados. c) A consistência de dados é o princípio que determina a manutenção de determinado dado em vários arquivos diferentes. d) Conforme o princípio da atomicidade, caso ocorra erro em determinada transação, todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como se a transação nunca tivesse sido executada. e) O controle de concorrência é 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.
Vamos analisar as alternativas acima. Elas são relevantes para consolidar nosso conhecimento sobre o assunto. Começando pela alternativa A, o erro aparece quando o examinador afirmar que os SGBDs não são flexíveis. Lembre-se que um SGBD veio solucionar um problema de replicação dos dados em diversos arquivos distintos. Agora, com uma fonte única dos dados, as alterações dos mesmos são centralizadas. Já a alternativa B nos remonta às funcionalidades do SGBD. O que podemos fazer com tal sistema? É possível, primariamente, armazenar e manipular dados, para tal, é necessário descrever as estruturas das tabelas. Todos os SGBDs possuem estrutura para construção do banco de dados, usando uma linguagem como SQL. Sendo assim, a alternativa B também está incorreta. As próximas duas alternativas tratam das propriedades das transações, mais especificamente da consistência, que tem por objetivo levar o banco de dados de um estado válido para outro estado consistente, e da atomicidade, que parte do princípio que uma transação é composta por vários comandos de modificação da base de dados e que estes comandos devem ser executados em conjunto completamente ou não serem executados. Desta forma, para garantir a atomicidade, caso uma transação falhe todas as operações já efetivadas precisam ser desfeitas. Desta forma, a alternativa C está incorreta e a alternativa D é a nossa resposta. Por fim, o controle de concorrência é um mecanismo que permite que apenas um usuário consiga modificar um dado do sistema em um determinado momento. É importante entender que é possível várias pessoas terem acesso aos dados para leitura. Como se todos estivessem lendo um livro. Contudo, na hora de escrever, só existe uma caneta e, se alguma pessoa estiver de posse da caneta, apenas ela poderá fazer alterações na base. Gabarito: D
152
38. CESPE - Analista Ministerial (MPE PI)/Tecnologia da Informação/2018 Tendo em vista que, ao se desenvolver um sistema de vendas e compras para um cliente, devem-se descrever os produtos, as entradas, as saídas, o controle de estoque e o lucro das vendas, julgue o item subsequente, relativo à modelagem de dados para a aplicação descrita. No sistema implementado, o cliente terá de cadastrar cada produto nos módulos de vendas e compras, pois a redundância será controlada pelo usuário, e não pela modelagem do banco de dados.
A intenção de criar qualquer sistema computacional é, via de regra, automatizar e facilitar uma determinada atividade do negócio. A modelagem de dados serve justamente para evitar a redundância dos dados, mantendo a unicidade dos dados para que não haja dados conflitantes no sistema. A assertiva está incorreta e uma possível correção para a mesma seria: “No sistema implementado, o cliente não terá de cadastrar cada produto nos módulos de vendas e compras, pois a redundância será tratada na fase da modelagem do banco de dados”. Gabarito: E
153
39. Ano: 2016 Banca: CESPE Órgão: TCE-SC Prova: Auditor Fiscal de Controle Externo - Informática Com relação aos bancos de dados relacionais, julgue o próximo item. O catálogo de um sistema de gerenciamento de banco de dados relacional armazena a descrição da estrutura do banco de dados e contém informações a respeito de cada arquivo, do tipo e formato de armazenamento de cada item de dado e das restrições relativas aos dados.
Perceba que a definição acima está de acordo com o termo dicionários de dados, catálogo de dados ou metadados presentes em um sistema de banco de dados. Lembre-se que essa separação entre a descrição dos dados e os dados propriamente dito é uma das características relevantes que foram apresentadas na evolução de sistemas de arquivos para a abordagem de banco de dados. Sendo assim, podemos afirmar que a questão está correta! Gabarito: C
154
40. CESPE - Técnico (FUB)/Tecnologia da Informação/2016 Acerca dos conceitos de bancos de dados, julgue o item seguinte. Uma solução para evitar a redundância controlada de informações é o uso do compartilhamento de dados; dessa forma, cada informação é armazenada uma única vez.
Lembrando da nossa qual que existe dois tipos de redundâncias: Redundância controlada de dados: Acontece quando o software tem conhecimento da múltipla representação da informação e garante a sincronização entre as diversas representações. Redundância não controlada: Acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de uma informação está com o usuário e não com o software. A solução para redundância não controlada é o compartilhamento de dados, ou seja, todos os usuários acessam a mesma fonte de dados. Uma forma de corrigir a afirmação seria: “Uma solução para evitar a redundância não controlada de informações é o uso do compartilhamento de dados; dessa forma, cada informação é armazenada uma única vez.” Da forma como está escrito na questão, o item pode ser assinalado como INCORRETO. Gabarito: E
155
41. CESPE - Técnico Judiciário (STM)/Apoio Especializado/Programação de Sistemas/2018 Acerca dos conceitos de normalização de dados e dos modelos de dados, julgue o item subsequente. O modelo conceitual, que reflete uma estrutura simplificada do banco de dados, é responsável por registrar como os dados estão armazenados no sistema de gerenciamento de banco de dados (SGBD.)
Vejamos uma lista das características presentes nos diferentes níveis de modelos de dados: Modelo Conceitual ● É uma descrição de banco de dados de forma independente de implementação num sistema de gerenciamento. ● Registra quais dados podem aparecer no banco, mas não registra COMO estes dados estão armazenados no SGBD. (Veja que o modelo registra o quê e não como, logo a alternativa está incorreta.) ● Oferecem conceitos que são próximos ao modo como muitos usuários percebem os dados. ● Os modelos de dados conceituais utilizam conceitos como entidades, atributos e relacionamentos. Modelo Lógico ● Também conhecidos como modelos de dados representativos ou de implementação ● Mostram os dados usando estruturas de registro e, portanto, às vezes são denominados modelos de dados baseados em registros. Modelo Físico ● Descrevem o armazenamento dos dados como arquivos no computador, com informações como formatos de registro, ordenações de registro e caminhos de acesso. ● Um índice é um exemplo de um caminho que permite o acesso direto aos dados usando um termo de índice ou uma palavra-chave. Assim, podemos marcar a afirmação como incorreta. Gabarito: E
156
42. CESPE - Analista de Gestão Educacional (SEDF)/Tecnologia da Informação/2017 Julgue o item seguinte, a respeito de estruturas em programação e de arquiteturas de bancos de dados. O esquema do nível externo de uma arquitetura de três esquemas oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições.
Segundo o Elmasri, os níveis da arquitetura em 3 esquemas podem ser descritos da seguinte forma: 1. O nível interno tem um esquema interno, que descreve a estrutura do armazenamento físico do banco de dados. O esquema interno usa um modelo de dados físico e descreve os detalhes completos do armazenamento de dados e caminhos de acesso para o banco de dados. 2. O nível conceitual tem um esquema conceitual, que descreve a estrutura do banco de dados inteiro para uma comunidade de usuários. O esquema conceitual oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições. Normalmente, um modelo de dados representativo é usado para descrever o esquema conceitual quando um sistema de banco de dados é implementado. Esse esquema conceitual de implementação costuma estar baseado em um projeto de esquema conceitual em um modelo de dados de alto nível. 3. O nível externo ou de visão inclui uma série de esquemas externos ou visões do usuário. Cada esquema externo descreve a parte do banco de dados em que um grupo de usuários em particular está interessado e oculta o restante do banco de dados do grupo de usuários. Como no nível anterior, cada esquema externo é comumente implementado usando um modelo de dados representativo, possivelmente baseado em um projeto de esquema externo em um modelo de dados de alto nível. O texto da questão mistura os níveis conceitual e externo, logo, temos uma alternativa incorreta. Gabarito: E
157
43. CESPE - Técnico Judiciário (TRE BA)/Apoio Especializado/Operação de Computadores / 2017 Na modelagem de dados, a capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior, é denominada a) integridade de domínio. b) esquema. c) especialização total. d) independência de dados. e) cardinalidade.
A arquitetura de três esquemas pode ser usada para explicar melhor o conceito de independência de dados, que pode ser definida como a capacidade de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema no nível mais alto. Podemos definir dois tipos de independência de dados: Independência lógica de dados é a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação. Podemos alterar o esquema conceitual para expandir o banco de dados (acrescentando um tipo de registro ou item de dado), para alterar restrições ou para reduzir o banco de dados (removendo um tipo de registro ou item de dado). No último caso, esquemas externos que se referem apenas aos dados restantes não seriam afetados. Independência física de dados é a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. Logo, os esquemas externos também não precisam ser alterados. Mudanças no esquema interno podem ser necessárias porque alguns arquivos físicos foram reorganizados — por exemplo, ao criar estruturas de acesso adicionais — para melhorar o desempenho da recuperação ou atualização. Logo, temos nossa resposta na alternativa D. Gabarito: D
158
44. CESPE - Técnico Judiciário (TRT 7ª Região)/Apoio Especializado/Tecnologia da Informação/2017 Acerca da arquitetura de três esquemas para bancos de dados, assinale a opção correta. a) Uma alteração no esquema interno da arquitetura implica alterar também o esquema externo. b) Na arquitetura de três esquemas, os níveis são definidos como interno, intermediário e externo. c) No nível interno da arquitetura, são descritos os caminhos de acesso para o banco de dados. d) Em um SGBD embasado nessa arquitetura, todos os grupos de usuários utilizam o mesmo esquema externo.
Vamos comentar cada uma das alternativas acima: a) Errada. Pela definição de independência de dados uma alteração no esquema interno da arquitetura não implica em alterar o esquema conceitual nem o esquema externo. b) Errada. Os três níveis da arquitetura em 3 esquemas são interno, conceitual e externo. c) Essa é a nossa resposta. O esquema interno usa um modelo de dados físico e descreve os detalhes completos do armazenamento de dados e caminhos de acesso para o banco de dados. d) Errada. Cada esquema externo descreve a parte do banco de dados em que um grupo de usuários em particular está interessado e oculta o restante do banco de dados do grupo de usuários. Gabarito: C
159
45. CESPE - Técnico Judiciário (TRE TO)/Apoio Especializado/Programação de Sistemas/2017 A respeito da arquitetura de três esquemas para banco de dados, assinale a opção correta. a) Uma das desvantagens da arquitetura de três esquemas é a impossibilidade de aplicar a independência de dados. b) Um dos objetivos da arquitetura de três esquemas é aproximar o banco de dados físico das aplicações. c) O nível conceitual serve para descrever a estrutura do banco de dados para um conjunto de usuários. d) Mapeamentos são as transformações que dados brutos armazenados sofrem para se tornar informações inteligíveis. e) O nível interno inclui uma série de visões do usuário utilizadas para descrever partes do banco de dados.
Vamos analisar cada uma das alternativas: a) Errado. Uma das características da arquitetura em 3 esquemas é justamente a independência de dados que pode ser classificada em independência lógica e independência física. b) Errado. Um dos objetivos da arquitetura é abstrair a complexidade dos dados no nível físico para as aplicações. c) Certo! O nível conceitual descreve um esquema conceitual para uma comunidade de usuários. d) Errado. Os processos de transformação de requisições e os resultados entre os níveis são chamados de mapeamentos. e) Errado. Cada esquema externo descreve a parte do banco de dados em que um grupo de usuários em particular. O nível interno, também conhecido como nível físico, é uma das três camadas do modelo de arquitetura de três esquemas proposto pelo ANSI/SPARC. Ele descreve como os dados são armazenados fisicamente no sistema de gerenciamento de banco de dados (SGBD). Neste nível, os detalhes técnicos de armazenamento e acesso aos dados são especificados. Assim, temos a nossa resposta na alternativa C. Gabarito: C
160
46. CESPE - Auditor de Controle Externo (TCE-PA)/Informática/Administrador de Banco de Dados/2016 Com relação a sistemas gerenciadores de bancos de dados (SGBD), julgue o próximo item. No nível conceitual da arquitetura de três camadas de banco de dados, cada esquema externo descreve a parte do banco que interessa a determinado grupo de usuários e oculta desse grupo o restante do banco de dados.
O nível externo ou de visão inclui uma série de esquemas externos ou visões do usuário. Cada esquema externo descreve a parte do banco de dados em que um grupo de usuários em particular está interessado e oculta o restante do banco de dados do grupo de usuários. Gabarito: E
161
47. CESPE - Auditor de Controle Externo (TCE-PA)/Informática/Analista de Sistema/2016 Julgue o item subsequente, no que se refere a sistemas de gerenciamento de bancos de dados (SGBD). Independência lógica de dados refere-se à capacidade de alterar o esquema conceitual sem a necessidade de alterar os esquemas externos ou os programas de aplicação.
Independência lógica de dados é a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação. Podemos alterar o esquema conceitual para expandir o banco de dados (adicionando um tipo de registro ou item de dado), para alterar restrições ou para reduzir o banco de dados (removendo um tipo de registro ou item de dado). Gabarito: C
162
48. CESPE - Técnico (FUB)/Tecnologia da Informação/2016 Acerca dos conceitos de bancos de dados, julgue o item seguinte. Em um projeto de banco de dados, a modelagem conceitual define quais dados vão aparecer no banco de dados, mas sem considerar a sua implementação.
Exatamente, um modelo conceitual é um modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular. Somente o modelo físico que dependerá de sua implementação. Portanto, gabarito CERTO. Gabarito: C
163
49. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO - SUPORTE E INFRAESTRUTURA Julgue os itens a seguir, relativos à administração de banco de dados e ao sistema de gerenciamento de banco de dados (SGBD). Os dados físicos de um banco de dados podem ser acessados diretamente por meio de qualquer sistema, sem a necessidade de utilização do SGBD. Uma das atribuições do administrador de banco de dados é definir a estratégia que determinará como será feito o becape do banco de dados.
Aproveitaremos essa questão para fazer um comentário técnico e prático sobre o assunto em cada uma das alternativas. Na assertiva 69 diz que o acesso aos bancos de dados pode ser feito fisicamente sem a necessidade de um SGBD. Essa afirmação é falsa, se você lembrar das conexões que são feitas aos bancos, você precisa passar as informações de endereço (IP ou URL), porta, schema e um driver ou conector, que vai permitir uma comunicação correta entre o sistema e o banco de dados, além da autenticação do usuário. Sendo, portanto, incorreta a alternativa. A alternativa 70 faz menção a uma das tarefas técnicas executadas pelo DBA. É necessário definir um roteiro ou procedimento de backup do banco de dados. Neste são definidos a periodicidade, o tipo de backup, a mídia de armazenamento e outras especificidades. Essa é uma das tarefas mais importantes feitas pelo DBA. Sendo assim, a alternativa está correta. Gabarito: E; C
164
50. BANCA: CESPE ANO: 2013 ÓRGÃO: MC PROVA: ANALISTA DE NÍVEL SUPERIOR - TECNOLOGIA DA INFORMAÇÃO Julgue os itens a seguir, acerca dos fundamentos e das finalidades do banco de dados. [1] Atualmente, os bancos de dados são utilizados para armazenar e processar dados de caracteres em geral, não apresentando recursos para tratar dados multimídias, como filmes e fotografias. [2] Uma característica fundamental do banco de dados e dos antigos sistemas de arquivos é o inter-relacionamento dos dados, sem redundâncias ou duplicação de dados. [3] Para definir e manter os dados em um banco é necessário o uso de sistemas de aplicação, o que caracteriza a dependência de dados, que é um fundamento do banco de dados.
Vamos analisar as alternativas acima. Começando pelo item 51. Veja que a questão sugere que existe uma limitação nos tipos de dados armazenados em bancos de dados. Sabemos que todos os SGBDs comerciais que implementam SQL possuem o tipo de dados BLOB – Binary Large Object. Nele é possível gravar qualquer informação em formato binário como arquivos multimídias. Falaremos mais sobre tipos de dados na aula sobre SQL. Podemos então marcar a alternativa como incorreta. Observem que a alternativa 52 tenta comparar os sistemas de arquivos com os bancos de dados colocando uma das suas principais diferenças como uma similaridade entre eles. A diminuição da redundância e da duplicação ocorre primordialmente com a evolução dos sistemas de arquivo para os sistemas de bancos de dados. Sendo assim, a alternativa também está incorreta. Vimos que por estarem isolados, dados e aplicações, criam um conceito chamado independência de dados do programa. Isso só é possível por conta da abstração de dados. A abstração de dados permite a criação de diferentes níveis de modelos. Falaremos mais sobre os níveis de abstração quando apresentarmos os modelos de dados. Mas, por enquanto, o nosso conhecimento já é suficiente para analisarmos a questão 53 como errada. Gabarito: E; E; E
165
51. BANCA: CESPE ANO: 2014 ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO - SUPORTE E INFRAESTRUTURA Julgue os itens a seguir, relativos à administração de banco de dados e ao sistema de gerenciamento de banco de dados (SGBD). Um SGBD deve gerenciar o acesso múltiplo aos dados de uma tabela sem ocasionar perda da integridade dessas informações.
Vejam que o SGBD possui como uma das suas características fazer o controle de concorrência entre diferentes usuários ou transações que acessam uma mesma tabela, ou um conjunto de dados no modelo relacional. Isso é importante para garantir a integridade dos registros e a consistência das transações executadas. Desta forma, podemos marcar a alternativa como correta! Gabarito: C
166
52. BANCA: CESPE ANO: 2015 ÓRGÃO: MPOG PROVA: ANALISTA - ANALISTA EM TECNOLOGIA DA INFORMAÇÃO Acerca de sistema de gerenciamento de banco de dados (SGBD), julgue os seguintes itens. [1] Os dados armazenados em um SGBD são acessados por um único usuário de cada vez, sendo impedido o acesso concorrente aos dados. [2] O SGBD proporciona um conjunto de programas que permite o acesso aos dados sem exposição dos detalhes de representação e armazenamento de dados, por meio de uma visão abstrata dos dados, conhecida como independência de dados.
Vimos na nossa aula que uma das características de SGBDs é o suporte a usuários simultâneos. O SGBD faz o controle de concorrência entre transações que tentam acessar a mesma tabela ao mesmo tempo. A alternativa 1 está incorreta. O Sistema de Gerenciamento de Banco de Dados (SGBD) realmente proporciona um conjunto de programas que permitem o acesso aos dados de forma abstrata, sem a necessidade de conhecer os detalhes de sua representação e armazenamento. Esse conceito é conhecido como independência de dados e é uma das características fundamentais de um SGBD. A independência de dados permite que os usuários interajam com os dados de maneira mais intuitiva, utilizando consultas e operações sem precisar se preocupar com os detalhes técnicos subjacentes do armazenamento dos dados. Isso facilita o desenvolvimento de aplicativos e torna o gerenciamento dos dados mais eficiente e flexível. Uma das características que já conhecemos é a independência entre dados e programas. Vimos que a partir do momento em que temos um dicionário de dados, é possível excluir da estrutura dos programas a definição dos dados presentes nos mesmos. Agora isolados, dados e aplicações, criam um conceito chamado independência de dados do programa. Isso só é possível por conta da abstração de dados. A abstração de dados permite a criação de diferentes níveis de modelos. Por isso a alternativa 2 está correta. Gabarito: E; C
167
53. BANCA: CESPE ANO: 2015 ÓRGÃO: DEPEN PROVA: AGENTE PENITENCIÁRIO FEDERAL - TECNOLOGIA DA INFORMAÇÃO No que diz respeito a linguagens de programação e banco de dados, julgue os itens a seguir. Os níveis interno, externo e conceitual da arquitetura de um banco de dados são responsáveis, respectivamente, por gerenciar o modo como os dados serão armazenados fisicamente, por gerenciar o modo como os dados serão vistos pelos usuários e por representar todo o conteúdo de informações do banco de dados.
Falamos sobre a arquitetura três esquemas: interno, conceitual e externo. Observem que a alternativa acima está correta. Vá se acostumando com os termos e conceitos: O nível externo é o nível do usuário. Cada grupo de usuários pode ter uma visão externa separada (ou visão, para resumir) de um banco de dados customizado para as necessidades específicas do grupo. O esquema conceitual define um banco de dados de uma empresa que pode ser bastante grande, com centenas de tipos de entidade e relacionamentos. O esquema conceitual representa o banco de dados inteiro. O esquema interno representa a visão do armazenamento do banco de dados. O esquema interno define arquivos, grupos de dados em um dispositivo de armazenamento como um disco rígido. Gabarito: C
168
54. BANCA: CESPE ANO: 2013 ÓRGÃO: MC PROVA: ANALISTA DE NÍVEL SUPERIOR - TECNOLOGIA DA INFORMAÇÃO Julgue os itens subsequentes, quanto à administração de banco de dados. [1] O administrador do banco de dados não deve gerenciar a utilização do espaço em disco nos servidores, pois sua função limita-se à utilização de ferramentas de gerenciamento com o objetivo de garantir a disponibilidade dos serviços de banco. [2] A administração de banco de dados abrange a definição e a alteração de esquema, que, em alguns casos, são tarefas importantes para melhorar o desempenho do banco de dados.
Nesta questão tratamos mais uma vez das funções do administrador de banco de dados. Responsável pelo suporte técnico às atividades do SGBD, uma das suas atividades envolve monitorar o crescimento das bases de dados em disco ou no conjunto de discos. Essa ação está relacionada ao controle da capacidade de armazenamento do banco de dados. Quando o espaço disponível se aproxima de zero ele deve trabalhar para alocar mais espaço. Esse serviço faz parte da garantia de disponibilidade do banco de dados. Sendo assim, a alternativa 1, pode ser considerada errada. O ajuste fino ou tuning dos esquemas de banco de dados são de responsabilidade do DBA. Esses ajustes ajudam a melhorar o desempenho do banco de dados. Temos a alternativa 2 como correta. Gabarito: E; C
169
55. BANCA: CESPE ANO: 2013 ÓRGÃO: ANTT PROVA: ANALISTA ADMINISTRATIVO - INFRAESTRUTURA DE TI No que diz respeito às funções do administrador de dados e à elaboração e implantação de projeto de banco de dados, julgue os itens que se seguem. Uma das funções do administrador de dados é padronizar os dados, documentando as definições e descrições dos itens de dados.
Vimos que uma das funções do administrador de dados é trabalhar com os dados e sua organização de forma global. Ele tem a responsabilidade de padronizar valores e definir domínios que sejam coerentes com o negócio. Podemos avaliar a alternativa 89 como correta, pois está de acordo com nosso conhecimento. Gabarito: C
170
56. Ano: 2010 Banca: CESPE Órgão: Banco da Amazônia Prova: Técnico Científico - Tecnologia da Informação O dicionário de dados é uma das principais ferramentas para a administração dos dados corporativos. Por meio da engenharia reversa, pode-se armazenar os modelos de dados, as estruturas de dados, seus relacionamentos e toda a documentação necessária para garantir facilidade na localização e manipulação dos dados. Acerca dos papéis do administrador de dados (AD) e dos dicionários de dados, julgue os itens a seguir. [1] O dicionário de dados é considerado um subconjunto das funções de um catálogo de sistema. [2] O catálogo do sistema é um repositório com função de armazenar as definições dos esquemas dos bancos de dados.
É importante lembrar que existe uma hierarquia entre os objetos ou elementos em um dicionário de dados. Um dicionário de dados possui a descrição dos esquemas ou catálogo de sistemas. Cada catálogo deve conter a descrição dos objetos que fazem parte do contexto de um sistema, como tabelas, visões e domínios. Dentro das definições das tabelas temos as descrições dos atributos e restrições de integridades dos dados. Assim, ao analisar as alternativas acima, podemos inferir que a alternativa [1] encontra-se incorreta, já a afirmação [2] está certa! Gabarito: E; C
171
1. (CESGRANRIO/IPEA/2024/Desenvolvimento de sistemas) Considere os diferentes paradigmas de modelagem de dados: relacional, orientada a objetos e mapeamento objeto-relacional. Sobre esses paradigmas, verifica-se que (A) a modelagem orientada a objetos permite a representação de entidades complexas com atributos e comportamentos, refletindo mais de perto o mundo real. (B) a modelagem relacional é mais flexível do que a orientada a objetos, pois permite uma representação mais dinâmica dos dados. (C) o mapeamento objeto-relacional é um método exclusivo da modelagem relacional, permitindo a conversão direta de objetos em tabelas. (D) o mapeamento objeto-relacional é uma técnica exclusiva da modelagem orientada a objetos, não sendo aplicável a sistemas baseados em modelagem relacional. (E) os dados, na modelagem orientada a objetos, são representados como tabelas com linhas e colunas, semelhante à abordagem relacional.
A resposta correta é: (A) a modelagem orientada a objetos permite a representação de entidades complexas com atributos e comportamentos, refletindo mais de perto o mundo real. Na modelagem orientada a objetos, as entidades são representadas como objetos que podem ter atributos e métodos (comportamentos) associados a eles. Isso permite uma representação mais próxima do mundo real, onde os objetos podem ter características e ações associadas a eles. Por outro lado, na modelagem relacional, os dados são representados em tabelas com linhas e colunas, enquanto o mapeamento objeto-relacional é uma técnica que permite a integração de conceitos da modelagem orientada a objetos com bancos de dados relacionais, permitindo o armazenamento de objetos em bancos de dados relacionais. Gabarito: A
172
2. (CESGRANRIO - Esc BB/BB/Agente de Tecnologia/2023 TI - Banco de Dados - Conceitos Iniciais de Bancos de Dados) Um banco de dados (BD) persiste dados de forma organizada e controlada. Em adição, um BD deve prover recursos para permitir que consultas que necessitem de velocidade (baixo tempo de resposta) no acesso aos dados possam ter um bom desempenho. Um dos recursos que um profissional de tecnologia da informação tem à disposição para configurar um BD, de modo a melhorar o desempenho de consultas selecionadas, é a criação de a) regras de integridade b) visões não materializadas c) índices d) sequências e) gatilhos
A criação de índices é um recurso que os profissionais de tecnologia da informação têm à disposição para melhorar o desempenho de consultas selecionadas em um banco de dados. Os índices são estruturas que proporcionam acesso mais rápido aos dados com base em determinadas colunas ou expressões. E les ajudam a acelerar a recuperação de registros durante consultas, tornando as operações de busca mais eficientes. Gabarito: C
173
3. (CESGRANRIO - PTNS (TRANSPETRO) / TRANSPETRO / Análise de Sistemas / Infraestrutura/2023 - TI - Banco de Dados - Arquitetura ANSI/SPARC) O princípio de independência de dados é um conceito fundamental no modelo relacional de bancos de dados. A aplicação prática deste princípio permite que os bancos de dados sejam gerenciados, otimizados e modificados eficientemente sem a necessidade de realizar modificações extensivas em cada aplicação ou consulta que utiliza o banco de dados, facilitando a manutenção e a evolução dos sistemas. Na arquitetura de referência ANSI/SPARC, que é composta por três níveis de esquema — externo, conceitual (ou lógico) e interno —, o princípio de independência de dados é expresso por meio da a) necessidade de alterar o esquema externo quando ocorrem mudanças no esquema interno. b) obrigatoriedade de alterar os programas aplicativos quando há uma modificação no esquema interno. c) incapacidade de realizar mudanças no esquema conceitual sem afetar os esquemas externos. d) dependência entre os esquemas, garantindo que uma modificação em um nível requer alterações em todos os níveis. e) capacidade de modificar o esquema interno sem afetar o esquema conceitual e, portanto, sem afetar os esquemas externos e os programas aplicativos.
O princípio de independência de dados na arquitetura de referência ANSI/SPARC é expresso por meio da: e) capacidade de modificar o esquema interno sem afetar o esquema conceitual e, portanto, sem afetar os esquemas externos e os programas aplicativos. Esse princípio enfatiza a separação entre os diferentes níveis de esquema (interno, conceitual e externo), permitindo que as mudanças no nível interno não impactem os níveis conceitual e externo. Isso proporciona flexibilidade e facilidade na manutenção e evolução do banco de dados sem afetar as aplicações que o utilizam. Gabarito: E
174
4. (CESGRANRIO - PTNS (TRANSPETRO) / TRANSPETRO / Análise de Sistemas / Infraestrutura/2023 TI - Banco de Dados - Definições e Propriedades do SGBD) É possível a um sistema de gerenciamento de banco de dados (SGBD) fornecer acesso contínuo aos dados, mesmo em face de falhas de hardware, de software ou de rede. Essa capacidade é atingida ao implementar-se a seguinte estratégia: a) normalização de esquemas b) agendamento de consultas c) replicação de dados d) backup de dados e) indexação de tabelas
A capacidade de fornecer acesso contínuo aos dados, mesmo em face de falhas de hardware, software ou rede, é geralmente atingida através da estratégia de: c) Replicação de dados. A replicação de dados envolve a criação de cópias redundantes de dados em locais diferentes, o que permite que o sistema continue operando mesmo se ocorrerem falhas em um dos locais. Essa prática ajuda a melhorar a disponibilidade e a tolerância a falhas no gerenciamento de banco de dados. Gabarito: C
175
7. BANCA: CESGRANRIO ANO: 2012 ÓRGÃO: LIQUIGÁS PROVA: PROFISSIONAL DE TECNOLOGIA DA INFORMAÇÃO - ADMINISTRADOR DE BANCO DE DADOS A arquitetura ANSI/SPARC de um Sistema Gerenciador de Banco de Dados (SGBD) divide-se nos níveis a) externo, conceitual e interno b) externo, lógico e recuperador c) interno, indexador e lógico d) físico, conceitual e lógico e) físico, indexador e recuperador
Questão água com açúcar, quais seriam os níveis da arquitetura ANSI/SPARC? Externo, Conceitual e Interno! Gabarito: A.
176
8. BANCA: CESGRANRIO ANO: 2010 ÓRGÃO: ELETROBRAS PROVA: ANALISTA DE SISTEMAS - ENGENHARIA DE SOFTWARE Um Modelo de Dados corresponde a uma descrição formal da estrutura de um banco de dados. Com relação à Modelagem de Dados, relacione os modelos, apresentados na coluna da esquerda, à respectiva característica, entre as indicadas na coluna da direita. Estão corretas as associações: a) I – P, II - Q, III - R. b) I - Q, II - R, III - S. c) I - S, II - P, III - R. d) I - S, II – R, III - Q. e) I - S, II - P, III -Q.
Veja que a questão trata dos níveis de modelo. Os três modelos definidos pela questão são conceitual, lógico e físico. O modelo conceitual apresenta aos usuários dos sistemas uma modelagem que esconde detalhes de implementação por meio da abstração e muitas vezes restringe o escopo do banco de dados a apenas as entidades que fazem parte do contexto do usuário. Observem também que o fato de ser abstrato e independente de um SGBD particular é uma característica do modelo de dados conceitual. O modelo lógico, segundo Carlos Heuser, é o modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD. O modelo lógico nos traz à lembrança dos modelos baseados em registros em Rede, Hierárquico e Relacional. O modelo relacional ainda é o mais usado dentro do mercado de banco de dados. Por fim, temos o modelo físico que trata de detalhes das estruturas de armazenamento das informações dentro dos storages. Vejam que, pelo exposto, nossa resposta encontra-se na alternativa C. Gabarito: C
177
10. Ano: 2014 Banca: CESGRANRIO Órgão: EPE Prova: Analista de Gestão Corporativa - Tecnologia da Informação Um dicionário de dados utilizado por um desenvolvedor tem como função a) visualizar a estrutura de dados b) identificar significados e conteúdo dos dados c) servir como um inventário dos dados contidos em uma base de dados d) explicitar os modelos de entidades e relacionamentos e) controlar o histórico do acesso a dados pelos usuários
O SGBD deve fornecer uma função de dicionário de dados. Este pode ser considerado um banco de dados isolado que contém os dados sobre os dados, também chamados de metadados ou descritores. Em outras palavras, ele contém definições de outros objetos do sistema. Em particular, todos os vários esquemas e todas as diversas restrições de segurança e integridade estarão armazenados, tanto na forma de fonte quanto de objeto, no dicionário. Podemos perceber que ele possui uma descrição detalhada dos dados, sendo assim, é possível dizer que ele serve como um inventário dos dados contidos em uma base de dados. Gabarito: C
178
11. Ano: 2014 Banca: CESGRANRIO Órgão: EPE Prova: Analista de Gestão Corporativa - Tecnologia da Informação O responsável por um SGBD relacional que apoiava vários sistemas percebeu que havia problemas de desempenho e resolveu criar alguns índices novos. Nenhuma aplicação precisou ser alterada, mas todas se beneficiaram dessa alteração. Isso é um exemplo de que tipo de independência de dados fornecida pelos SGBD? a) Lógica b) Relacional c) Conceitual d) Externa e) Física
O mapeamento conceitual/interno define a correspondência entre a visão conceitual e o banco de dados armazenado. Ele especifica o modo como os registros e campos conceituais são. É de responsabilidade do DBA, ou possivelmente do SGBD, administrar tais alterações. Pode-se dizer que, os efeitos das mudanças devem ser isolados abaixo do nível conceitual, a fim de preservar a independência dos dados física. Logo, a resposta está na alternativa E. Gabarito: E
179
12. Ano: 2014 Banca: CESGRANRIO Órgão: IBGE Prova: Supervisor de Pesquisas - Tecnologia de Informação e Comunicação Segundo a classificação de categorias de modelos de dados, o modelo de dados relacional deve ser entendido como a) conceitual b) externo c) físico d) interno e) representacional
O modelo lógico ou relacional pode ser classificado como um modelo representacional ou de implementação. Podemos relembrar disso olhando para a figura abaixo. Vejam que no nível conceitual temos os modelos entidade-relacionamento. Logo, podemos marcar nossa resposta na alternativa E. Gabarito: E
180
13. Ano: 2014 Banca: CESGRANRIO Órgão: IBGE Prova: Supervisor de Pesquisas - Tecnologia de Informação e Comunicação SQL é uma linguagem dedicada à operação de Bancos de Dados relacionais, padronizada internacionalmente, e que pode ser encontrada nos principais SGBD modernos. Os principais comandos da sua linguagem de manipulação de dados (DML) são: a) ALTER, CREATE e DROP b) CREATE, DELETE, READ e UPDATE c) CREATE, DESTROY, FIND e INCLUDE d) SELECT, DELETE, INSERT e UPDATE e) SELECT, JOIN, PROJECT e RENAME
Os comandos DML (Data Manipulation Language) ou linguagem de manipulação de dados que nos permite inserir, alterar e remover dados de uma tabela. Sendo assim, temos os seguintes comandos: SELECT, DELETE, INSERT e UPDATE. Gabarito: D.
181
14. Ano: 2014 Banca: CESGRANRIO Órgão: IBGE Prova: Supervisor de Pesquisas - Tecnologia de Informação e Comunicação O modelo relacional tornou-se o padrão estabelecido do mercado. Outros modelos anteriores ao modelo relacional, porém, podem ser encontrados em sistemas usados no passado e, algumas vezes, encontrados como sistemas legados nas empresas. Dois desses modelos são os a) em rede e XML b) hierárquico e em rede c) hierárquico e XML d) orientado a objetos e em rede e) orientado a objetos e XML
Segundo o Navathe, dois modelos de dados antigos, importantes historicamente, agora conhecidos como modelos de dados legados, são os modelos em rede e os modelos hierárquicos. O modelo em rede representa os dados como tipos de registros e um tipo de relacionamento 1:N, limitado, chamado tipo conjunto. Esse modelo também foi conhecido como CODADYL DBTG. Já o modelo hierárquico representa os dados como estruturas de árvores hierárquicas. Vejam que, diante da afirmação acima, só podemos marcar nossa resposta na alternativa B. Gabarito: B.
182
15. Ano: 2013 Banca: CESGRANRIO Órgão: IBGE Prova: Analista - Suporte Operacional A independência de dados é uma das propriedades dos SGBDs relacionais. Ela é atingida por meio do uso de três níveis de abstração de dados, representados usualmente na forma dos esquemas a) lógico, relacional e externo b) lógico, conceitual e externo c) físico, conceitual e externo d) físico, externo e de aplicação e) físico, lógico e de aplicação
O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário, ou seja, para o usuário do banco de dados pouco importa qual unidade de armazenamento está sendo usada para guardar seus dados, contanto que os mesmos estejam disponíveis no momento necessário. Esta abstração se dá em três níveis: Nível interno ou físico: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados. Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles. Nível externo ou de visão do usuário: as partes do banco de dados que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários. Sendo assim, nossa resposta está na alternativa C. Gabarito: C.
183
16. Ano: 2013 Banca: CESGRANRIO Órgão: IBGE Prova: Tecnologista - Geoprocessamento O Sistema Gerenciador de Banco de Dados (SGBD) NÃO apresenta a seguinte característica: a) Procurar armazenar os dados, buscando o melhor aproveitamento da memória e visando a recuperá-los de modo eficiente. b) Poder decidir se possui informações suficientes ou não para responder a uma consulta aos dados. c) Saber qual a estrutura interna e de inter-relacionamento entre os dados, de modo a gerir eficientemente o seu armazenamento. d) Descrever as informações a respeito dos dados armazenados — projeção cartográfica, data de criação, fontes de dados e autoria — conhecidas como metadados. e) Permitir a inserção de mapas de uma determinada localidade que contenham nomes ou representações gráficas distintas para as mesmas entidades geográficas.
Um fato importante é que os sistemas de informação geográfico usam os chamados banco de dados geográfico, tais bancos são muito parecidos como os relacionais, exceto pelo fato de suportar dados geométricos em suas tabelas. Sendo assim, a alternativa E não se refere a uma característica dos SGBDs. Gabarito: E
184
17. Ano: 2012 Banca: CESGRANRIO Órgão: EPE Prova: Analista de Gestão Corporativa - Tecnologia da Informação Em uma empresa, a coleção de metadados para prover consistência entre itens de dados através de diferentes tabelas, padronizando definições semânticas e de representação de elementos de dados e melhorando o controle do compartilhamento das informações através das aplicações, é denominada a) Diagrama de entidade relacionamento b) Dicionário de dados c) Modelo conceitual de dados d) Modelo físico de dados e) Diagrama de fluxo de dados
Um dicionário de dados (do inglês data dictionary) é uma coleção de metadados que contêm ções e representações de elementos de dados. Logo, nossa resposta encontra-se na alternativa B. Gabarito: B
185
18. Ano: 2012 Banca: CESGRANRIO Órgão: Petrobras Prova: Analista de Sistemas Júnior - Infraestrutura-2012 Quais as propriedades ACID das transações que um SGDB relacional multiusuário deve garantir? a) Armazenamento, Consistência, Independência e Durabilidade b) Armazenamento, Consistência, Isolamento e Determinação c) Atomicidade, Consistência, Isolamento e Durabilidade d) Atomicidade, Confiabilidade, Isolamento e Durabilidade e) Atomicidade, Confiabilidade, Independência e Determinação
Essa questão é clássica, trata das propriedades de uma transação. A sigla ACID refere- se respectivamente a Atomicidade, Consistência, Isolamento e Durabilidade. Gabarito: C.
186
1. Câmara Municipal de São Paulo/FGV/2024 Com relação aos níveis da arquitetura ANSI/SPARC dos Sistemas Gerenciadores de Bancos de Dados (SGBD) relacionais, assinale (V) para a afirmativa verdadeira e (F) para a falsa. ( ) O nível interno é o mais próximo do meio de armazenamento físico, é uma representação de baixo nível de todo o banco de dados, ele se ocupa do modo como os dados são fisicamente armazenados dentro do SGBD. ( ) O nível externo, também conhecido como o nível lógico de comunidade, é o mais próximo dos usuários finais ou programadores de aplicação, é aquele que se ocupa do modo como os dados são vistos pelos usuários do sistema. ( ) O nível conceitual, também conhecido nível lógico de usuário, é um nível indireto entre os outros dois níveis e representa todo o conteúdo do banco de dados de uma forma um tanto abstrata em comparação como os dados são armazenados logicamente. As afirmativas são, respectivamente, a) F–V–V. b) F–F–V. c) F–V–F. d) V–V–F. e) V–F–F.
As afirmativas são, respectivamente: V–F–F. ● A primeira afirmativa é verdadeira. O nível interno é o mais próximo do meio de armazenamento físico e cuida de como os dados são fisicamente armazenados dentro do SGBD. ● A segunda afirmativa é falsa. O nível externo é o mais próximo dos usuários finais ou programadores de aplicação, não sendo chamado de nível lógico de comunidade. Ele se preocupa com a forma como os dados são vistos pelos usuários do sistema, na perspectiva de grupos de usuários. ● A terceira afirmativa também é falsa. O nível conceitual não é um nível indireto entre os outros dois níveis. Ele representa uma visão abstrata e independente de como os dados são armazenados, não sendo chamado de nível lógico de usuário e sim nível lógico de comunidade. Gabarito: E
187
2. FGV – Professor de Informática (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 sigla ACID refere-se a um conjunto de propriedades fundamentais para garantir a confiabilidade e a integridade dos dados em sistemas de gerenciamento de bancos de dados. Essas propriedades são: A: Atomicidade (Atomicity) C: Consistência (Consistency) I: Isolamento (Isolation) D: Durabilidade (Durability) A propriedade correspondente à letra I em ACID, que se refere ao Isolamento (Isolation), tem como propósito garantir que as transações sejam isoladas umas das outras quando executadas simultaneamente. Isso significa que as operações realizadas em uma transação não devem ser visíveis para outras transações até que a transação seja concluída, garantindo que uma transação não interfira em outra. Gabarito: C.
188
3. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas A figura abaixo ilustra a administração de recursos de dados. O estabelecimento e manutenção do dicionário de dados, o desenvolvimento e aplicação de políticas da propriedade e acesso aos dados e preparação dos planos estratégicos e técnicos para os bancos de dados são atividades a serem implementadas, respectivamente, nas seguintes etapas: a) Administração de Banco de Dados, Planejamento de Dados e Administração de Dados b) Administração de Banco de Dados, Administração de Dados e Planejamento de Dados c) Planejamento de Dados, Administração de Banco de Dados e Administração de Dados d) Administração de Dados, Administração de Banco de Dados e Planejamento de Dados e) Administração de Dados, Planejamento de Dados e Administração de Banco de Dados
Essa questão trata do tema de administração de recursos de dados. É uma perspectiva paralela à abordagem usada pelos livros clássicos de banco de dados. A administração de recursos de dados inclui: Administração de Bancos de Dados. É uma importante função de gerenciamento de recursos de dados responsável pelo uso adequado da tecnologia de gerenciamento de bancos de dados. A administração de bancos de dados possui mais responsabilidades operacionais e técnicas do que outras funções de gerenciamento de recursos de dados. Isto inclui responsabilidade pelo: ∙ Desenvolvimento e manutenção do dicionário de dados da organização. ∙ Projeto e monitoração do desempenho dos bancos de dados ∙ Aplicação de padrões para uso e segurança dos bancos de dados. Planejamento de Dados. O planejamento de dados é uma função de planejamento e análise empresarial que se concentra no gerenciamento de recursos de dados. Ela inclui a responsabilidade pelo: ∙ Desenvolvimento de uma arquitetura global de dados para os recursos de dados da empresa vinculada à missão e planos estratégicos da empresa e aos objetivos e processos de suas unidades de negócios. ∙ O planejamento de dados é um componente importante do processo de planejamento estratégico de uma organização. Ele é feito por organizações que assumiram um compromisso formal com o planejamento de longo alcance para o uso e administração estratégicos de seus recursos de dados. Administração de Dados. É outra função da administração de recursos de dados. Ela envolve: ∙ O estabelecimento e execução de políticas e procedimentos para gerenciamento de dados como um recurso estratégico das empresas. ∙ A administração da coleta, armazenamento e disseminação de todos os tipos de dados de tal forma que os dados se tornem um recurso padronizado disponível para todos os usuários finais na organização. ∙ O planejamento e controle de dados no apoio às funções e objetivos estratégicos de uma organização. ∙ O estabelecimento de uma atividade de planejamento de dados para a organização. ∙ O desenvolvimento de políticas e definição de padrões para arranjos de concepção, processamento e segurança e seleção do software para gerenciamento de bancos de dados e dicionário de dados. Após analisarmos as considerações acima, podemos marcar nossa resposta na alternativa B. Gabarito: B
189
4. ANO: 2014 BANCA: FGV ÓRGÃO: DPE-RJ PROVA: TÉCNICO SUPERIOR ESPECIALIZADO - ADMINISTRADOR DE DADOS A sigla DBA é usualmente empregada para designar um profissional que é responsável a) pela administração, instalação, configuração e monitoramento de instalações de bancos de dados. b) pela concepção, desenvolvimento e implantação de sistemas gerenciadores de bancos de dados. c) pelo processo de coleta e exploração de dados para geração de novos conhecimentos. d) pelo teste e manutenção de sistemas WEB construídos sob a égide de metodologias ágeis. e) pelo treinamento e certificação para utilização de gerenciadores de bancos de dados
A sigla DBA (Database Administrator) se refere a um profissional responsável principalmente pela administração, instalação, configuração e monitoramento de bancos de dados. Esse profissional garante o bom funcionamento dos bancos de dados, a segurança, a integridade e a performance dos sistemas de dados. Gabarito: A
190
5. Ano: 2016 Banca: FGV Órgão: IBGE Cargo: Analista - Análise e Desenvolvimento de Aplicações 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.
Os bancos de dados NoSQL são favorecidos quando a **velocidade e escalabilidade** são prioritárias. Eles são menos adequados para situações onde a **integridade rigorosa dos dados** é essencial e não são a melhor escolha para modelos de dados **estáveis e fixos**. Portanto, a alternativa correta é: Gabarito: E.
191
6. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas O Diagrama Entidade-Relacionamento, proposto por P. Chen, é uma ferramenta tipicamente utilizada para a elaboração do seguinte modelo de dados: a) físico b) interno c) externo d) conceitual e) hierárquico
O Diagrama Entidade-Relacionamento (DER), proposto por Peter Chen, é uma ferramenta utilizada para a elaboração do modelo conceitual de dados. Esse modelo é utilizado para representar de forma gráfica e abstrata as entidades, relacionamentos e atributos de um banco de dados sem considerar aspectos técnicos de implementação. Gabarito: D
192
7. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados NÃO corresponde a um aspecto da modelagem de dados: a) Observação. b) Representação dos objetos. c) Verificação de fidelidade e carências. d) Validações. e) Operação de semijunção.
Na modelagem de dados, os aspectos principais incluem: Observação: Envolve analisar e entender o domínio do problema. Representação dos objetos: Refere-se à criação de representações gráficas dos dados e suas relações. Verificação de fidelidade e carências: Inclui garantir que o modelo reflita corretamente os requisitos e preencha as necessidades do sistema. Validações: Envolve garantir que o modelo esteja correto e que os dados sejam válidos. A operação de semijunção não é um aspecto típico da modelagem de dados. Ela se refere mais a operações em álgebra relacional, que são usadas em consultas e manipulação de dados em bancos de dados. Gabarito: E.
193
8. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Em um Sistema Gerenciador de Banco de Dados - SGBD, os elementos de dados possuem uma estrutura lógica visualizada na forma de tabelas. Nesse sentido, existem inclusive, pacotes nos SGBDs que podem vincular elementos oriundos de várias tabelas desde que essas compartilhem elementos comuns de dados. Essa estrutura lógica de dados é conhecida como do tipo: a) em rede. b) relacional. c) em pilha. d) hierárquica. e) em árvore.
A estrutura lógica de dados onde os elementos são organizados em forma de tabelas e podem ser vinculados através de elementos comuns é conhecida como estrutura relacional. No modelo relacional, os dados são organizados em tabelas (ou relações) e as relações entre os dados são estabelecidas por meio de chaves primárias e estrangeiras. Gabarito: B.
194
9. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Para os diversos tipos de aplicativos com bancos de dados, a arquitetura cliente/servidor oferece as vantagens relacionadas a seguir, À EXCEÇÃO DE UMA. Assinale-a. a) Tráfego de rede reduzido, devido à transmissão de dados mais eficiente. Apenas os dados que o aplicativo precisa são transferidos. b) Melhor flexibilidade, devido aos servidores de banco de dados em vez de bancos de dados de compartilhamento de arquivos. c) Se mais usuários são acrescentados ao sistema, é mais simples escalar as capacidades do sistema para atingir os requerimentos adicionais. d) Operações mais confiáveis e robustas, porque várias cópias de um banco de dados interagem com os dados. e) Capacidade de "missão crítica", como logs de transações, capacidades de backup sofisticadas, vetores redundantes de disco e ferramentas de recuperação de falhas.
A arquitetura cliente/servidor em bancos de dados oferece várias vantagens, incluindo: Tráfego de rede reduzido: Com a arquitetura cliente/servidor, apenas os dados necessários são transferidos, o que reduz o tráfego de rede. Melhor flexibilidade: Servidores de banco de dados oferecem mais flexibilidade em comparação com bancos de dados baseados em compartilhamento de arquivos. Capacidade de "missão crítica": Servidores de banco de dados fornecem capacidades avançadas para logs de transações, backups, recuperação de falhas, etc. No entanto, a opção que não é uma vantagem típica da arquitetura cliente/servidor é: Operações mais confiáveis e robustas devido a várias cópias de um banco de dados interagindo com os dados. A arquitetura cliente/servidor não necessariamente implica que existam várias cópias do banco de dados. Em vez disso, é o sistema de gerenciamento de banco de dados que pode fornecer redundância e robustez, mas isso não é uma característica intrínseca da arquitetura cliente/servidor. Gabarito: D.
195
10. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Desenvolvedor Acerca do nível de visões de um banco de dados, analise as afirmativas a seguir: I. Fornecem mecanismos de segurança, restringindo o acesso dos usuários. II Os usuários vêem um conjunto de aplicações e visualizam os detalhes dos tipos de dados. III. O nível de visões é definido para simplificar a interação entre o usuário final e o banco de dados. 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.
Vamos analisar cada afirmativa: I. Fornecem mecanismos de segurança, restringindo o acesso dos usuários. Correto. O nível de visões de um banco de dados pode fornecer mecanismos de segurança, restringindo o acesso dos usuários aos dados e operações permitidas. II. Os usuários vêem um conjunto de aplicações e visualizam os detalhes dos tipos de dados. Incorreto. No nível de visões, os usuários veem uma visão simplificada dos dados, não necessariamente os detalhes dos tipos de dados. Esse nível é mais sobre a interface e o que o usuário pode acessar, não sobre a estrutura detalhada dos dados. III. O nível de visões é definido para simplificar a interação entre o usuário final e o banco de dados. Correto. O nível de visões simplifica a interação dos usuários finais com o banco de dados ao apresentar apenas as informações necessárias e relevantes para eles. Gabarito: C
196
12. Ano: 2010 Banca: FGV Órgão: SEAD-AP Cargo: Auditor da Receita do Estado Um Banco de Dados é definido como uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Nesse sentido, observe a figura abaixo, que ilustra os níveis de abstração de um banco de dados. Os modelos III e IV são denominados operacional e interno; os modelos I e II são conhecidos, respectivamente por: a) descritivo e conceitual. b) tático e descritivo. c) estratégico e tático. d) gerencial e estratégico. e) conceitual e gerencial.
Essa figura foi retirada do livro do Waldemar Setzer, já foi usada por algumas bancas de concursos, ele difere um pouco as abstrações de banco de dados, vejam na figura. Analisando a figura podemos marcar sem medo a gabarito na alternativa A. Gabarito: A
197
13. Ano: 2013 Banca: FGV Órgão: MPE-MS Cargo: Analista - Análise de Sistemas Com relação ao tema “Sistemas gerenciadores de bancos de dados”, analise as afirmativas a seguir. I. Cabe ao administrador de banco de dados de uma organização definir e modificar esquemas por meio da execução de instruções de definição de dados, conceder diferentes tipos de autorização para acesso a dados e manter rotinas que têm por objetivo garantir a integridade do sistema. II. Cabe ao administrador de banco de dados de uma organização escolher, dentre as diversas ferramentas disponíveis no mercado, as mais adequadas e desenvolver aplicações que utilizem o sistema gerenciador de bancos de dados e que ofereçam interfaces amigáveis para os usuários finais. III. Cabe ao administrador de banco de dados de uma organização acessar o banco de dados e monitorar as tarefas que estão sendo executadas pelos usuários e garantir que o desempenho do sistema não seja prejudicado por elas. 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 II e III estiverem corretas. e) se somente as afirmativas I e III estiverem corretas.
Percebam que os itens I e III estão de acordo com as tarefas desenvolvidas pelo DBA. O item II tem um erro ao afirmar que o DBA desenvolve sistemas, sabemos que isso não é verdade. Gabarito: E
198
2. VUNESP - Ana (EPC)/EPC/Sistemas/2023 No modelo hierárquico de bancos de dados, há a estrutura que estabelece os relacionamentos pai-filho entre registros, sendo correto afirmar que tais relacionamentos a) são do tipo 1:N (um para muitos) do registro pai para os registros filhos. b) são do tipo M:N (muitos para muitos) dos registros pai para os registros filhos. c) não se aplicam a casos em os registros contenham menos do que quatro campos. d) cada registro filho está associado a pelo menos dois registros pai ou superiores. e) aplicam-se apenas a casos em que os registros sejam todos do mesmo tipo.
A opção correta é: a) São do tipo 1:N (um para muitos) do registro pai para os registros filhos. No modelo hierárquico de bancos de dados, os relacionamentos são estabelecidos na forma de uma estrutura de árvore, onde cada nó pode ter vários filhos, mas cada filho tem apenas um pai. Portanto, os relacionamentos são do tipo 1:N, onde um registro pai pode ter vários registros filhos, mas cada registro filho está associado a apenas um registro pai. Gabarito: A
199
1. FUNDATEC - Tec (IFC)/IFC/Tecnologia da Informação/2023 Para construir um banco de dados, são empregados três modelos, executados em ordem, que permitem a sua construção e utilização. O primeiro modelo especifica como os dados são armazenados e relacionados, independentemente de como serão implementados no banco de dados. O segundo modelo é criado com base no tipo de banco de dados utilizado. No terceiro modelo, são definidos os tipos de dados que serão armazenados e emprega a linguagem SQL. O primeiro, segundo e terceiro modelos são denominados, respectivamente: a) Lógico, conceitual e físico. b) Lógico, físico e conceitual. c) Conceitual, lógico e físico. d) Conceitual, físico e lógico. e) Físico, conceitual e lógico.
A sequência correta dos modelos utilizados para construir um banco de dados é: Modelo Conceitual: Especifica como os dados são armazenados e relacionados, independentemente de como serão implementados no banco de dados. Nesta etapa, é criado um modelo de dados de alto nível que representa as entidades, atributos e relacionamentos do domínio do problema. Modelo Lógico: É criado com base no modelo conceitual e representa como os dados serão armazenados em um determinado tipo de banco de dados. Nesta etapa, são definidos os esquemas de banco de dados específicos, como tabelas, chaves primárias, chaves estrangeiras e outras restrições de integridade. Modelo Físico: Define os detalhes de implementação do banco de dados, incluindo os tipos de dados específicos que serão usados, índices, estratégias de armazenamento e otimização de desempenho. Nesta etapa, é empregada a linguagem SQL para criar as tabelas, índices e outras estruturas físicas do banco de dados. Portanto, a sequência correta dos modelos é: c) Conceitual, lógico e físico. Gabarito: C
200
2. FUNDATEC - Ana TI (IFC)/IFC/2023 As decisões de projeto sobre programação e armazenagem de dados são tratadas, respectivamente, nos documentos do projeto do programa e do projeto de armazenagem de dados. Esses assuntos normalmente são tratados pelo Administrador de Dados (AD) dentro das organizações. Assinale a alternativa correta quanto ao papel do AD nas organizações. a) Limita-se apenas a controlar padrões. b) Somente documenta e homologa os modelos. c) Deve garantir a integridade entre os modelos de dados. d) Trabalha na criação da matriz de CRUD. e) Atua no gerenciamento de configuração durante o desenvolvimento.
A alternativa correta é: c). O Administrador de Dados (AD) é responsável por garantir a consistência e a integridade dos dados em toda a organização. Isso inclui garantir que os modelos de dados sejam coesos e consistentes entre si, evitando redundâncias e inconsistências nos dados. Assim, o AD desempenha um papel fundamental na garantia da integridade dos dados em todos os aspectos do ambiente de dados da organização. Gabarito: C
201
4. FUNDATEC - ANC (PROCERGS) / PROCERGS / Administração de Dados / 2023 Em relação à arquitetura de um banco de dados, qual das seguintes afirmações é verdadeira? a) A arquitetura cliente-servidor permite que as aplicações acessem diretamente o banco de dados. b) A arquitetura em camadas separa o banco de dados em três componentes: dados, processamento e interface. c) A arquitetura baseada em eventos é a mais adequada para bancos de dados distribuídos. d) A arquitetura P2P (peer-to-peer) é adequada apenas para bancos de dados pequenos e simples. e) A arquitetura centralizada é a mais utilizada atualmente em bancos de dados empresariais.
Vamos analisar as alternativas para identificar qual delas é verdadeira em relação à arquitetura de banco de dados: a) A arquitetura cliente-servidor permite que as aplicações acessem diretamente o banco de dados. Incorreta. Na arquitetura cliente-servidor, as aplicações (clientes) fazem requisições ao servidor, que é responsável por acessar o banco de dados. As aplicações não acessam o banco de dados diretamente; o acesso ocorre via servidor. b) A arquitetura em camadas separa o banco de dados em três componentes: dados, processamento e interface. Correta. Na arquitetura em camadas, geralmente há a separação entre a camada de dados (banco de dados), a camada de processamento (lógica de negócio) e a camada de interface (interface do usuário). Isso promove uma melhor organização e modularidade. c) A arquitetura baseada em eventos é a mais adequada para bancos de dados distribuídos. Incorreta. A arquitetura baseada em eventos não é necessariamente a mais adequada para bancos de dados distribuídos. A arquitetura distribuída é mais complexa e envolve a replicação de dados e a coordenação entre diferentes nodos, mas isso não se relaciona diretamente com uma arquitetura baseada em eventos. d) A arquitetura P2P (peer-to-peer) é adequada apenas para bancos de dados pequenos e simples. Incorreta. A arquitetura P2P pode ser utilizada em diferentes contextos, inclusive em sistemas mais complexos, dependendo do design e das necessidades. Não é restrita a bancos de dados pequenos e simples. e) A arquitetura centralizada é a mais utilizada atualmente em bancos de dados empresariais. Incorreta. Atualmente, a maioria das empresas utiliza uma combinação de arquiteturas distribuídas, cliente-servidor e em camadas, especialmente com o crescimento do uso de bancos de dados distribuídos e soluções em nuvem. Portanto, a alternativa correta é b) A arquitetura em camadas separa o banco de dados em três componentes: dados, processamento e interface.
202
5. FUNDATEC - ANC (PROCERGS) / PROCERGS / Análise de Sistemas/Gerencia de Projetos de TI/2023 Um SGBD que está junto com o banco de dados em um servidor de banco de dados e que oferece acesso concorrente a vários usuários é classificado como um SGBD: a) Distribuído. b) Centralizado. c) Hierárquico. d) NSQL. e) SQL.
A descrição fornecida indica um Sistema Gerenciador de Banco de Dados (SGBD) que está localizado junto com o banco de dados em um único servidor e oferece acesso concorrente a vários usuários. Portanto, o SGBD descrito é classificado como: b) Centralizado. Gabarito: B
203
6. FUNDATEC - ANC (PROCERGS) / PROCERGS / Desenvolvimento/Oracle PL SQL/2023 A arquitetura do SGBD é dividida em três níveis que proveem diferentes abstrações da estrutura do sistema de banco de dados, e é conhecida como arquitetura ANSI/SPARC. Essa organização em níveis efetiva a visão abstrata dos dados, reduzindo a complexidade do sistema conforme o nível em que o usuário trabalha. Nesse contexto, analise as assertivas abaixo: I. Nível físico: é onde se especifica o acesso aos dados conforme as necessidades de cada usuário ou aplicação. II. Nível lógico: é onde se descreve a estrutura completa do banco de dados, que engloba a definição do esquema do banco de dados. III. Nível de visão: relaciona-se com as estruturas de armazenamento dos dados e com o gerenciamento destas. Quais estão corretas? a) Apenas II. b) Apenas I e II. c) Apenas I e III. d) Apenas II e III. e) I, II e III.
Nível Externo (ou Visão): Este é o nível mais alto, que define como os dados são vistos pelos usuários individuais. Cada usuário pode ter uma visão diferente dos dados, ou seja, diferentes visões externas podem existir. Nível Conceitual (ou Lógico): Este nível define a estrutura lógica de todo o banco de dados para a comunidade de usuários. Ele descreve quais dados estão armazenados no banco de dados e as relações entre eles, mas sem se preocupar com como esses dados são fisicamente armazenados. Nível Interno (ou Físico): Este é o nível mais baixo e descreve como os dados são realmente armazenados no banco de dados. Ele cuida dos detalhes de armazenamento físico, como a localização dos dados em disco, o uso de índices, entre outros. Gabarito: A
204
(Questão/CESPE/BASA) O dicionário de dados é uma das principais ferramentas para a administração dos dados corporativos. Por meio da engenharia reversa, pode-se armazenar os modelos de dados, as estruturas de dados, seus relacionamentos e toda a documentação necessária para garantir facilidade na localização e manipulação dos dados. Acerca dos papéis do administrador de dados (AD) e dos dicionários de dados, julgue os itens a seguir. Enquanto o AD se preocupa com o gerenciamento dos dados como patrimônio da empresa, o administrador de banco de dados (ABD) é responsável pelo gerenciamento físico e dos acessos ao banco de dados.
Lembre-se o administrador de dados (AD) atua para: (1) obter um melhor conhecimento do contexto de negócio; (2) projetar adequadamente a base de dados; (3) permitir o compartilhamento dos dados e a integração dos sistemas; e (4) contribuir para a unificação da visão que a empresa tem dos dados. Gabarito: C.
205
(Ano: 2016 Banca: CESPE Órgão: TCE-PA Prova: Auditor de Controle Externo - Área Informática - Analista de Suporte) Considerando a figura apresentada, que ilustra o modelo de um banco de dados hipotético, julgue o item que se segue. [1] A figura expõe um modelo lógico, uma vez que ele contém detalhes de implementação e é independente de um sistema gerenciador de banco de dados (SGBD).
Analisando a figura acima podemos verificar que o diagrama apresenta características gráficas com alto nível de abstração. Esse tipo de modelo é conhecido como conceitual. Perceba que a assertiva diz que esse é um modelo lógico, o que não é verdade. Por isso podemos afirmar que a afirmação está incorreta. Gostaria ainda de aproveitar o diagrama para fazer um comentário a respeito da notação dos atributos. Percebam que os atributos, associados a cada uma das entidades, estão representados por bolas e os nomes ou descrição deles aparecem fora da mesma. Essa é uma das notações alternativas para representação dos atributos. Gabarito: E.
206
(Ministério da Economia – Especialista em Gestão de Projetos - 2020) Com relação às informações contidas no modelo conceitual precedente, julgue o próximo item. 1) O modelo em questão apresenta um erro de construção, porque existem atributos declarados com nomes idênticos, o que impossibilita transformá-lo em um modelo lógico. 2) No tipo de modelo apresentado, é permitido que atributos sejam declarados tanto em entidade quanto em relacionamento. 3) Um PAÍS pode, ou não, tributar um SERVIÇO. 4) Todos os serviços, independentemente do tipo de cada um deles, são tributados por todos os países.
1) Não existe nenhum erro no modelo em questão. É perfeitamente possível que, em entidades distintas, existam atributos com o mesmo nome. Gabarito: ERRADO 2) Os atributos são descrições ou características dos objetos e dos relacionamentos em um modelo conceitual. Logo, podemos incorporar ou associar os atributos às entidades e aos relacionamentos. Gabarito: CERTO 3) A cardinalidade mínima do relacionamento é zero, desta forma, é possível existir um país que não tribute determinado serviço. Gabarito: CERTO 4) Perceba que essa é uma questão de interpretação da cardinalidade mínima do relacionamento. Para todos os serviços serem tributados o relacionamento deveria ser obrigatório, quando na realidade é opcional. Assim, cada serviços pode ou não ser tributado dependendo da legislação tributária do país em questão. Logo, temos uma alternativa errada. Gabarito: ERRADO.
207
(Ano: 2017 Banca: CESPE Órgão: TRE-PE Prova: Analista Judiciário - Análise de Sistemas) Assinale a opção que corresponde ao tipo de restrição de integridade expressa no próprio diagrama de entidades e relacionamentos no modelo relacional. a) dependência b) enumeração c) normas de aceitação d) cardinalidade e) repetição
Observe que, pelas definições que acabamos de explicar a alternativa que se adequa melhor a nossa questão está na letra D. Gabarito: D.
208
BANCA: FCC ANO: 2015 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO O modelo E-R utiliza algunsconceitos básicos como entidades, atributos e relacionamentos. Os atributos podem ser classificados em obrigatórios, opcionais, monovalorados, multivalorados, simples ou compostos. Nesse contexto, uma entidade chamada Empregado possui os atributos ID, Nome, TelefonesContato, CNH e Endereço. Os atributos TelefonesContato e Endereço são classificados, respectivamente, em A) monovalorado e multivalorado. B) simples e multivalorado. C) multivalorado e composto. D) obrigatório e opcional. E) composto e multivalorado.
Essa questão está avaliando o entendimento de atributos em modelos ER. A questão fala de dois atributos específicos: TelefonesContato e Endereco. Começando pelo TelefonesContato, imagine uma lista de telefones pertencentes a uma determinada pessoa: 6134432323, 6134564343, 6132423234. Veja que eles são um conjunto de valores do mesmo tipo. Esse tipo de atributo é conhecido como multivalorado. O outro atributo é o Endereco, pense no endereço da sua casa. Ele geralmente é composto de um nome de rua, número, bairro, cidade e cep. Veja que o atributo possui uma sequência de valores de tipos diferentes, por isso chamamos ele de composto. Considerando os dois parágrafos anteriores temos multivalorado e composto como resposta para a questão. Gabarito: C.
209
(Ano: 2016 Banca: CESPE Órgão: TRE-PI Prova: Técnico Judiciário - Operação de Computadores) Acerca do modelo entidade-relacionamento estendido, assinale a opção correta. a) Uma restrição de disjunção pode ser aplicada a uma especialização, na qual deve ser especificado que as subclasses da especialização devem ser mutuamente exclusivas. b) A generalização é o resultado da separação de um tipo-entidade de nível mais alto — superclasse — e forma vários tipos-entidades de nível mais baixo — subclasse. c) Uma entidade, que é membro de uma subclasse, nem sempre herda todos os atributos da entidade como um membro da superclasse. d) O modelo em questão incorpora conceitos de modelagem entidade-relacionamento, herança, encapsulamento e polimorfismo. e) A simbologia do referido modelo é a mesma do modelo entidade-relacionamento, não havendo novas representações.
Observem que essa questão trata do assunto que acabamos de estudar. A restrição de disjunção afirma que uma instância de entidade só pode ser especializada para apenas um dos subtipos. Já a sobreposição permite que uma instância possua as características de mais de uma classe filha. Analisando as alternativas acima podemos afirmar que o gabarito se encontra na alternativa A. Gabarito: A
210
(BANCA: CESPE ANO: 2010 ÓRGÃO: INMETRO PROVA: PESQUISADOR - GOVERNANÇA DE TI) Considerando a figura acima, que ilustra um modelo conceitual, assinale a opção correta. A) As entidades pessoa física e pessoa jurídica são exemplos de generalização/especialização, conceito que envolve a ideia de herança de propriedades. Herdar propriedades significa que cada ocorrência da entidade especializada possui, além de suas propriedades (atributos, relacionamentos e generalizações ou especializações), também as propriedades de ocorrência da entidade genérica correspondente. B) A cardinalidade do relacionamento entre filial e cliente define que pode existir filial sem clientes, e ainda, que os clientes podem existir sem estar vinculados a nenhuma filial. C) Telefone é exemplo de atributo opcional. D) No modelo apresentado, entidades, relacionamentos, cardinalidade e identificadores estão corretos e consistentes. E) As entidades cliente, pessoa física e pessoa jurídica apresentam relacionamento do tipo ternário ou de grau maior, que são modelados usando-se uma entidade associada, por meio de relacionamentos binários, a cada uma das entidades que participam do relacionamento ternário.
Primeiramente gostaria de fazer um comentário sobre o diagrama da questão. Quando apresentamos esse tipo de notação, os círculos pretos representam atributos chave das entidades e os círculos brancos representam atributos não chave. Outro ponto é a presença da restrição estrutural definindo os valores mínimos e máximos de cada entidade no relacionamento. Feito as considerações vamos analisar as alternativas, começando pela letra A que é a nossa resposta. Vejam que o examinador quer saber se você entende que, quando temos especializações dentro de um diagrama conceitual, as entidades que são subclasses herdam os atributos e relacionamentos das suas superclasses. A letra B faz uma leitura errada do relacionamento entre cliente e filial. O correto seria dizer que uma filial atende a zero até n clientes e um cliente é atendido por uma e apenas uma filial. Para responder a alternativa C precisamos entender o que significa o “ (1,n) ” ao lado do atributo telefone da entidade cliente. Podemos dizer que ele representa um atributo multivalorado, pois um cliente pode ter mais de um telefone obrigatório, pois cada cliente precisa ter, no mínimo, um telefone. Na alternativa D temos que encontrar um erro no diagrama. Precisamos verificar que o nome filial está grafado como chave primária da entidade filial, o que não faz sentido. Portanto o diagrama não está 100% correto. Por fim, a alternativa E, as entidades listadas não representam um relacionamento ternário, é sim uma relação de generalização / especialização. Gabarito: A.
211
(BANCA: FCC ANO: 2015 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO) Para representar o relacionamento entre entidades no modelo E-R, várias notações foram criadas, como a da Engenharia da Informação, criada por James Martin. Com relação a esta notação, considere o relacionamento abaixo. Neste relacionamento, A) podem haver departamentos cadastrados sem nenhum empregado relacionado a ele. B) todo departamento cadastrado deverá ter, obrigatoriamente, pelo menos, um empregado. C) um mesmo empregado pode estar associado a muitos departamentos. D) somente dois departamentos poderão ser cadastrados. E) somente três empregados poderão ser relacionados a cada departamento.
Na notação de James Martin: A linha dupla próxima ao "Departamento" indica que um departamento deve estar relacionado a pelo menos um empregado. O círculo próximo ao "Empregado" indica que a participação do "Empregado" é opcional no relacionamento, ou seja, um empregado pode ou não estar associado a um departamento. A linha única com a "garfo" no lado do "Empregado" indica que um departamento pode estar relacionado a vários empregados. Dado isso, analisando as opções: A) Podem haver departamentos cadastrados sem nenhum empregado relacionado a ele. Isso é verdadeiro na interpretação da notação, já que a cardinalidade mínima do lado do empregado é zero, indicando que um departamento não precisa ter necessariamente um empregado associado. Gabarito: A.
212
1. ISS São José dos Campos/2024/FGV/Auditor A modelagem de dados é tradicionalmente utilizada em organizações públicas e privadas. As ferramentas de design são baseadas em diagramas ER que adotam, por exemplo, a notação Chen ou a notação pé de galinha. O símbolo gráfico utilizado para representar uma entidade associativa no diagrama ER, considerando a notação Chen, é
Na notação ER de Chen, uma entidade associativa, que é uma entidade usada para representar um relacionamento entre outras entidades, é geralmente representada por um losango dentro de um retângulo. Isso indica que a entidade associativa tem seus próprios atributos e está associada a outras entidades. Observando as alternativas na imagem: Alternativa (B) representa um losango dentro de um retângulo. Gabarito: B.
213
2. CEBRASPE (CESPE) - AIS (EMPREL) / EMPREL / Banco de Dados/2023 Com relação ao modelo entidade-relacionamento (MER) ilustrado na figura precedente, assinale a opção correta. a) Um treinamento pode ser solicitado por no máximo um cliente. b) O relacionamento SOLICITA é classificado como ternário. c) Um cliente pode solicitar vários treinamentos. d) O modelo está representado de forma incorreta, pois não se admite, em um MER, o uso de atributos em relacionamentos. e) Na entidade CLIENTE, o atributo Nome é do tipo identificador.
Vamos analisar cada uma das alternativas: a) ERRADA! A cardinalidade (0,n) ao lado da entidade cliente indica que um treinamento pode ser solicitado por vários clientes, mas não necessariamente por todos. b) ERRADA! O relacionamento SOLICITA é classificado como binário, pois conecta exatamente duas entidades. c) A opção está correta. Um cliente pode solicitar vários treinamentos, conforme indicado pela cardinalidade (1,n) do lado do cliente. d) ERRADA! No modelo ER, é possível associar atributos a um relacionamento, não apenas a entidades. Essa é uma prática aceitável. e) ERRADA! O atributo identificador na entidade CLIENTE é "Codigo", não o atributo "Nome". O atributo identificador é usado para identificar de forma única cada instância da entidade, e no caso dado, "Codigo" desempenha esse papel na entidade CLIENTE. Gabarito: C
214
3. CEBRASPE (CESPE) - AIS (EMPREL) / EMPREL / Banco de Dados/2023 Na notação IDEF1X, uma entidade é dependente sempre que sua chave (também conhecida como chave primária) contém a chave completa de pelo menos outra entidade. Nesse contexto, a entidade dependente é representada por a) retângulos com os cantos vivos (90 graus). b) retângulos com os cantos arredondados. c) uma linha pontilhada. d) linhas rotuladas com um verbo ou uma frase verbal. e) uma linha dupla.
Na notação IDEF1X, entidades dependentes são frequentemente representadas por retângulos com os cantos arredondados. Logo, temos a nossa resposta na alternativa B. Gabarito: B
215
4. CEBRASPE (CESPE) - Ana (MPE RO)/MPE RO/Programador/2023 Com relação ao modelo entidade-relacionamento (MER) precedente, assinale a opção correta. a) No modelo apresentado existem duas entidades, cinco atributos e dois relacionamentos. b) Na entidade PROMOTORIA_JUSTIÇA, o atributo Área de Atuação é do tipo identificador. c) Em uma entidade COMARCA, deve existir somente uma entidade PROMOTORIA_JUSTIÇA. d) Uma entidade PROMOTORIA_JUSTIÇA pode estar localizada em várias entidades COMARCA. e) O modelo em questão apresenta erro de construção, pois em um MER não se pode representar atributos com acentuação.
A partir do texto observa-se um relacionamento N-N (muitos para muitos) entre Promotoria e Comarca. Com isso, uma instância da entidade promotoria_justica pode estar associada a varias instâncias da entidade comarca. Logo, a nossa resposta encontra-se na alternativa D. Gabarito: D
216
5. Cebraspe – Técnico – Analista de Sistemas – Desenvolvimento de Sistemas (BNB)/2022 No que se refere aos conceitos de modelagem de dados, julgue o seguinte item. Modelo físico é o modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do sistema de gerenciamento de banco de dados.
Modelo Físico: Esse modelo é o mais próximo da implementação real do banco de dados. Ele descreve como os dados serão armazenados em termos de estruturas físicas, como tabelas, índices, partições, etc., e considera aspectos de desempenho e armazenamento. O modelo físico é focado nos detalhes de implementação e na forma como os dados são efetivamente organizados no sistema de gerenciamento de banco de dados (SGBD). Modelo Lógico: Este é o modelo que representa a estrutura de dados de um banco de dados conforme vista pelo usuário ou desenvolvedor, sem levar em consideração como os dados serão fisicamente armazenados. O modelo lógico descreve entidades, atributos, relacionamentos e restrições em um nível mais abstrato. Portanto, o item está incorreto ao afirmar que o modelo físico é aquele que representa a estrutura de dados conforme vista pelo usuário do SGBD. Essa é uma característica do modelo lógico, e não do físico. Gabarito: Errado
217
6. Cebraspe – Analista de Contas Públicas – Especialidade: Administração (MPC-SC)/2022 Em um diagrama entidade-relacionamento (DER), uma entidade, cuja definição é um conjunto de objetos da realidade modelada, é representada graficamente por meio de um retângulo.
No Diagrama Entidade-Relacionamento (DER), uma entidade é uma representação de um conjunto de objetos ou elementos da realidade que têm existência independente. Esses objetos podem ser coisas, pessoas, lugares, eventos ou conceitos, e cada entidade pode ter diversos atributos. Representação Gráfica: Em um DER, as entidades são representadas por retângulos. Dentro do retângulo, o nome da entidade é escrito, geralmente no singular. Portanto, a afirmação de que uma entidade em um DER é representada graficamente por um retângulo está correta. Gabarito: Certo
218
7. Cebraspe – Desenvolvimento de Sistemas (BANRISUL)/2022 No modelo entidade × relacionamento, os atributos determinantes identificam um valor específico na tabela, podendo existir mais de um valor simultaneamente.
O item está incorreto porque, em um modelo entidade-relacionamento, atributos determinantes (chaves primárias) identificam de forma única cada instância de uma entidade. Esses atributos não podem ter mais de um valor simultaneamente para a mesma instância. Gabarito: Errado
219
8. CEBRASPE (CESPE) - Auditor de Finanças e Controle de Arrecadação da Fazenda Estadual (SEFAZ AL) /2020 Com relação a banco de dados, julgue o item seguinte. Com base no diagrama a seguir, é correto afirmar que um item na entidade Ambiente pode não relacionar-se com nenhum item na entidade Setor ou pode relacionar-se com vários itens nesta entidade, enquanto um item na entidade Setor pode relacionar- se somente com um item na entidade Ambiente.
Essa questão trata da cardinalidade descrita pelos valore entre parênteses na figura acima. Primeiro vamos analisar a cardinalidade do relacionamento POSSUI partindo da entidade Ambiente. É importante atentar para algo que confunde muitos candidatos: a cardinalidade sempre está do lado oposto da entidade. Daí tiramos que uma instância da entidade Ambiente deve relacionar-se com um e somente um elemento na entidade Setor. Um item da entidade Setor pode relacionar-se com nenhum ou com vários itens da entidade Ambiente. Agora, vamos corrigir a assertiva: Com base no diagrama a seguir, é correto afirmar que um item na entidade Ambiente deve relacionar-se com um e somente um item na entidade Setor, enquanto um item na entidade Setor pode relacionar-se somente com nenhum ou vários itens na entidade Ambiente. Concluímos, assim, que a assertiva está errada. Gabarito: Errado
220
9. CEBRASPE (CESPE) - Ana Min (MPE CE)/MPE CE/Ciências da Computação/2020 Considerando o diagrama entidade- relacionamento precedente e os múltiplos aspectos que a modelagem de dados oferece ao analista para examinar os dados no contexto de uma aplicação de software, julgue o item subsecutivo. No diagrama apresentado, a modalidade obrigatória que conecta transportador e transporta indica que, para todo alimento fabricado, é necessária uma ação de transporte.
Note que um alimento fabricado pode ser transportado por nenhum ou vários transportadores. Dessa forma, não é necessária uma ação de transporte para todo alimento fabricado. Concluímos, assim, que a assertiva está errada. Gabarito: Errado
221
10. CEBRASPE (CESPE) - Ana Min (MPE CE)/MPE CE/Ciências da Computação/2020 Considerando o diagrama entidade- relacionamento precedente e os múltiplos aspectos que a modelagem de dados oferece ao analista para examinar os dados no contexto de uma aplicação de software, julgue o item subsecutivo. A cardinalidade e a modalidade apresentada para a entidade fabricante mostram que obrigatoriamente um fabricante inicializa a ação de solicitação de distribuição, contratação de transporte e produção de alimento, o que caracteriza uma relação 1 × n.
Vamos analisar os relacionamentos que a entidade fabricante participa. Lembre-se que temos que olhar para o símbolo oposto à entidade que estamos analisando. Um distribuidor é autorizado obrigatoriamente por um fabricante, enquanto um fabricante autoriza um ou vários distribuidores. Como é de costume representar a cardinalidade apenas pelos valores máximos, desprende-se que o relacionamento é do tipo 1:N. Relacionamento produz Um alimento é produzido obrigatoriamente por um fabricante, enquanto um fabricante produz um ou vários alimentos. A cardinalidade do relacionamento também é 1:N. Relacionamento contrata Um transportador é contratado obrigatoriamente por um fabricante, enquanto um fabricante contrata nenhum ou vários transportadores. A cardinalidade do relacionamento, mais uma vez, é 1:N. Perceba que, em todos os relacionamentos, a presença do fabricante é obrigatória: um distribuidor é autorizado obrigatoriamente por um fabricante; um alimento é obrigatoriamente produzido por um fabricante; e um transportador é obrigatoriamente contratado por um fabricante. Em todos os casos, o relacionamento é 1:N. Concluímos, assim, que a assertiva está correta. Gabarito: Certo
222
11. CEBRASPE (CESPE) - Ass Min (MPC TCE-PA)/TCE-PA/Informática/2019 As seguintes informações foram extraídas de um diagrama de entidadesrelacionamento no contexto de um banco de dados relacional. De acordo com as informações do texto 9A1-I, assinale a opção correta, com relação à leitura das regras do negócio representadas no modelo apresentado. a. Ao realizar uma reserva, o cliente pode escolher um ou vários trechos de voo. Existem várias opções de aeronaves para o trecho reservado. b. Ao realizar uma reserva, o cliente pode escolher um ou vários trechos de voo, mas existe apenas uma aeronave alocada para o trecho reservado. c. Ao realizar uma reserva, o cliente pode escolher apenas um trecho de voo, mas existem várias opções de aeronaves para o trecho reservado. d. Um trecho de voo está relacionado a apenas uma reserva. e. Ao realizar uma reserva, o cliente recebe um único número de assento, válido para todos os trechos que forem reservados.
A questão acima apresenta um diagrama de entidades-relacionamento no contexto de um banco de dados. Vamos analisar cada uma das alternativas da questão: Errado. A primeira parte está correta, o cliente pode escolher um ou vários trechos de voo. Porém, analisando os relacionamentos entre as entidades, não existem várias opções de aeronaves para o trecho reservado. Correto. Conforme vimos na LETRA A. A primeira parte está correta e a segunda também. Errado. O cliente pode escolher um ou vários trechos de voo. E não existem várias opções de aeronaves para o trecho reservado. Errado. Temos um relacionamento um para muitos. Um trecho de voo está relacionado a muitas reservas. Errado. Ao realizar uma reserva, o cliente recebe um único número de reserva. O número do assento está relacionado a reserva do trecho, o cliente irá receber um número de assento para cada trecho escolhido. Assim, podemos encontrar nossa resposta na alternativa B Gabarito: B
223
12. CEBRASPE (CESPE) - Tec (EBSERH)/EBSERH/Informática/2018 Tendo como referência o modelo lógico precedente, julgue o item a seguir. A partir do modelo apresentado, infere-se que um hospital pode estar vinculado a várias universidades, pois a tabela Hospital apresenta cardinalidade (0, n).
Vamos analisar a afirmação com base no diagrama apresentado: Cardinalidade entre "Hospital" e "Universidade": A relação entre "Hospital" e "Universidade" tem a cardinalidade (0,n) do lado de "Hospital" e (1,1) do lado de "Universidade". Isso significa que um hospital pode estar vinculado a nenhuma ou várias universidades. Por outro lado, uma universidade está vinculada a exatamente um hospital. Análise da Afirmativa: A afirmativa diz que "um hospital pode estar vinculado a várias universidades porque a tabela Hospital apresenta cardinalidade (0,n)". Conclusão: A afirmativa está errada. Na verdade, o que o diagrama mostra é que um hospital pode estar vinculado a uma única universidade (pois a cardinalidade do lado da universidade é (1,1)). No entanto, uma universidade pode estar vinculada a vários hospitais, devido à cardinalidade (0,n) do lado do hospital. Gabarito: Errado
224
13. CEBRASPE (CESPE) - APF/PF/2018 Considerando o modelo entidade-relacionamento (ER) precedente, julgue o seguinte item, relativo a banco de dados. Conforme o modelo ER em questão, um tipo de produto pode estar associado a somente 1 produto e cada produto possui um preço e uma descrição.
Temos que lembrar que a leitura da cardinalidade do relacionamento entre duas entidades é feita de forma “cruzada”, neste caso, cada produto está associado a um tipo de produto e cada tipo de produto pode estar associado a vários produtos. Logo, temos uma alternativa incorreta. Gabarito: Errado
225
15. CEBRASPE (CESPE) - AFA (SEFAZ RS)/SEFAZ RS/2018 No modelo entidade-relacionamento, as propriedades particulares que descrevem uma entidade são denominadas a. valores. b. atributos. c. chaves primárias. d. relacionamentos. e. instâncias.
A questão trata dos conceitos básicos do modelo entidade- relacionamento. Os atributos caracterizam uma entidade, por exemplo, uma entidade "Pessoa" e alguns atributos como nome, CPF, Identidade, Endereço, Data de nascimento. Consegue perceber que esses atributos estão descrevendo uma pessoa? Desta forma, já podemos marcar nossa resposta na alternativa B, mas vamos analisar as alternativas: a) Valores são as instâncias ou os dados que serão efetivamente preenchidos para cada atributo. Por exemplo, o atributo data de nascimento pode conter o valor "05/10/1995". Chaves primárias identificam unicamente uma instância numa determinada entidade ou relacionamento. Relacionamentos associam uma ou mais entidades de acordo com a realidade que se quer modelar. Instâncias são ocorrências em uma determinada estrutura de banco de dados, podemos ter instância do banco de dados, de uma tabela ou de um atributo desta tabela. Gabarito: B
226
16. CEBRASPE (CESPE) - Tec (FUB) / FUB / Tecnologia da Informação /2018 Julgue o item seguinte, a respeito dos conceitos de modelagem de dados e níveis de abstração. No modelo de entidade-relacionamento, uma entidade se caracteriza por um objeto do mundo real que possui um conjunto de propriedades; os valores de um subconjunto dessas propriedades podem identificar de maneira única a entidade.
No geral, todas as entidades possuem um conjunto de atributos identificadores que conseguem identificar univocamente cada instância da mesma. Esse conjunto de atributos é chamado de chave primária por alguns autores. Logo, temos uma afirmativa correta. Gabarito: Certo
227
17. CEBRASPE (CESPE) - Tec (FUB) / FUB / Tecnologia da Informação/2018 Julgue o item seguinte, a respeito dos conceitos de modelagem de dados e níveis de abstração. Na cardinalidade de mapeamento entre o conjunto de entidades X e Y de uma associação um-para-um, uma entidade em X é associada, no máximo, a uma entidade em Y, e uma entidade em Y é associada, no máximo, a uma entidade em X.
Na cardinalidade 1-1 cada elemento dos conjuntos de entidades que participam do relacionamento só pode estar associado a um elemento da outra entidade. Lembre-se do relacionamento entre armário e funcionário. Cada funcionário tem apenas um armário e cada armário é possuído por apenas um empregado. Afinal, você não vai querer compartilhar um local onde você guarda sua roupa de academia que você fez antes de ir pro trabalho com outra pessoal. :) Gabarito: Certo
228
18. Ano: 2018 Banca: CESPE Órgão: STJ Cargo: Técnico Judiciário – Suporte Técnico Acerca de banco de dados, julgue os itens que se seguem. 75 - Em um diagrama MER, a entidade representa uma coisa concreta do mundo real, enquanto as coisas abstratas são representadas pelo relacionamento entre as entidades.
Os nomes ou as coisas do mundo real ou imaginário são sempre entidades no modelo entidade-relacionamento. O que representa os relacionamentos são os verbos ou ações associadas a cada entidade. Desta forma, temos a afirmação acima como incorreta. Gabarito: Errado
229
19. Ano: 2018 Banca: CESPE Órgão: STJ Cargo: Técnico Judiciário – Desenvolvimento de Sistemas Questão: 64 e 65 Julgue os itens a seguir, referentes à modelagem de dados. 64 Generalização é o processo de definição de um tipo de entidade a partir de duas ou mais entidades que possuem atributos em comum — por exemplo, as entidades carro e ônibus podem ser generalizadas na superclasse veículo.
Sabemos que quando pensamos em um modelo de dados, uma possível hierarquia entre os dados pode ser construída de forma que a entidade pai tenha os atributos comuns as suas respectivas entidades filhas. A esse conceito dar-se o nome de generalização, que é justamente o mesmo conceito descrito na questão. Logo, a alternativa está correta. Gabarito: Certo
230
20. Ano: 2018 Banca: CESPE Órgão: TCM-BA Cargo: Auditor de Contas Questão: 10 A respeito de entidades, relacionamentos e tipos de chave, assinale a opção correta. A) Uma entidade fraca não possui seus próprios atributos chave. B) Toda relação deve possuir somente uma chave primária de atributo único. C) Um identificador ou chave é usado para determinar exclusivamente uma instância de um relacionamento entre entidades. D) A abordagem entidade-relacionamento permite somente relacionamentos binários e dos tipos 1:1 e 1:n. E) Uma entidade forte existe no banco de dados e possui atributos que a identificam sem que ela precise estar associada a outra entidade identificadora.
Vejam que essa questão apresenta um conceito associado ao modelo entidade-relacionamento. Uma entidade forte significa que possui atributos suficientes para identificar de forma unívoca cada instancia ou elemento de um conjunto de entidade. Logo, podemos marcar a resposta na alternativa E. Vamos agora procurar os erros das demais alternativas. A) Uma entidade pode ter um atributo que seja chave, contudo, ele sozinho não consegue identificar um elemento da entidade. Para compor a chave ele precisa de um atributo que vai ser definido na entidade forte a ele associada. Sendo assim, temos uma alternativa incorreta. A chave primária de uma relação pode ser classificada em simples, quando possuir apenas um atributo, ou composta, quando tiver dois ou mais atributos. Sendo assim, temos mais uma alternativa incorreta. Uma instância de relacionamento é uma associação entre entidades, que inclui exatamente uma entidade de cada tipo de entidade participante. A identificação do relacionamento é feita pela associação entre as chaves das entidades participantes do relacionamento. Os relacionamentos binários admitem cardinalidade máxima 1:1, 1:N e N:M. Logo temos mais uma afirmação errada. Gabarito: E.
231
22. BANCA: CESPE ANO: 2014 ÓRGÃO: ANATEL PROVA: ANALISTA ADMINISTRATIVO - DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO Com base nos modelos de banco de dados, julgue os itens subsequentes. [89] São empregados no projeto de aplicações de um banco de dados o modelo entidade - relacionamento (MER), que é um modelo representacional, e suas variações. [90] O modelo de dados físico é considerado de baixo nível, o que significa que somente os sistemas gerenciadores de banco de dados conseguem interpretá-lo.
Vimos ao longo da nossa aula que os modelos considerados representacionais, de implementação ou lógicos são os modelos em rede, hierárquico e relacional. Alternativa 89 está incorreta. Os modelos de dados físicos definem a forma como os dados são armazenados nos discos. Não podemos restringir o seu entendimento ao SGBD, outros componentes, como o sistema operacional, devem ser capazes de ler ou interpretar os dados. Sendo assim, a alternativa 90 também está errada. Gabarito: Errado Errado.
232
23. Ano: 2015 Banca: CESPE Órgão: TRE-PI Cargo: Operação de computadores – Questão 40 De acordo com a notação para diagramas entidade-relacionamento, assinale a opção que descreve a representação acima disposta. A) entidade, atributo, atributo composto e atributo derivado B) relacionamento, atributo, atributo fraco e atributo multivalorado C) entidade fraca, atributo-chave, atributo multivalorado e atributo derivado D) entidade, atributo-chave, atributo multivalorado e atributo derivado E) entidade forte, atributo, atributo composto e atributo fraco
A imagem apresentada mostra uma sequência de símbolos que representam conceitos em diagramas Entidade-Relacionamento (ER). Vamos analisar cada um dos símbolos: 1. **Primeiro símbolo (retângulo duplo):** Representa uma **entidade fraca**. 2. **Segundo símbolo (elipse com sublinhado):** Representa um **atributo-chave**. 3. **Terceiro símbolo (elipse dupla):** Representa um **atributo multivalorado**. 4. **Quarto símbolo (elipse pontilhada):** Representa um **atributo derivado**. Com base nessa análise, a opção correta é: **C) entidade fraca, atributo-chave, atributo multivalorado e atributo derivado**. Gabarito: C
233
24. Ano: 2015 Banca: CESPE Órgão: TRE-PI Cargo: Operação de computadores – Questão 41 Acerca do modelo entidade-relacionamento estendido, assinale a opção correta. A) Uma restrição de disjunção pode ser aplicada a uma especialização, na qual deve ser especificado que as subclasses da especialização devem ser mutuamente exclusivas. B) A generalização é o resultado da separação de um tipo-entidade de nível mais alto — superclasse — e forma vários tipos-entidades de nível mais baixo — subclasse. C) Uma entidade, que é membro de uma subclasse, nem sempre herda todos os atributos da entidade como um membro da superclasse. D) O modelo em questão incorpora conceitos de modelagem entidade-relacionamento, herança, encapsulamento e polimorfismo. E) A simbologia do referido modelo é a mesma do modelo entidade-relacionamento, não havendo novas representações.
A opção correta é: **A) Uma restrição de disjunção pode ser aplicada a uma especialização, exigindo que as subclasses sejam mutuamente exclusivas.** As outras opções estão incorretas porque: - **B)** Generalização é o oposto do que foi descrito. - **C)** Uma entidade na subclasse herda todos os atributos da superclasse. - **D)** Encapsulamento e polimorfismo não fazem parte do modelo ER estendido. - **E)** O modelo ER estendido tem simbologia adicional. Gabarito: A
234
25. Ano: 2015 Banca: CESPE Órgão: TRE-PI – Questão 57 Considere que existe uma entidade PESSOA com um relacionamento denominado CASAMENTO que pode associar diversas ocorrências na mesma entidade PESSOA. De acordo com as propriedades do diagrama entidade-relacionamento, o conceito desse relacionamento (CASAMENTO) pode ser definido como A) generalização. B) relacionamento binário. C) autorrelacionamento. D) entidade associativa. E) especialização.
A situação descrita envolve uma entidade "PESSOA" que se relaciona com ela mesma através do relacionamento "CASAMENTO". Esse tipo de relacionamento, onde uma entidade se relaciona consigo mesma, é conhecido como **autorrelacionamento**. Portanto, a opção correta é: **C) autorrelacionamento.** Gabarito: C
235
26. BANCA: CESPE ANO: 2015 ÓRGÃO: MPOG PROVA: ANALISTA - ANALISTA EM TECNOLOGIA DA INFORMAÇÃO A respeito de modelo entidade-relacionamento e normalização, julgue os itens subsequentes. [113] Em relações normalizadas, na primeira forma normal, toda tupla em toda relação contém apenas um único valor, do tipo apropriado, em cada posição de atributo. [114] Sabendo que, nos relacionamentos ternários, a cardinalidade refere-se a pares de entidades, em um relacionamento ternário R entre três entidades A, B e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de C podem estar associadas a um par de ocorrências de A e B.
Ambos os itens estão corretos: - **[113]** A Primeira Forma Normal (1FN) exige que cada célula de uma tabela contenha um único valor atômico. - **[114]** Em relacionamentos ternários, a cardinalidade entre A, B e C indica quantas ocorrências de C podem estar associadas a um par de A e B. **Resumo das Formas Normais:** - **1FN:** Valores atômicos em cada célula. - **2FN:** Nenhuma dependência parcial da chave primária. - **3FN:** Nenhuma dependência transitiva de atributos não chave. Gabarito: Certo Certo.
236
27. BANCA: CESPE ANO: 2015 ÓRGÃO: TRE-GO PROVA: TÉCNICO DO JUDICIÁRIO - PROGRAMAÇÃO DE SISTEMAS Julgue os seguintes itens, a respeito da modelagem de dados. [65] Considere a seguinte situação hipotética. Em um banco de dados referente a um curso, um aluno pode estar em mais de um curso ao mesmo tempo. Além disso, na tabela de cursos realizados por aluno, estão presentes as chaves estrangeiras aluno e curso. Nessa situação, tanto o código do curso como o código do aluno são chaves primárias nas tabelas curso e aluno, respectivamente. [66] Ao se excluir uma tupla de um banco de dados, pode-se violar a integridade referencial desse banco por uma chave primária. [67] Um conjunto de entidades que não possuem atributos suficientes para formar uma chave primária é definido como um conjunto de entidades fortes. [68] Uma chave primária identifica um único valor de uma tupla no banco de dados e não possui mais de um atributo na tabela.
Você está certo, a segunda afirmação está errada. Aqui está o resumo corrigido: - **[65]** Correto: Chaves primárias identificam cursos e alunos corretamente. - **[66]** Incorreto: A integridade referencial é violada por chaves estrangeiras, não por chaves primárias. - **[67]** Incorreto: Entidades sem atributos suficientes para uma chave primária são entidades fracas. - **[68]** Incorreto: Chaves primárias podem ter mais de um atributo (compostas). Gabarito: Certo; Errado; Errado; Errado.
237
28. BANCA: CESPE ANO: 2015 ÓRGÃO: STJ PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO A respeito da modelagem de dados e da qualidade de software, julgue os itens subsecutivos. [84] O relacionamento no modelo entidade-relacionamento é uma associação intuitiva entre entidades, cujo número de entidades envolvidas é conhecido como hierarquia. [86] Entidade-relacionamento é uma modelagem semântica cujo modelo resultante é estendido, e as entidades, nesse modelo, são definidas como um ente que pode ser distintamente identificado.
Vamos analisar os itens: [84] Incorreto. No modelo entidade-relacionamento, o número de entidades envolvidas em um relacionamento é chamado de cardinalidade ou grau do relacionamento, não de hierarquia. [86] Correto. O modelo entidade-relacionamento é uma modelagem semântica, e as entidades são definidas como elementos que podem ser distintamente identificados dentro do modelo. Gabarito: [84] Errado [86] Certo.
238
29. Ano: 2016 Banca: CESPE Órgão: TCE-PA Prova: Auditor de Controle Externo - Área Informática - Analista de Suporte Considerando a figura apresentada, que ilustra o modelo de um banco de dados hipotético, julgue o item que se segue. [1] A figura expõe um modelo lógico, uma vez que ele contém detalhes de implementação e é independente de um sistema gerenciador de banco de dados (SGBD).
Analisando a figura acima podemos verificar que o diagrama apresenta características gráficas com alto nível de abstração. Esse tipo de modelo é conhecido como conceitual. Perceba que a assertiva diz que esse é um modelo lógico, o que não é verdade. Por isso podemos afirmar que a afirmação está incorreta. Gostaria ainda de aproveitar o diagrama para fazer um comentário a respeito da notação dos atributos. Percebam que os atributos, associados a cada uma das entidades, estão representados por bolas e os nomes ou descrição deles aparecem fora da mesma. Essa é uma das notações alternativas para representação dos atributos. Gabarito: Errado.
239
30. Ano: 2017 Banca: CESPE Órgão: TRE-PE Prova: Analista Judiciário - Análise de Sistemas Assinale a opção que corresponde ao tipo de restrição de integridade expressa no próprio diagrama de entidades e relacionamentos no modelo relacional. A - dependência B - enumeração C - normas de aceitação D - cardinalidade E - repetição
Observe que, pelas definições que acabamos de explicar a alternativa que se adequa melhor a nossa questão está na letra D. Gabarito: D.
240
Considere as seguintes tabelas, cada uma representando uma possível estrutura para armazenar dados de alunos: Quais das tabelas acima estão na Terceira Forma Normal (3FN)? A Apenas a Tabela 1. B Apenas a Tabela 2. C Apenas a Tabela 3. D Apenas a Tabela 1 e a Tabela 2. E Apenas a Tabela 2 e a Tabela 3.
Vamos analisar brevemente as tabelas com base nas formas normais: 1FN: Nenhum valor repetido ou grupos de repetição (valores atômicos). 2FN: Está na 1FN e todos os atributos não chave dependem totalmente da chave primária. 3FN: Está na 2FN e não há dependências transitivas (atributo não chave depende de outro atributo não chave). Análise: Tabela 1: Está na 3FN (não há dependências transitivas). Tabela 2: Não está na 1FN (valores múltiplos na coluna Disciplinas). Tabela 3: Está na 3FN (não há dependências transitivas). Resposta Correta: C) Apenas a Tabela 3. Gabarito: C
241
A questão baseia-se na Figura 5 que mostra, esquematicamente, a tabela relacional "Teste", implementada segundo os conceitos do modelo relacional, em um Sistema Gerenciador de Banco de Dados Relacional (SGBDR), cujas colunas estão identificadas pelas letras de "A" a "G", assim como as dependências funcionais entre as colunas dessa tabela. Nessa tabela, suprimiu-se, intencionalmente, os seus registros. Na Figura 5, observam-se as dependências funcionais existentes entre as colunas da tabela "Teste", como, por exemplo, as colunas (A,B) determinam funcionalmente as colunas (F,G). Portanto, analisando-se essa Figura, pode-se concluir que essa tabela está na: I. 1ª Forma Normal (1FN). II. 2ª Forma Normal (2FN). III. 3ª Forma Normal (3FN). Quais estão corretas? A Apenas I. B Apenas II. C Apenas I e II. D Apenas II e III. E I, II e III.
Vamos analisar se a tabela "Teste" está na 1FN, 2FN e 3FN com base nas dependências funcionais fornecidas: 1ª Forma Normal (1FN) - Requisitos: Todos os valores nas colunas são atômicos (sem valores repetidos ou conjuntos). - A tabela "Teste" atende à 1FN, pois as colunas são atômicas. 2ª Forma Normal (2FN) - Requisitos: Deve estar na 1FN e todos os atributos não chave devem depender completamente da chave primária. - Na tabela, `(A, B)` é a chave que determina `(F, G)`. - `B` sozinho determina `(C, D, E)`, o que indica que há dependências parciais, já que `C`, `D`, e `E` dependem apenas de `B` e não de toda a chave composta `(A, B)`. - Portanto, a tabela não está na 2FN. 3ª Forma Normal (3FN) - Requisitos: Deve estar na 2FN e não deve haver dependências transitivas (um atributo não chave não pode depender de outro atributo não chave). - A tabela já não está na 2FN, então não pode estar na 3FN. **Conclusão:** A tabela está apenas na 1ª Forma Normal (1FN). **Resposta Correta: A) Apenas I.**
242
No contexto de um sistema de controle acadêmico, considere a seguinte tabela: Matricula (CodAluno, CodTurma, CodDisciplina, NomeDisciplina, NomeAluno, CodLocalNascAluno, NomeLocalNascAluno) As colunas possuem o seguinte significado: * CodAluno - código do aluno matriculado. * CodTurma - código da turma na qual o aluno está matriculado. * CodDisciplina - código que identifica a disciplina da turma. * NomeDisciplina - nome de uma disciplina da turma. * NomeAluno - nome do aluno matriculado. * CodLocalNascAluno - código da localidade em que nasceu o aluno. * NomeLocalNascAluno - nome da localidade em que nasceu o aluno. Em que forma normal encontra-se essa tabela? A Não normalizada. B 1ª forma normal. C 2ª forma normal. D 3ª forma normal.
Vamos analisar a tabela com base nas formas normais: 1ª Forma Normal (1FN) - Requisitos: Todos os valores nas colunas são atômicos (sem repetições ou grupos de repetição). - A tabela atende a 1FN, pois todos os dados são atômicos. 2ª Forma Normal (2FN) - Requisitos: Deve estar na 1FN e todos os atributos não chave devem depender completamente da chave primária. - Possível chave primária composta: `(CodAluno, CodTurma, CodDisciplina)`. - Analisando as dependências: - `NomeDisciplina` depende apenas de `CodDisciplina`. - `NomeAluno` depende apenas de `CodAluno`. - `CodLocalNascAluno` e `NomeLocalNascAluno` dependem de `CodAluno`. - Existem dependências parciais (por exemplo, `NomeDisciplina` depende apenas de `CodDisciplina` e não da chave completa). Portanto, não está na 2FN. 3ª Forma Normal (3FN) - Requisitos: Deve estar na 2FN e não deve haver dependências transitivas. - A tabela não está na 2FN, então não pode estar na 3FN. **Conclusão:** A tabela está na **1ª Forma Normal (1FN)**, mas não na 2FN devido a dependências parciais. **Resposta Correta: B) 1ª forma normal.**
243
Considerando a tabela Cliente com as seguintes colunas: Código Cliente, Nome Cliente, Endereço Cliente. Considerando ainda que a chave primária desta tabela é formada pela coluna Código Cliente. Sobre a normalização, podemos dizer que a tabela: A está na primeira forma normal; B está na primeira e segunda forma normal; C está na primeira, segunda e terceira forma normal; D não está na primeira forma normal; E está na primeira e na terceira forma normal.
Para estar na 1FN: não deve conter campos multivalorados e campos compostos, no caso "Endereço". Gabarito: D
244
Um analista de banco de dados está projetando um sistema que exige a normalização adequada das tabelas para garantir integridade e eficiência. Qual forma normal é alcançada quando uma tabela não possui dependências transitivas e todas as suas colunas não chave são funcionalmente dependentes da chave primária? A Primeira Forma Normal (1NF); B Segunda Forma Normal (2NF); C Terceira Forma Normal (3NF); D Forma Normal de Boyce-Codd (BCNF); E Quarta Forma Normal (4NF).
Claro! Aqui está um resumo das três primeiras formas normais: 1. **Primeira Forma Normal (1NF)**: - Garante que todos os atributos da tabela contenham valores atômicos (indivisíveis) e que não haja repetição de grupos de dados. 2. **Segunda Forma Normal (2NF)**: - Alcançada quando a tabela está em 1NF e todas as colunas não chave são funcionalmente dependentes da chave primária inteira (ou seja, não há dependências parciais). 3. **Terceira Forma Normal (3NF)**: - Alcançada quando a tabela está em 2NF e não há dependências transitivas, ou seja, todas as colunas não chave são dependentes apenas da chave primária e não de outras colunas não chave. Gabarito: C
245
No que se refere à qualidade e visualização de dados, julgue o item a seguir. Normalização de dados é um processo que organiza os dados em um banco de dados para minimizar a redundância e promover a integridade.
Normalização de dados é um processo que visa eliminar dados redundantes e garantir que a dependência de dados faça sentido. É o processo pelo qual se visa minimizar inconsistências como redundância e anomalias de atualização, e tem como objetivo: 1- Integridade dos dados, evitando que informações irrelevantes sejam inseridas; 2- Organizar e dividir tabelas a fim de diminuir redundância. Gabarito: CERTO.
246
De acordo com a definição da quinta forma normal (5FN), uma tabela de quarta forma normal (4FN) estará em 5FN quando o conteúdo dela puder ser reconstruído (isto é, quando não existir perda de informação) a partir das diversas tabelas menores que não possuam a mesma chave primária.
**5FN (Quinta Forma Normal)**: Uma tabela está em 5FN se, além de estar em 4FN, puder ser decomposta em tabelas menores sem perda de informação e reconstruída a partir dessas tabelas menores, considerando as dependências de junção. A afirmação que diz que uma tabela de 4FN estará em 5FN se puder ser reconstruída a partir de tabelas menores que não compartilham a mesma chave primária está **errada**. Gabarito: Errada
247
Acerca de fundamentos dos bancos de dados relacionais, normalização, diagrama entidade-relacionamento e linguagem SQL, julgue o item a seguir. Nos bancos de dados relacionais, enquanto a segunda forma normal é baseada no conceito de dependência transitiva, a terceira forma normal baseia-se no conceito de dependência funcional total.
1 FN - atributos devem ser atomicos 2 FN - 1FN + não pode haver dependencia parcial 3 FN - 2 FN + não pdoe haver dependencia transitiva 4 FN - 3 FN + não pode haver atributos multivalorados 5 FN - 4 FN + não pode haver dependencia de junção Gabarito: Errado
248
Existem diversas formas normais que podem ser utilizadas na normalização de esquemas relacionais. A forma normal BoyceCodd (FNBC) foi proposta para ser uma simplificação, mas descobriu-se que ela é mais rigorosa que a forma normal que ela pretendia simplificar. A forma normal que a FNBC pretendia simplificar é a A 1FN. B 2FN. C 3FN. D 4FN.
A Forma Normal de Boyce-Codd (FNBC) foi proposta para ser uma versão mais rigorosa da **Terceira Forma Normal (3FN)**. Portanto, a resposta correta é: C) 3FN. Gabarito: C
249
1. ESGRANRIO/IPEA/2024/Infraestrutura/Modelo Entidade Relacionamento Em um diagrama de entidades e relacionamentos (DER), as entidades são representadas por meio de retângulos, e os relacionamentos, por meio de losangos. No DER, um retângulo representa um conjunto de entidades. Tanto as entidades quanto os relacionamentos podem possuir atributos. Todas as entidades em um DER precisam possuir um atributo especial, denominado atributo identificador. Nesse contexto, considere que uma entidade PESQUISADOR, em um DER, representa um conjunto de pessoas que são pesquisadores. Nesse caso, o atributo identificador da entidade PESQUISADOR (A) informa a versão do DER. (B) deve, necessariamente, ser o atributo CPF. (C) viabiliza a identificação de categorias de pesquisadores. (D) permite identificar unicamente uma pessoa na entidade PESQUISADOR. (E) caracteriza o relacionamento da entidade PESQUISADOR com outra entidade.
A questão aborda o conceito de Modelagem de Dados em Diagramas de Entidade-Relacionamento (DER), focando na função do atributo identificador de uma entidade. No DER, o atributo identificador é um atributo (ou um conjunto de atributos) que permite distinguir de forma única cada instância da entidade. Para a entidade PESQUISADOR, que representa um conjunto de pessoas, o atributo identificador deve permitir a identificação única de cada pesquisador. Analisando as opções: - **(A) informa a versão do DER.** Esta opção está incorreta, pois o identificador de uma entidade não está relacionado à versão do DER. - **(B) deve, necessariamente, ser o atributo CPF.** Essa opção é incorreta porque o atributo identificador não precisa ser necessariamente o CPF, apesar de o CPF ser comumente utilizado como identificador único em alguns contextos. - **(C) viabiliza a identificação de categorias de pesquisadores.** Essa opção está incorreta porque o atributo identificador deve identificar unicamente cada instância da entidade, e não as categorias. - **(D) permite identificar unicamente uma pessoa na entidade PESQUISADOR.** Esta é a opção correta, pois descreve exatamente a função do atributo identificador: permitir a identificação única de cada pessoa (pesquisador) na entidade. - **(E) caracteriza o relacionamento da entidade PESQUISADOR com outra entidade.** Essa opção está incorreta, pois o identificador da entidade não caracteriza relacionamentos; ele serve apenas para identificar unicamente as instâncias da entidade. Portanto, a resposta correta é: **(D) permite identificar unicamente uma pessoa na entidade PESQUISADOR.** Gabarito: D
250
3. CESGRANRIO - PTNM (TRANSPETRO) / TRANSPETRO / Informática/2023 Na Figura a seguir, é mostrado um diagrama E-R. Admita que os conjuntos a seguir façam parte de um banco de dados cujo esquema foi gerado a partir do modelo E-R acima. X = { x1, x2, x3 } Y = { y1, y2, y3, y4 } Z = { z1, z2, z3 } NÃO violam as restrições de cardinalidade presentes nas respectivas relações do modelo E-R acima os seguintes conjuntos U e T: a) U = { (x1, y2), (x2, y2), (x3, y2) } T = { (y1, z1), (y2, z1), (y3, z1), (y4, z1) } b) U = { (x1, y1), (x2, y2), (x3, y3) } T = { (y1, z1), (y2, z1), (y3, z1) } c) U = { (x1, y1), (x2, y2), (x3, y2) } T = { } d) U = { (x1, y2), (x2, y2), (x3, y1) } T = { (y1, z1), (y2, z2), (y3, z3) } e) U = { (x1, y2), (x2, y4), (x3, y1) } T = { (y1, z1), (y2, z1), (y3, z1), (y4, z1) }
Exemplos dos Modos Combinados: Generalização Total e Exclusiva: Toda instância da entidade genérica deve pertencer a uma, e apenas uma, das entidades especializadas (como no diagrama que você forneceu). Generalização Total e Sobreposta: Toda instância da entidade genérica deve pertencer a pelo menos uma das entidades especializadas, mas pode pertencer a mais de uma ao mesmo tempo. Generalização Parcial e Exclusiva: Algumas instâncias da entidade genérica podem não pertencer a nenhuma especialização, e as que pertencem só podem pertencer a uma especialização. Generalização Parcial e Sobreposta: Algumas instâncias da entidade genérica podem não pertencer a nenhuma especialização, e as que pertencem podem pertencer a múltiplas especializações ao mesmo tempo. --------- Para resolver essa questão precisamos observar que cada instância de X deve estar associada a uma e somente uma instância de Y. Logo, o conjunto cada instâncias de U deve ter um relacionamento para x1, x2 e x3. Ademais, cada instância de Y só pode estar relacionada a no máximo 1 instância de X. Assim, eliminamos as alternativas A, C e D, pois existem elementos de Y que aparecem mais de uma vez no conjunto de relacionamentos. Já no relacionamento T, temos que todo elemento de Y deve estar associado a 1 e somente 1 elemento de Z. Neste caso, cada elemento de Z pode estar associado a vários elementos de Y. Analisando as alternativas B e E, percebemos que apenas a alternativa E apresenta todos os elementos de Y nos relacionamentos. Logo, a letra E é a nossa resposta. Gabarito: E
251
O modelo conceitual de dados apresentado a seguir exibe uma generalização exclusiva e total. Um banco de dados é composto por um conjunto cujos elementos são instâncias da entidade E presente no diagrama acima. E={e1, e2, e3, e4, e5, e6, e7, e8, e9, e10} Nesse cenário, quais subconjuntos de E NÃO violam as propriedades dessa generalização? A E1={ } E2={ } E3={ } B E1={e1, e2, e3} E2={e4, e5, e6} E3={e7, e8, e9} C E1={e1, e3, e5, e7, e9} E2={e2, e4, e6, e8, e10} E3={e3, e6} D E1={e1, e3, e5, e7, e9} E2={e2, e4, e6, e8, e10} E3={ } E E1={e1, e2, e3, e4, e5, e6, e7, e8, e9} E2={e10} E3={e10}
Exemplos dos Modos Combinados: Generalização Total e Exclusiva: Toda instância da entidade genérica deve pertencer a uma, e apenas uma, das entidades especializadas (como no diagrama que você forneceu). Generalização Total e Sobreposta: Toda instância da entidade genérica deve pertencer a pelo menos uma das entidades especializadas, mas pode pertencer a mais de uma ao mesmo tempo. Generalização Parcial e Exclusiva: Algumas instâncias da entidade genérica podem não pertencer a nenhuma especialização, e as que pertencem só podem pertencer a uma especialização. Generalização Parcial e Sobreposta: Algumas instâncias da entidade genérica podem não pertencer a nenhuma especialização, e as que pertencem podem pertencer a múltiplas especializações ao mesmo tempo. --------------- A questão fala que a relação é exclusiva e total. Ou seja, tem que ter todos os elementos de forma exclusiva (sem repetir). Letra a) nenhum elemento letra b) falta o 10. letra c) elementos repetidos ex: 6 letra d) todos elementos sem repetição (correta) letra E) elemento repetido. Gabarito: D
252
8. CESGRANRIO - Tec Cien (BASA)/BASA/Tecnologia da Informação/2022 No banco de dados de um banco comercial, há uma tabela TRANSFERENCIA onde são registrados a data, a hora, o minuto e o segundo da transferência, além do valor transferido entre duas contas-correntes desse banco. Essa tabela tem, adicionalmente, duas chaves estrangeiras (FKs) que apontam para a tabela CONTA-CORRENTE. Considere que há, no máximo, uma transferência por segundo entre duas contas-correntes. A chave primária (PK) da tabela TRANSFERENCIA (data, hora, minuto, segundo, valor, conta-origem, conta-destino) deve ser formada exatamente a) pelas duas FKs b) por todos os atributos c) pelas duas FKs e a data d) pela data, hora e minuto e) por todos os atributos exceto o valor
A chave primária (PK) de uma tabela é única para identificar de forma inequívoca cada registro na tabela. Dada a descrição da tabela TRANSFERENCIA, a combinação dos atributos data, hora, minuto, segundo, conta-origem e conta-destino pode formar uma chave primária única para cada registro, pois: 1. Data, hora, minuto e segundo: Esses atributos garantem a unicidade no nível do segundo, conforme especificado na condição de "no máximo, uma transferência por segundo". 2. Conta-origem e conta-destino: Garantem a unicidade no contexto das contas-correntes envolvidas. Portanto, a resposta correta é: e) por todos os atributos exceto o valor. Gabarito: E
253
5. CESGRANRIO - PTNS (TRANSPETRO) / TRANSPETRO / Análise de Sistemas/SAP - Finanças e Contabilidade/2023 Uma agência reguladora é composta por três categorias de funcionários: analistas, auditores e inspetores. De modo geral, um funcionário deve pertencer a uma única categoria, porém alguns auditores também exercem a função de inspetor. Qual diagrama E-R retrata, fidedignamente, a estrutura administrativa dessa agência reguladora?
Primeiramente, todos os funcionários são Analistas ou da área fiscal. Isso nos leva a primeira divisão ou especialização que será total e exclusiva. Quando se está na área fiscal é possível ser auditor ou inspetor com responsabilidade compartilhada. Assim temos uma segunda especialização total e compartilhada. Logo, a nossa resposta encontra-se na alternativa E. Gabarito: E
254
14. CESGRANRIO - Técnico (UNIRIO)/Tecnologia da Informação/2019 A Figura a seguir representa um diagrama E-R. Seja x uma instância de K, y uma instância de L e z uma instância de M. A cardinalidade máxima exibida logo abaixo da entidade L significa que A) um par (x,z) pode estar associado a muitas instâncias de L. B) a entidade L possui muitas instâncias que participam de R. C) uma instância de K pode estar associada a muitas instâncias L. D) uma instância de M pode estar associada a, no máximo, uma instância de L. E) a relação R possui muitas instâncias de L.
A questão demonstra um relacionamento com 3 entidades (ternário). Neste caso, devemos avaliar as cardinalidades através de pares de relacionamento. Assim, neste caso, as entidades K e M (em pares) podem ser relacionar com 1 ou muitas entidades de L, conforme mencionado na Letra A. Vamos comentar as demais alternativas: ERRADA. A entidade L pode possuir 1 ou muitas instâncias participantes de R. ERRADA. Em tese, estaria certo se o relacionamento não fosse ternário. Todavia, a entidade M possui um relacionamento obrigatório (1,1). Assim, uma instância de K e M (em conjunto) só poderia se associar a instâncias de L. ERRADA. A questão inverteu os relacionados. De M para L, é 1 ou muitas, como vimos. Por outro lado, de L para M, é 1 e apenas (relacionamento obrigatório). ERRADA. Pode possuir 1 ou muitas. Gabarito: A.
255
16. CESGRANRIO - Analista (UNIRIO)/Tecnologia da Informação/2019 Em qual diagrama E-R a relação R define uma função de E em F?
Função é uma relação entre dois conjuntos A e B, não vazios, de forma que todo elemento de A tem um elemento correspondente em B e um elemento de A só possui um único correspondente no conjunto B. (“lei do cada” e “lei do todo”). Tendo então uma função Y = X2, podemos enxergar isso como: Então, para encontrarmos o diagrama, temos que achar uma relação onde que todo elemento de E tem um elemento correspondente em F e um elemento de E só possui um único correspondente no conjunto F. Então temos que definir uma cardinalidade que corresponda com essa condição da função. * A cardinalidade de E->F tem que ser de no mínimo 1 e no máximo 1 correspondente, o que gerará: [1,1] * E a cardinalidade de F-> E tem que ser de no mínimo 1 e no máximo 1 ou n correspondente, o que gerará: [1, (1 ou n) ] Gabarito: D
256
18. CESGRANRIO - Escriturário (BB)/"Sem Área"/2018 Um banco de dados possui um modelo conceitual cuja descrição é feita pelo diagrama E-R a seguir. Admita-se que o estado desse banco de dados seja definido, em parte, pelos seguintes conjuntos: A={a1,a2,a3,a4,a5,a6} A1={a2,a3,a4} A2={a1,a5,a6} C={c1,c2} D={d1,d2,d3,d4} Os elementos desses conjuntos representam instâncias das entidades presentes no diagrama E-R do banco de dados em questão. As relações que completam o estado desse banco de dados, sem que nenhuma regra de cardinalidade ou generalização seja violada, são A) R1={(a1,c1),(a2,c1)} R2={ } B) R1={ } R2={ } C) R1={(a1,c1),(a1,c2)} R2={(a2,d1),(a5,d2),(a6,d4)} D) R1={(c1,a5),(c1,a2),(c2,a5),(c2,a2)} R2={(a5,d1),(a6,d2),(a5,d3),(a5,d4)} E) R1={(a5,c1),(a2,c1),(a5,c2),(a2,c2)} R2={(a5,d1),(a6,d2),(a5,d3),(a5,d4),(a6,d4)}
Nesta questão temos que olhar para a cardinalidade. O primeiro ponto é que o relacionamento de C com A é obrigatório, ou seja, R1 não pode ser um conjunto vazio e deve apresentar pelo menos 1 relacionamento para as instâncias c1 e c2. Isso anula as alternativas A e B. A letra A não apresenta relacionamento par a c2, enquanto a letra B não apresenta nenhum relacionamento. O segundo ponto a ser observado é que apenas as instâncias de A2 podem ser relacionar com a entidade D. Ou seja, não pode haver relacionamento a2, a3 e a4 com os elementos de D. Isso torna incorreta a alternativa C, que tenta relacionar a2 a d1. Por fim, não podemos ter elementos de D associados a mais de um elemento de A2. Perceba que na letra E, d4 está associado a a5 e a6, o que não é possível. Assim, chegamos a nossa resposta na alternativa D. Verifique as regras acima nestes relacionamentos. Perceba que todas as regras são respeitadas. Gabarito: D
257
20. CESGRANRIO - Profissional (LIQUIGÁS) / Arquiteto de Soluções/Júnior TI/2018/Edital 02 O modelo de Entidades e Relacionamentos (ER) é bastante utilizado na modelagem conceitual de bancos de dados. Além de utilizar entidades e seus relacionamentos para descrição dos dados, o modelo ER inclui também alguns atributos que descrevem as características de cada entidade. Já um relacionamento também pode ter atributos A) se as cardinalidades máximas forem 1xN, independentemente das cardinalidades mínimas. B) se as cardinalidades máximas forem NxN, independentemente das cardinalidades mínimas. C) se as cardinalidades mínimas do relacionamento forem maiores que zero, independentemente das cardinalidades máximas. D) somente se estiver participando de uma entidade associativa. E) independentemente das cardinalidades do relacionamento.
Sabemos que a existência de atributos no relacionamento independe da cardinalidade. Logo, temos a nossa resposta na alternativa E. Gabarito: E.
258
25. Ano: 2014 Banca: CESGRANRIO Órgão: Petrobras Prova: Técnico(a) de Exploração de Petróleo Júnior - Informática ALUNO (cpf : string , nome : string , endereco : string, telefone : string) MATRICULA (cpf : string , cod-cad : string) CADEIRA (cod-cad : string , nome : string , creditos : number) A representação do esquema relacional acima, segundo um diagrama de entidades e relacionamentos, deve representar ALUNO, MATRICULA e CADEIRA, respectivamente, como a) entidade, relacionamento nxm e entidade b) entidade, relacionamento 1xn e entidade c) entidade, entidade e atributo d) entidade, entidade e relacionamento nxm e) entidade, atributo e entidade
Vejam que essa questão pede para fazer uma engenharia reversa, partir do modelo relacional e chegar ao modelo entidade relacionamento. De cara, podemos observar que as relações ALUNO e CADEIRA são entidades do modelo. A próxima etapa é perceber que a relação MATRICULA possui as chaves das duas relações. Neste caso, temos um relacionamento n:m. Logo, nossa resposta está na alternativa A. Gabarito: A
259
1. (VUNESP - ATCE (TCM SP)/TCM SP/Técnico de Informática/2023) Constitui uma importante tarefa na modelagem de bancos de dados relacionais a definição dos atributos componentes dos conjuntos de entidades, bem como o tipo desses atributos. Considerando os diversos tipos de atributos possíveis, é correto afirmar que a) a um atributo do tipo multivalorado pode-se atribuir mais de um valor para uma mesma entidade. b) um atributo do tipo composto é aquele que possui uma fração que será utilizada como chave primária. c) um atributo do tipo monovalorado ou de valor único deve, obrigatoriamente, ser do tipo numérico. d) um atributo do tipo composto é formado por pelo menos duas partes, cada uma pertencente a um conjunto de entidades distintas. e) um atributo do tipo derivado é aquele que está presente, simultaneamente, em pelo menos dois conjuntos de entidades.
Vamos analisar cada alternativa da questão: a) Verdadeiro. Um atributo do tipo multivalorado pode ter mais de um valor para uma mesma entidade. Isso é útil quando uma entidade pode ter múltiplos valores para um determinado atributo. b) Falso. Um atributo do tipo composto é aquele que é formado por partes menores, mas não necessariamente uma fração. Além disso, não é obrigatório que uma parte do atributo composto seja utilizada como chave primária. c) Falso. Um atributo do tipo monovalorado ou de valor único não precisa ser necessariamente do tipo numérico. Pode ser de qualquer tipo, como texto, data, etc. d) Falso. Um atributo do tipo composto é formado por partes que pertencem ao mesmo conjunto de entidades, não a conjuntos distintos. e) Falso. Um atributo do tipo derivado é aquele cujo valor é derivado de outros atributos no banco de dados, não estando presente simultaneamente em diferentes conjuntos de entidades. Gabarito: A
260
2. (VUNESP - ADP (DPE SP)/DPE SP/Analista de Suporte/2023) Um dos conceitos importantes na modelagem de um banco de dados relacional consiste na especificação do domínio de um atributo de um conjunto de entidades, que significa especificar o a) tempo máximo a ser utilizado no armazenamento de cada valor do atributo. b) conjunto de valores válidos e aceitos para esse atributo. c) número máximo de entidades permitido em cada caso. d) número máximo de vezes que os valores dos atributos podem ser alterados. e) tipo de mídia que deve ser utilizado para o armazenamento de cada atributo.
Vamos analisar cada alternativa da questão: a) Falso. O domínio de um atributo não está relacionado ao tempo máximo de armazenamento, mas sim aos valores que esse atributo pode assumir. b) Verdadeiro. O domínio de um atributo especifica o conjunto de valores válidos e aceitos para esse atributo. Define quais valores podem ser atribuídos a um determinado atributo. c) Falso. O domínio não se refere ao número máximo de entidades, mas aos valores que um atributo pode assumir. d) Falso. O domínio não está relacionado ao número máximo de vezes que os valores dos atributos podem ser alterados, mas sim aos valores aceitáveis para o atributo. e) Falso. O domínio não especifica o tipo de mídia para o armazenamento, mas sim os valores permitidos para o atributo. Portanto, a alternativa correta é a letra b). Gabarito: B
261
3. (VUNESP - PTIC (UNICAMP) / UNICAMP / Programador de Sistemas de Informação/2023) Referindo-se ao modelo entidade-relacionamento de bancos de dados relacionais, um conjunto de relacionamentos binário corresponde a a) definir uma associação entre dois atributos pertencentes a conjuntos de entidades distintos. b) declarar dois atributos para cada conjunto de entidades. c) limitar a dois o número de relacionamentos de um modelo completo de um banco de dados. d) declarar até dois tipos de atributos distintos nos conjuntos de entidades. e) definir uma associação entre dois conjuntos de entidades distintos.
Um conjunto de relacionamentos binário no modelo entidade-relacionamento de bancos de dados relacionais corresponde a: a) Definir uma associação entre dois atributos pertencentes a conjuntos de entidades distintos. - Isso não é correto. Relacionamentos binários geralmente envolvem a associação entre duas entidades, não atributos diretamente. b) Declarar dois atributos para cada conjunto de entidades. - Isso não é correto. A definição de relacionamentos binários não envolve a declaração de atributos duplicados. c) Limitar a dois o número de relacionamentos de um modelo completo de um banco de dados. - Isso não é correto. O número de relacionamentos não é limitado a dois em um modelo de banco de dados. d) Declarar até dois tipos de atributos distintos nos conjuntos de entidades. - Isso não é correto. Relacionamentos binários não estão relacionados à declaração de tipos de atributos. e) Definir uma associação entre dois conjuntos de entidades distintos. - Correto. Relacionamentos binários representam associações entre dois conjuntos de entidades distintos no modelo entidade-relacionamento. Portanto, a alternativa correta é a letra e). Gabarito: E
262
4. (VUNESP - PTIC (UNICAMP) / UNICAMP / Programador de Sistemas de Informação/2023) Em um modelo entidade-relacionamento de um banco de dados relacional, cada conjunto de entidades pode possuir diversos atributos, sendo correto que um atributo cujo valor pode ser obtido a partir do(s) valor(es) de outro(s) atributo(s) denomina-se atributo a) parcial. b) indireto. c) chaveado. d) derivado. e) secundário.
Em um modelo entidade-relacionamento de um banco de dados relacional, um atributo cujo valor pode ser obtido a partir do(s) valor(es) de outro(s) atributo(s) denomina-se atributo: a) Parcial. - Isso não é correto. Um atributo parcial é um atributo que representa uma parte de um atributo composto. b) Indireto. - Isso não é uma terminologia comum para descrever esse tipo de atributo. c) Chaveado. - Isso não é uma terminologia comum para descrever esse tipo de atributo. d) Derivado. - Correto. Um atributo derivado é aquele cujo valor pode ser derivado de outros atributos no banco de dados. e) Secundário. - Isso não é uma terminologia comum para descrever esse tipo de atributo. Portanto, a alternativa correta é a letra d). Gabarito: D
263
5. (VUNESP - ADP (DPE SP)/DPE SP / Administrador de Redes /2023) Os diagramas entidade-relacionamento representam uma maneira gráfica para a modelagem de bancos de dados relacionais. Um dos símbolos utilizados nesses diagramas é um retângulo desenhado com linhas duplas, que representa um a) atributo do tipo derivado. b) atributo de valores múltiplos. c) conjunto de entidades forte. d) conjunto de entidades fraco. e) conjunto de relacionamentos.
Um retângulo desenhado com linhas duplas em um diagrama entidade-relacionamento representa um: a) Atributo do tipo derivado. - Isso não é correto. Um atributo derivado geralmente é representado por um oval no diagrama. b) Atributo de valores múltiplos. - Isso não é correto. A representação de atributos de valores múltiplos varia, mas geralmente não é feita com um retângulo de linhas duplas. c) Conjunto de entidades forte. - Isso não é correto. Um conjunto de entidades forte geralmente é representado por um retângulo simples. d) Conjunto de entidades fraco. - Correto. Um conjunto de entidades fraco é representado por um retângulo de linhas duplas em um diagrama entidade-relacionamento. e) Conjunto de relacionamentos. - Isso não é correto. Conjuntos de relacionamentos são representados por losangos no diagrama. Portanto, a alternativa correta é a letra d). Gabarito: D
264
6. (VUNESP - ADP (DPE SP)/DPE SP/Analista Desenvolvedor/2023) Considerando o modelo entidade-relacionamento utilizado no projeto de bancos de dados relacionais, é correto que a) um conjunto de relacionamentos recursivo reúne, no mínimo, três conjuntos de entidades distintos. b) um conjunto de relacionamentos pode possuir exclusivamente atributos do tipo numérico. c) um conjunto de relacionamentos binário envolve dois conjuntos de entidades distintos. d) um conjunto de relacionamentos não pode possuir atributos descritivos. e) todos conjuntos de relacionamentos em um modelo entidade-relacionamento devem possuir a mesma cardinalidade.
Vamos analisar cada alternativa da questão: a) Falso. Um conjunto de relacionamentos recursivo envolve apenas dois conjuntos de entidades, mas esses conjuntos são os mesmos. Não são necessários três conjuntos distintos. b) Falso. Um conjunto de relacionamentos pode possuir atributos de vários tipos, não apenas numéricos. A natureza dos atributos depende dos requisitos do sistema. c) Verdadeiro. Um conjunto de relacionamentos binário envolve dois conjuntos de entidades distintos. Isso é uma definição básica de um relacionamento binário. d) Falso. Um conjunto de relacionamentos pode possuir atributos descritivos, e isso é comum na prática. A presença de atributos descritivos ajuda a fornecer informações adicionais sobre o relacionamento. e) Falso. Não é necessário que todos os conjuntos de relacionamentos em um modelo entidade-relacionamento tenham a mesma cardinalidade. A cardinalidade pode variar de acordo com os requisitos do sistema. Portanto, a alternativa correta é a letra c). Gabarito: C
265
7. (VUNESP - CFO/QC (EsFCEx)/EsFCEx/Informática/2023) Na modelagem de bancos de dados relacionais, uma importante ferramenta é constituída pelo diagramas entidade-relacionamento (DER). Tais diagramas implementam notações para a representação de artefatos da modelagem de bancos de dados relacionais, sendo correto que a notação para representar a) conjuntos de relacionamentos consiste de triângulos com cantos vivos e linhas simples de contorno. b) especialização de conjuntos de entidades consiste de losangos com cantos vivos e linhas duplas de contorno. c) conjuntos de entidades fracas consiste de hexágonos com cantos vivos e linhas duplas de contorno. d) conjuntos de entidades fortes consiste de retângulos com cantos vivos e linhas simples de contorno. e) atributos consiste de hexágonos com cantos arredondados e linhas simples de contorno.
A notação padrão para representar artefatos da modelagem de bancos de dados relacionais em diagramas entidade-relacionamento (DER) é a seguinte: a) Conjuntos de relacionamentos: Não são representados por triângulos. Geralmente, os conjuntos de relacionamentos são representados por losangos. b) Especialização de conjuntos de entidades: Errado. A especialização de conjuntos de entidades é frequentemente representada por triângulos. c) Conjuntos de entidades fracas: Não são representados por hexágonos. Geralmente, conjuntos de entidades fracas são representados por retângulos duplos. d) Conjuntos de entidades fortes: Correto. Conjuntos de entidades fortes são geralmente representados por retângulos com cantos vivos e linhas simples de contorno. e) Atributos: Não são representados por hexágonos com cantos arredondados. A notação tradicional para atributos é um oval. Portanto, a alternativa correta é a letra d). Gabarito: D
266
8. (VUNESP - ATI (UFABC) / UFABC/2023) No modelo entidade-relacionamento, a função desempenhada por um conjunto de entidades em um conjunto de relacionamentos recebe a denominação de a) domínio do conjunto de relacionamentos. b) redutor do conjunto de relacionamentos. c) fonte do conjunto de relacionamentos. d) papel do conjunto de relacionamentos. e) índice do conjunto de relacionamentos.
No modelo entidade-relacionamento, a função desempenhada por um conjunto de entidades em um conjunto de relacionamentos é denominada: d) papel do conjunto de relacionamentos. Cada entidade em um relacionamento pode desempenhar um papel específico, indicando a função ou o papel que ela desempenha nesse contexto particular de relacionamento. Por exemplo, em um relacionamento entre as entidades "Estudante" e "Curso", um estudante pode desempenhar o papel de "Aluno" e um curso pode desempenhar o papel de "Disciplina", indicando suas funções específicas na relação. Gabarito: D
267
9. (VUNESP - Téc Lab (UFABC) / UFABC / Informática / 2023) Na modelagem de bancos de dados relacionais é comum utilizar-se dos diagramas entidade-relacionamento. Uma das notações empregadas nesse tipo de diagrama refere-se aos conjuntos de entidades fracas, representado por a) uma elipse com linhas simples em seu contorno. b) uma elipse com linhas tracejadas em seu contorno. c) um losango com linhas duplas em seu contorno. d) um retângulo com linhas tracejadas em seu contorno. e) um retângulo com linhas duplas em seu contorno.
Na notação de diagramas entidade-relacionamento, os conjuntos de entidades fracas são representados por um retângulo com linhas duplas em seu contorno. Portanto, a opção correta é: e) um retângulo com linhas duplas em seu contorno. Na modelagem de diagramas entidade-relacionamento, a notação visual é uma forma de representar diferentes elementos do banco de dados e suas relações. Para identificar conjuntos de entidades fracas, utiliza-se um retângulo para representar as entidades, e quando se trata de entidades fracas, esse retângulo é desenhado com linhas duplas. Entidades fracas são aquelas que não têm uma chave primária própria e dependem de uma entidade forte (ou proprietária) para existir. A linha dupla indica essa dependência. Em contraste, as entidades fortes (ou independentes) têm linhas simples ao redor do retângulo. Essa convenção visual facilita a compreensão do modelo e ajuda a identificar a natureza das entidades no diagrama, destacando a dependência entre elas. Gabarito: E
268
2. FGV - Aud Est (CGE SC)/CGE SC/Ciências da Computação/2023 - TI - Banco de Dados - Conceitos Iniciais de Bancos de Dados O diagrama a seguir representa especialização total e subclasses desmembradas. A partir do diagrama, assinale a opção que descreve os requisitos de banco de dados. a) Cada agência bancária possui um identificador único e um nome. Sobre a situação do imóvel, há um valor venda e um valor de aluguel mensal. b) Cada agência bancária possui um identificador único e um nome. Existem instâncias de agência situadas em imóveis próprios e alugados. Não há instância de agência que não seja em imóvel próprio e alugado. O imóvel próprio possui um valor de venda. O imóvel alugado possui um valor mensal de aluguel. c) Cada agência bancária possui um identificador único e um nome. Existem instâncias de agência situadas em imóveis próprios e alugados. Há instância de agência que não é nem em imóvel próprio nem em alugado. O imóvel próprio possui um valor de venda. O imóvel alugado possui um valor mensal de aluguel. d) Cada agência bancária possui um identificador único e um nome. Existem instâncias de agência situadas em imóveis próprios ou alugados. Não há instância de agência que não seja em imóvel próprio ou alugado. O imóvel próprio possui um valor de venda. O imóvel alugado possui um valor mensal de aluguel. e) Cada agência bancária possui um identificador único e um nome. Existem instâncias de agência situadas em imóveis próprios ou alugados. Há instância de agência que não é nem em imóvel próprio nem em alugado. O imóvel próprio possui um valor de venda. O imóvel alugado possui um valor mensal de aluguel.
Para abordar essa questão, é essencial ter um entendimento das restrições de disjunção/sobreposição e das restrições de participação total/pacial. Restrição de Disjunção: Essa restrição estabelece que uma mesma instância de entidades de nível superior não pode pertencer simultaneamente a mais de um tipo de entidade de nível inferior. Ela é representada pela letra (d) dentro de um círculo. Restrição de Sobreposição: Ao contrário da disjunção, essa restrição permite que a mesma instância de entidades de nível superior pertença a mais de um tipo de entidade de nível inferior. Ela é representada pela letra (o) dentro de um círculo. Restrição de Participação Total: Esta restrição determina que cada entidade de nível superior deve pertencer, no mínimo, a um dos tipos de entidade de nível inferior na especialização. Sua representação inclui uma linha duplicada. Restrição de Participação Parcial: Em contrapartida, a participação parcial permite que algumas instâncias dos tipos de entidade de nível superior não pertençam a nenhum dos tipos de entidade de nível inferior. Sua representação utiliza uma linha simples. Na figura apresentada, podemos observar a presença do símbolo (d) dentro de um círculo, acompanhado pela linha duplicada. Isso indica claramente uma restrição de disjunção total. Logo, podemos chegar a resposta na alternativa D: Cada agência bancária possui um identificador único e um nome. Existem instâncias de agência situadas em imóveis próprios ou alugados. Não há instância de agência que não seja em imóvel próprio ou alugado. O imóvel próprio possui um valor de venda. O imóvel alugado possui um valor mensal de aluguel. Gabarito: D
269
3. FGV - Tec (BBTS)/BBTS/Perfil Interno/2023 - TI - Banco de Dados - Conceitos e Fases de Projeto e Modelagem de Dados Em projetos de banco de dados, os modelos conceituais são elaborados para descrever, necessariamente, a) os aspectos de software e de hardware que serão utilizados para armazenamento de dados. b) as chaves de acesso, os controles de chaves duplicadas e a integridade referencial. c) a visão geral dos principais dados e suas relações, independentemente das restrições de implementação. d) as entidades, os relacionamentos, os índices e o sistema gerenciador de banco de dados escolhido. e) as necessidades e as preocupações para normalização das estruturas de dados.
Em projetos de banco de dados, os modelos conceituais são elaborados para descrever: c) a visão geral dos principais dados e suas relações, independentemente das restrições de implementação. O modelo conceitual se concentra na representação abstrata dos dados e suas relações, sem entrar em detalhes sobre como os dados serão armazenados ou implementados no nível de software ou hardware. Ele fornece uma visão de alto nível dos dados e suas interações, independentemente das preocupações de implementação específicas. Gabarito: C
270
4. FGV - AJ (TJ RN)/TJ RN/Apoio Especializado/Análise de Suporte/2023 - TI - Banco de Dados - Modelo Entidade-Relacionamento (MER) Observe o seguinte Modelo Entidade Relacionamento a seguir. O modelo ilustrado atende a regra de negócio: a) um autor pode escrever diversos livros; b) cada livro pode ser escrito por diversos autores; c) para se tornar cliente, é necessário pelo menos uma compra; d) cliente e autor são especializações da entidade pessoa; e) os atributos ID podem armazenar letras, números e símbolos.
A questão apresenta uma notação IDEF1X para relacionamentos. Para responder à questão é preciso ter em mente a seguinte situação: Veja que o P indica obrigatoriedade, logo a resposta correta está na alternativa C. Gabarito: C
271
5. FGV - 2023 - Técnico (DPE RS)/Apoio Especializado / Programador Em um Modelo Entidade-Relacionamento (MER), os objetos básicos de um determinado contexto são modelados como entidades. Considere o seguinte contexto de uma empresa imobiliária: “Um cliente aluga um imóvel. Um vendedor vende o imóvel de um cliente. A alocação do funcionário é em um setor. Um cliente tem um imóvel.” No contexto apresentado, o objeto básico que representa uma entidade é: a) Alocação; b) Cliente; c) Aluga; d) Venda; e) Tem.
Cliente é uma pessoa ou organização que compra ou utiliza os serviços ou produtos de outra pessoa ou organização. No contexto da empresa imobiliária, cliente é um objeto básico que possui propriedades (como nome, endereço, telefone, etc.) e se relaciona com outras entidades (como imóvel, vendedor, etc.). Portanto, cliente é uma entidade. Gabarito: B
272
6. FGV - 2023 - Analista (DPE RS)/Apoio Especializado (TI)/Desenvolvimento de Sistemas Um Modelo Entidade-Relacionamento (MER) é composto basicamente por entidades e seus relacionamentos, assim como por atributos que descrevem suas propriedades. Considere Pessoa como uma entidade que possui diversos dependentes, como: filhos, pai, mãe, enteado etc. Para modelar “Dependentes” como uma propriedade da entidade “Pessoa”, deve-se usar o atributo do tipo: a) chave; b) composto; c) derivado; d) multivalorado; e) monovalorado.
Um atributo multivalorado permite que uma entidade possua vários valores para esse atributo. Neste caso, "Dependentes" é um atributo que pode ter múltiplos valores, pois uma pessoa pode ter vários dependentes, como filhos, pai, mãe, enteado, etc. Portanto, a opção correta é a letra D: "multivalorado". Gabarito: D
273
7. FGV - 2019 - Técnico Superior Especializado (DPE RJ)/Tecnologia da Informação Considere um diagrama IDEF1X contendo um relacionamento identificador, 1:N, onde do lado 1 está a entidade Empresa e, do lado N, a entidade Filial. Num banco de dados que implemente esse relacionamento, a restrição de integridade referencial entre as tabelas Empresa e Filial, que correspondem respectivamente às entidades citadas, NÃO é possível que a chave estrangeira na tabela Filial: a) faça parte de um índice; b) tenha um valor default declarado; c) admita valores nulos; d) seja alvo de uma operação update do SQL; e) possa ser simultaneamente definida como chave estrangeira para outro relacionamento da entidade Filial.
O ponto fundamental desta questão é notar que, dado que temos um relacionamento identificador de 1:N, estamos lidando com uma situação em que uma empresa não é obrigada a ter uma filial, mas uma filial deve obrigatoriamente estar vinculada a uma empresa. De forma geral, chaves estrangeiras podem, sim, conter valores nulos. No entanto, neste contexto, como explicado anteriormente, não podemos permitir que uma chave estrangeira seja nula, pois isso implicaria na existência de uma filial sem uma empresa associada. Gabarito: C
274
8. FGV - 2018 - Analista Legislativo (ALERO)/Tecnologia da Informação/Análise e Desenvolvimento de Sistemas Na representação de esquemas para bancos de dados relacionais por meio da notação IDEF1X, os relacionamentos podem ser identificadores ou não identificadores. Sobre a consequência do uso de relacionamentos identificadores, assinale a afirmativa correta. a) Uma tabela não pode participar em mais de um relacionamento identificador. b) A cardinalidade de um relacionamento identificador deve ser 1:1. c) A tabela do lado N do relacionamento deve possuir uma chave primária que independa da chave estrangeira decorrente do relacionamento. d) A chave estrangeira decorrente do relacionamento deve fazer parte da chave primária da tabela. e) A chave estrangeira decorrente do relacionamento deve permitir a preenchimento com valores nulos.
Vamos comentar cada uma das alternativas: a) Errada. Uma tabela pode participar em mais de um relacionamento identificador. b) Errada. Não há restrição quanto à cardinalidade do relacionamento identificador. c) Errada. A chave estrangeira decorrente do relacionamento faz parte da chave primária da tabela. d) Correta. A chave estrangeira decorrente do relacionamento deve fazer parte da chave primária da tabela. e) Errada. A chave estrangeira decorrente do relacionamento não pode receber valores nulos, pois faz parte da chave primária. Assim, o gabarito correto é a letra D. Gabarito: D
275
9. FGV - 2018 - Analista Legislativo (ALERO)/Tecnologia da Informação/Banco de Dados Considere o relacionamento estabelecido entre as entidades E1 e E2 no diagrama IDEF1X. Assinale a opção que apresenta a leitura correta que deve ser feita dessa representação. a) A cada elemento de E1 está associado um e somente um elemento de E2. b) A cada elemento de E1 estão associados entre 1 e N elementos de E2. c) A cada elemento de E2 está associado um e somente um elemento de E1. d) A cada elemento de E2 estão associados entre 1 e N elementos de E1. e) A cada elemento de E2 podem estar associados zero ou um elemento de E1.
A questão nos trouxe as seguintes leituras para o relacionamento entre E1 e E2: Uma ocorrência de E1 pode estar associada a nenhuma ou várias ocorrências de E2, enquanto uma ocorrência de E2 deve estar associada a uma e somente uma ocorrência de E1. É um relacionamento 1:N. Temos ainda um auto relacionamento. Assim, a entidade E1 também participa de um auto relacionamento de cardinalidade 1:1, ou seja, uma ocorrência de E1 pode se relacionar, no máximo, com outra ocorrência de E1. Logo, a única alternativa correta é a letra C. Gabarito: C
276
10. Ano: 2018 Banca: FGV Órgão: SEFIN-RO Prova: Auditor Fiscal de Tributos Estaduais 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 ente 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.
Podemos observar que o enunciado nos fornece a cardinalidade máxima dos relacionamentos. Primeiramente, um aluno pode cursar várias disciplinas e cada disciplina e lecionada por um professor. Logo, um aluno pode ter vários professores. Analogamente, em uma disciplina, cada professore possui vários alunos, assim temos uma cardinalidade de N:M entre aluno e professor. Portanto, a afirmação I está correta. Já a segunda afirmação diz que o relacionamento entre professores e disciplina tem cardinalidade 1:N. Assim, cada disciplina pode ser lecionada por apenas um professor e um professor pode ensinar várias disciplinas. Desta forma, podemos concluir que a afirmação II está certa. Por fim, a última afirmativa diz que um professor vai ensinar necessariamente uma disciplina. Isso nos leva a pensar na restrição de participação ou cardinalidade mínima. Não temos como afirmar isso a partir dos dados presentes no enunciado. Sendo, portanto, a afirmação falsa. Logo temos, a nossa resposta, após avaliar as afirmações, na alternativa D. Gabarito: D
277
11. Ano: 2017 Banca: FGV Órgão: MPE-BA Prova: Analista Técnico - Tecnologia Analise o diagrama a seguir. Num banco de dados corretamente derivado desse diagrama, é correto afirmar que: a) a coluna a1 da tabela C não deve permitir valores nulos; b) a coluna b1 da tabela C deve permitir valores nulos; c) o relacionamento entre as tabelas B e C é não identificador; d) a coluna c1 não faz parte do identificador da tabela C; e) as tabelas A e B têm um relacionamento n:m entre si.
Questão interessantíssima! Vamos falar dos erros de cada uma as alternativas. Precisamos lembrar primeiramente que se um atributo faz parte da chave primária ele estará acima do traço que divide o retângulo. E, nesta situação, ele não pode conter valores nulos por conta das restrições de integridade. Com essa informação já podemos avaliar as alternativas a) e b). Vejam que a1 é um atributo que não faz parte da chave de C, logo pode permitir valores nulos. Já b1 faz parte da chave de C, sendo assim não pode receber valores nulos. Vejamos agora a alternativa c). Observe que a linha que liga a entidade B a entidade C é contínua, esse fato faz com que o relacionamento seja identificador. Este fato pode ser confirmado quando observamos que os atributos chaves de B (b1 e b2) fazem parte da chave de C. Como identificador da tabela C temos ainda um atributo que é próprio de C, no caso c1. Assim, podemos afirmar que a alternativa d) está incorreta. Observe ainda que o valor de a1 está presente na entidade C, mas não é chave. Desta forma o relacionamento entre as entidades A e C é não identificador, isso pode ser observado pela linha tracejada entre elas. Por fim, nossa resposta é que a entidade C faz o relacionamento N:M entre A e B. Observa-se isso pela notação pé-de-galinha presente em cada um dos lados da entidade C. Logo, a alternativa e) está perfeitamente correta. Gabarito: E.
278
15. Ano: 2015 Banca: FGV Órgão: TCE-SE Cargo: Analista de Tecnologia da Informação Diagramas entidade-relacionamento na notação IDEF1X distinguem relacionamentos identificadores e não identificadores. A presença de um relacionamento identificador faz com que: a) os atributos que compõem a chave estrangeira correspondente possam assumir valores nulos; b) a cardinalidade do relacionamento torne-se, obrigatoriamente, 1:1; c) os atributos que compõem a chave estrangeira correspondente passem a compor a chave primária da tabela estrangeira; d) os atributos que compõem a chave estrangeira constituam, por si só, uma chave candidata da tabela estrangeira; e) seja estabelecida uma relação de especialização entre as duas entidades conectadas.
O relacionamento identificador entre duas entidades E1 e E2 (neste sentido) indica que uma instância da entidade E2 não pode ser completamente identificada sem que se conheça a instância da entidade E1 a que ela está associada. Por exemplo, considere que em uma determinada empresa de vendas no atacado os pedidos sejam identificados da seguinte forma: para cada novo cliente os pedidos são numerados a partir do número 1. Assim existirão tantos pedidos com o número "1" quantos forem os clientes da empresa. Veja o exemplo abaixo: A indicação FK no atributo "Cliente Código" da entidade PEDIDO indica que aquele atributo é uma chave–primária em outra entidade relacionada (no caso, FUNCIONÁRIO). Então, o atributo é denominado uma chave–estrangeira (Foreing Key), ou seja, uma chave que “migrou” para a outra entidade devido ao relacionamento. Partindo do exemplo acima, podemos encontrar nossa resposta na alternativa C. Gabarito: C
279
17. Ano: 2014 Banca: FGV Órgão: DPE-RJ Cargo: Técnico Superior Especializado -Administração de Dados Observe o diagrama apresentado a seguir. Na implementação desse modelo num banco de dados relacional, é preciso a) eliminar o relacionamento entre E1 e E2 e criar uma hierarquia de generalização. b) especificar precisamente a cardinalidade do relacionamento entre E1 e E2. c) migrar os atributos de E1 e E2 para uma nova entidade, haja vista a presença do relacionamento N:M. d) migrar os atributos de E2 para E1, haja vista a existência do relacionamento 1:1. e) resolver o relacionamento N:M, por meio da criação de uma entidade intermediária.
Se lembrarmos da representação de relacionamentos vista na questão anterior podemos perceber na figura um relacionamento N:M. Nestas situações, quando estamos passando do modelo conceitual para o relacional, optamos pela criação de uma tabelas auxiliar para comportar as chaves primárias das duas entidade e fazer a ligação entre os elementos das duas entidades. Essas tabelas intermediárias são conhecidas como tabela de ligação. Gabarito: E
280
18. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Analista de Sistemas O Modelo de dados é representado através de um modelo entidade-relacionamento - modeloER, enquanto que o – diagrama entidade-relacionamento (DER) constitui a representação gráfica do modeloER. No que diz respeito à simbologia utilizada, para globalização /especialização e entidade associativa são empregados, respectivamente, os seguintes símbolos:
Além de relacionamentos e atributos, propriedades podem ser atribuídas a entidades através do conceito de generalização/especialização. O símbolo para se representar generalização/especialização em um DER é um triângulo. Vejam o exemplo abaixo, nele a entidade CLIENTE é dividida em dois subconjuntos, as entidades PESSOA FÍSICA e PESSOA JURÍDICA, cada uma com propriedades particulares. Um relacionamento é uma associação entre entidades. No modelo ER não foi prevista a possibilidade de se associar uma entidade com um relacionamento ou então associar dois relacionamentos entre si. Para isto criou-se um conceito especial, o de entidade associativa. Ele nada mais é do que uma redefinição de um relacionamento para que ele seja tratado também como uma entidade. Graficamente, traça-se um retângulo em volta do losango do relacionamento. Se você tem dúvidas a respeito entidade associativa, sugiro que leia esse resumo.
281
19. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Programador de computador 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”.
Para responder a contento essa questão precisamos revisar o conceito de entidade. Segundo Navathe, o objeto básico que o modelo ER representa é uma entidade, que é algo no mundo real com existência independente. Uma entidade pode ser um objeto com existência física, ou pode ser um objeto com existência conceitual. Um banco de dados em geral contém grupos de entidades que são semelhantes, por exemplo, uma empresa que emprega centenas de funcionários pode querer armazenar informações semelhantes com relação a cada um deles. Cada funcionário tem seus próprios valores para cada atributo. Um tipo de entidade define uma coleção (ou conjunto) de entidades que têm os mesmos atributos. Cada tipo de entidade é descrito por seu nome e atributos. A coleção de todas as entidades de determinado tipo de entidade no banco de dados, em qualquer momento no tempo, é chamada de conjunto de entidades. Analisando cada uma das alternativas, podemos observar nossa resposta na alternativa A. Gabarito: A.
282
20. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Programador de computador Assinale a alternativa que corresponde ao recurso do modelo de entidade-relacionamento, cuja definição é “ser um conjunto de um ou mais atributos que, tomados coletivamente, permite-se identificar de maneira unívoca uma entidade em um conjunto de entidades”: a) Chave primária. b) Superchave. c) Especialização. d) Generalização. e) Herança de atributo.
b) Superchave. A definição apresentada refere-se à superchave, que é um conjunto de um ou mais atributos que, em conjunto, permite identificar unicamente uma entidade em um conjunto de entidades. Uma chave primária é um caso especial de superchave, que contém o menor número possível de atributos necessários para garantir essa unicidade. Gabarito: B
283
21. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados 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.
c) Um para ele mesmo. Explicação: No contexto de mapeamento de cardinalidades para conjuntos de relacionamentos binários, as opções comuns são: um para um, um para muitos, muitos para muitos, e muitos para um. A opção "um para ele mesmo" não é uma forma de mapeamento de cardinalidade; pode existir uma relação reflexiva (quando uma entidade se relaciona consigo mesma), mas isso não é considerado uma cardinalidade válida neste contexto. Gabarito: C
284
22. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Um atributo, em um modelo de entidade-relacionamento, 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.
c) um atributo composto. Explicação: Um atributo composto é aquele que pode ser dividido em sub-atributos, cada um representando uma parte mais detalhada da informação. Por exemplo, um atributo "Endereço" pode ser composto por "Rua", "Cidade", "Estado", etc. Os sub-atributos podem ou não ser do mesmo tipo e representam diferentes aspectos de um mesmo dado no mundo real. Gabarito: C
285
24. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados A respeito dos conceitos básicos do Modelo de Entidade-Relacionamento, 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.
Essa questão revisa alguns conceitos do modelo ER, primeiramente fala sobre a chave primária. Uma restrição importante das entidades de um tipo de entidades é a chave ou restrição de exclusividade sobre os atributos. A definição da questão, descrita no item I, está teoricamente perfeita. No item II, a definição proposta para Entidade Forte está errada! Na realidade essa definição da questão está associada ao termo Entidade Fraca. Mais uma vez, uma restrição ao termo entidade forte é descrita de forma incorreta no item III. O correto seria dizer que “as entidades fracas dependem existencialmente de entidades forte”. Sendo assim temos a alternativa A como a nossa resposta, pois afirma que apenas o item I está correto. Gabarito: A.
286
25. Ano: 2009 Banca: FGV Órgão: MEC Cargo: Administrador de banco de dados Com relação a um Banco de Dados, analise as afirmativas a seguir: I. Uma tabela no banco de dados relacional pode ser derivada de uma entidade ou de um relacionamento N:M (muitos para muitos), a partir de um modelo entidade-relacionamento. II. Quando um banco de dados relacional possui nomes idênticos de colunas dentro de uma tabela, estabelece-se um relacionamento hierárquico entre essas colunas. III. As regras de derivação de um modelo entidade-relacionamento para o modelo físico são idênticas para bancos de dados relacionais, em rede ou hierárquicos. 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.
Vamos analisar cada uma das alternativas de forma rápida, os aspectos mais aprofundados do modelo relacional serão vistos na próxima aula. Na alternativa I, o examinador afirma que é possível derivar uma tabela a partir de uma entidade ou de um relacionamento N:M. Isso é perfeitamente possível! No item II, temos uma definição incorreta. No modelo relacional os nomes dos diversos atributos em uma tabela têm que ser obrigatoriamente distintos. Da mesma forma que o nome de tabelas dentro do mesmo esquema. O item III fala sobre regras de derivação, que seria o mesmo de fazer um mapeamento. A questão afirma que as regras são idênticas para derivação do MER para o modelo físico são idênticas para os bancos de dados relacionais, em rede ou hierárquico, isso não é verdade pois as formas de representação física dos modelos são diferentes. Desta forma, apenas o item I está correto, o que leva nosso gabarito a ser marcado na alternativa A. Gabarito: A.
287
26. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas No intuito de determinar, entre duas entidades, se um relacionamento do tipo N:M possui um atributo, aplica-se um teste com a descrição do referido atributo. Esse teste deve: a) conter somente a entidade que deve conter o atributo. b) conter as duas entidades que participam do relacionamento. c) conter nenhuma das entidades participantes do relacionamento. d) conter somente a entidade em que o atributo não deve se encontrar. e) conter apenas uma das entidades que participa do relacionamento.
Mais uma questão sobre o modelo entidade-relacionamento, desta vez analisamos um atributo presente no relacionamento entre duas entidades. Pense no caso das entidades Médico e Paciente e o relacionamento Consulta. O atributo hora da consulta é claramente um atributo do relacionamento. Ele só vai existir quando um paciente marcar uma consulta. Sendo assim ele deve conter as duas entidades que participam do relacionamento. Gabarito: B.
288
27. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas 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 alternativa correta é: **b) Não possui identificação própria ou sua existência depende de uma outra denominada de forte.** Explicação: Uma **entidade fraca** é aquela que **não possui uma chave primária própria** e cuja existência depende de uma entidade forte. A entidade fraca é identificada por meio de uma **relação de dependência** com uma entidade forte, utilizando uma **chave estrangeira** junto com seus próprios atributos para formar uma identificação única. Gabarito: B.
289
28. Ano: 2010 Banca: FGV Órgão: BADESC Cargo: Analista de Sistemas A chave estrangeira se encontra na própria tabela de um autorelacionamento do(s) tipo(s): a) 1:1 e 1:N b) 1:1 e N:N c) 1:N e N:N d) somente N:N e) 1:1, 1:N e N:N
A alternativa correta é: **a) 1:1 e 1:N** Comentário: Em um **autorelacionamento**, a chave estrangeira se encontra na própria tabela apenas nos casos de **relacionamentos 1:1** e **1:N**. Exemplos: - **1:1**: Uma pessoa pode estar "casada com" outra pessoa, e essa relação é exclusiva entre duas entidades. - **1:N**: Um gerente pode "gerenciar" vários funcionários, mas cada funcionário tem apenas um gerente. No caso de **relacionamentos N:N**, seria necessária uma tabela intermediária para armazenar as relações entre os registros, de modo que a chave estrangeira não ficaria na própria tabela. Portanto, o gabarito correto é **A**.
290
29. Ano: 2010 Banca: FGV Órgão: DETRAN-RN Cargo: Administrador de banco de dados “Mapeamento estabelecido entre duas classes de coisas, ou objetos que são visualizados através da abstração”. Tal afirmativa refere-se: a) Agregação binária. b) Agregação de abstração. c) Generalização de abstração. d) Cardinalidade. e) Vetorizar.
A alternativa correta é: **a) Agregação binária.** Explicação: A afirmação refere-se à **agregação binária**, que é uma forma de associação entre duas classes de objetos ou entidades que podem ser visualizadas através de abstração. Em modelagem de dados, a agregação é uma relação especial entre classes, onde uma classe é parte de outra, permitindo representar a relação "parte-todo". No caso de uma agregação binária, o relacionamento ocorre entre duas classes de entidades. As demais alternativas, como **abstração**, **generalização** ou **cardinalidade**, não capturam exatamente essa ideia de mapeamento entre dois conjuntos de objetos. Gabarito: A
291
32. Ano: 2016 Banca: FGV Órgão: CODEBA Cargo: Analista - Tecnologia da Informação Em geral, os gerenciadores de bancos de dados relacionais permitem que seja estabelecido o procedimento a ser adotado quando um registro referenciado por uma chave estrangeira (foreign key) é deletado, ou tem seu valor alterado (update). No diagrama IDEF1X mostrado a seguir, representado com anotação pé-de-galinha, as tabelas E1 e E2 possuem um relacionamento entre si. Assinale a combinação que seria adequada na implementação do relacionamento da figura. a) On delete cascade; on update set null. b) On delete set null; on update cascade. c) On delete cascade; on update cascade. d) On delete set null; on update set null. e) On delete restrict; on update set null.
Como o atributo A1 da relação E1 compõe a chave primária da relação E2, ele não pode ser nulo. Portanto, CASCADE em ambos os casos. Gabarito: C
292
(FGV/TCE SP/2023) O TCE SP contratou a empresa DataAnalysis para analisar as características dos candidatos que estão participando do seu concurso. Para realizar o pré-processamento dos dados, a DataAnalysis coletou e classificou as seguintes informações das variáveis relacionadas aos candidatos: * Profissão do candidato * Nome completo do candidato * Número de anos de experiência profissional * Idade do candidato, considerando ano e meses * Nível de escolaridade (Ensino Médio, Graduação, PósGraduação) A variável classificada como qualitativa ordinal pela empresa DataAnalysis foi: a) Profissão do candidato; b) Nome completo do candidato; c) Número de anos de experiência profissional; d) Idade do candidato, considerando ano e meses; e) Nível de escolaridade (Ensino Médio, Graduação, PósGraduação).
* DADOS QUALITATIVOS - Nominal – apenas atribui uma qualidade, sem ordenação. Exemplo: vermelho, masculino, feminino, brasileiro; - Ordinal – atribui uma qualidade passível de ordenação. Exemplo: baixo/alto, curto/longo * DADOS QUANTITATIVOS - Discreto – atribui valores específicos para uma variável. Exemplo: quantidade total de alunos no curso - Contínuo – constitui um valor que pode ser dividido em níveis menores, usualmente sendo associado a uma variável decimal. Exemplo: altura, velocidade Variáveis qualitativas são aquelas que atribuem características não numéricas. Vamos encontrar a alternativa que aponta uma dessas variáveis. a) Errado. É uma variável qualitativa nominal b) Errado. É uma variável qualitativa nominal c) Errado. É uma variável quantitativa d) Errado. É uma variável quantitativa e) Certo. Portanto, correta a letra E (Gabarito: Letra E)
293
(FGV/TCE SP/2023) Davi é servidor do Departamento de Segurança da Informação do Tribunal de Contas do Estado de São Paulo (TCE SP) e recebeu a tarefa de classificar as informações trafegadas na rede interna do Tribunal. O objetivo é assegurar que a informação receba um nível adequado de proteção de acordo com a sua importância para a organização e conformidade com a LGPD (Lei Geral de Proteção de Dados). Davi encontrou algumas informações estratégicas da empresa que deveriam estar disponíveis apenas para grupos restritos de colaboradores e que deveriam ter níveis médios de confidencialidade. As informações encontradas por Davi devem ser classificadas como: a) ultrassecretas; b) confidenciais; c) restritas; d) de uso interno; e) públicas.
A questão nos informa que “disponíveis apenas para grupos restritos de colaboradores e que deveriam ter níveis médios de confidencialidade.” – o que retrata, portanto, uma informação restrita. (Gabarito: Letra C) * Dados públicos: sem nível de confidencialidade * Dados internos (ou de uso interno): possui baixo nível de confidencialidade, não podendo ser compartilhada com pessoas de fora; porém, se forem, o impacto não será grande * Dados restritos: possui nível intermediário de proteção; são informações classificadas como importantes, e apenas grupos restritos podem ter acesso a ela * Dados confidenciais: tem alto nível de proteção; são dados que, se vazarem, podem comprometer gravemente a entidade
294
(CEBRASPE/PC PB/2022) Em banco de dados, para definir as operações básicas em uma tabela, utiliza-se o acrônimo a) SQL. b) ODBC. c) CRUD. d) NoSQL. e) DROP
Como vimos, o acrônimos para operações básicas em bancos de dados é CRUD – Create, Read, Update e Delete. (Gabarito: Letra C)
295
(FUNDATEC/BRDE/2023) Qual das propriedades abaixo NÃO constitui uma característica que distingue a abordagem de banco de dados relacional de uma abordagem tradicional de processamento de arquivos? a) Natureza de autodescrição da base de dados. b) Isolamento entre programas e arquivos de dados. c) Suporte a múltiplas visões de dados. d) Suporte a recursos de data analytics, tais como algoritmos de aprendizado de máquina. e) Suporte a transações concorrentes em ambientes multiusuário.
A propriedade que **NÃO** constitui uma característica que distingue a abordagem de banco de dados relacional de uma abordagem tradicional de processamento de arquivos é: **Suporte a recursos de data analytics, tais como algoritmos de aprendizado de máquina.** Embora os bancos de dados relacionais possam ser utilizados em data analytics, o suporte a algoritmos de aprendizado de máquina não é uma característica exclusiva ou distintiva da abordagem relacional em comparação com o processamento tradicional de arquivos. As outras opções referem-se a características fundamentais que realmente diferenciam as duas abordagens. Gabarito: Letra D
296
(COCP IFMT/IF MT/2023) Sobre Sistema Gerenciador de Banco de Dados (SGBD) relacional, assinale a alternativa que NÃO apresenta um componente típico da arquitetura do SGBD: a) Processador de Consultas. b) Gerenciador de Escalabilidade. c) Otimizador de Consultas. d) Gerenciador de Arquivos. e) Gerenciador de Transações.
Alternativa que NÃO é um componente típico: **b) Gerenciador de Escalabilidade.** Componentes típicos da arquitetura de um SGBD relacional: 1. **Processador de Consultas**: Responsável por interpretar e executar as consultas SQL enviadas pelos usuários. 2. **Otimizador de Consultas**: Avalia diferentes estratégias para executar uma consulta e escolhe a mais eficiente em termos de uso de recursos. 3. **Gerenciador de Arquivos**: Administra o armazenamento físico dos dados, gerenciando como e onde os dados são armazenados nos dispositivos de armazenamento. 4. **Gerenciador de Transações**: Garante que as transações sejam processadas de forma confiável e que as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) sejam mantidas. Esses componentes trabalham em conjunto para assegurar que o SGBD funcione eficientemente, permitindo o armazenamento, recuperação e manipulação de dados de maneira eficaz e segura. O "Gerenciador de Escalabilidade", por outro lado, não é um termo padrão dentro da arquitetura de SGBDs. Gabarito: Letra B
297
(CEBRASPE/TCE-PA/2016) Com relação a sistemas gerenciadores de bancos de dados (SGBD), julgue o próximo item. O SGBD deve possuir um controle de concorrência que garanta a manipulação controlada de um mesmo dado por múltiplos usuários, a fim de assegurar que os resultados das atualizações sejam corretos.
Perfeito! É exatamente esse o objetivo do controle de concorrência. (Gabarito: Correto)
298
(FGV/RFB/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.
No cenário apresentado, o mecanismo mais adequado para implementar o monitoramento das operações de insert e update na tabela é: **c) Triggers.** Justificativa: As **triggers** (ou gatilhos) são procedimentos que são automaticamente executados em resposta a eventos específicos no banco de dados, como inserções, atualizações ou exclusões. Elas são ideais para auditoria, pois permitem que você registre automaticamente as alterações feitas em uma tabela sem que as aplicações precisem modificar seu código para fazer isso. As outras opções não são tão apropriadas para essa necessidade específica: - **a) Cursores**: Usados para manipular conjuntos de resultados linha a linha, mas não são adequados para monitorar alterações. - **b) Stored procedures**: São rotinas que podem ser chamadas para executar operações, mas não são acionadas automaticamente como as triggers. - **d) Utilitários de exportação de dados**: Usados para mover dados para fora do banco de dados, não para monitoramento em tempo real. - **e) Views**: São utilizadas para apresentar dados de maneira específica, mas não registram ou monitoram alterações. Portanto, as triggers são a escolha mais apropriada para o monitoramento de operações em um banco de dados relacional. Gabarito: Letra C
299
(CEBRASPE/TCE RJ/2022) Quanto a balanceamento de carga, failover e replicação de estados, julgue o próximo item. O failover em um sistema de banco de dados, sem nenhum prejuízo para a qualidade das informações consultadas, é garantido pela replicação das bases de dados em sítios distintos.
O failover é um mecanismo que permite que um sistema continue operando, mesmo na ocorrência de falhas, ao redirecionar a carga de trabalho para um sistema alternativo (normalmente uma cópia de segurança ou um servidor secundário). Alunos, quando vamos montar um cronograma de backups para os bancos de dados, de forma a criar o failover, precisamos tomar uma decisão importante: quanto dos dados estamos dispostos a perder, em caso de uma falha? Essa decisão é importante pois não podemos fazer backups o tempo todo dos dados, então temos que analisar essa decisão para definirmos a periodização das transferências de dados aos servidores de failover. Nesse sentido, perceba que, a não ser que a falha ocorra segundos após a transmissão, teremos uma perda de dados - então não podemos afirmar que não há prejuízo para a qualidade das informações consultadas. Sendo assim, a afirmativa está incorreta. Gabarito: Errado
300
(Inédita/Prof. Felipe Mathias) Acerca dos conceitos de recuperação de bancos de dados, julgue a afirmativa abaixo. No processo de failback, temos o deslocamento da execução do servidor do banco de dados de um servidor de suporte, ativado numa eventual de falha, de volta ao servidor principal.
A afirmativa está correta. **Failback** é o processo de retorno das operações do servidor de suporte (secundário) para o servidor principal, após a resolução de uma falha que havia causado o **failover**. Gabarito: Correto
301
(AOCP/IF MA/2023) Você é o administrador de banco de dados de uma empresa e foi solicitado para criar uma rotina que calcula a média salarial dos funcionários de cada departamento. Você decide implementar essa rotina utilizando stored procedures. Assinale a alternativa que apresenta uma vantagem do uso de stored procedures para essa tarefa. a) Stored procedures garantem que todos os dados inseridos no banco de dados estejam no mesmo formato. b) Stored procedures aumentam a segurança do banco de dados, pois são executados em uma sandbox isolada. c) Stored procedures melhoram a performance, pois são compiladas uma vez e armazenadas no servidor do banco de dados. d) Stored procedures não podem ser modificadas por usuários não autorizados, garantindo que o código seja sempre o mesmo. e) Stored procedures são executadas automaticamente quando ocorre um evento específico, como a inserção de um registro.
Vamos analisar cada uma das afirmativas. a) Errado. Podemos fazer com que os stored procedures insiram dados sempre no mesmo formato, mas isso não é uma características inerentes a ele. b) Errado. Novamente, podemos aumentar a segurança com a configuração correta do procedure, mas essa não é uma característica inerente. c) Certo. Por serem pré-compilados, os stored procedures fornecem um aumento significativo na performance. d) Errado. De fato, eles não podem ser modificados por usuários não autorizados - mas isso não garante que o código seja sempre o mesmo, já que usuários autorizados podem alterá-lo. e) Errado. A alternativa descreve os triggers, não os stored procedures. Temos, portanto, a letra C como correta. Gabarito: Letra C
302
(Inédita/Prof. Felipe Mathias) Acerca dos conhecimentos sobre Sistemas Gestores de Banco de Dados, julgue o item abaixo. Para o uso de cursores em consultas aos bancos de dados, é necessária a sua criação e declaração explícita.
Sempre que realizamos uma consulta, temos o uso de um cursor implícito para percorrer o resultado da pesquisa. Podemos, porém, criar cursores explícitos para ter um resultado mais direcionado ao que queremos. Gabarito: Errado
303
04. (FCC/MPE PB/2023) A integridade semântica deve garantir que um dado inserido em uma linha da tabela tenha um valor válido. E para que este valor seja válido ele a) não pode estar em branco. b) deve ser do mesmo tamanho que o especificado nos metadados, desde que tenha sido especificado como tamanho fixo. c) não pode ser nulo. d) deve ter sido especificado nos metadados como um tipo de dado numérico inteiro. e) deve ser do mesmo tipo de dado definido na especificação da coluna na tabela.
Galera, integridade semântica refere-se ao tipo de dado definido para determinado dado. Em bancos de dados relacionais, como veremos na próximo aula, cada linha representa um dado específico, com seus diversos atributos representados em colunas. São esses atributos que possuem uma restrição de tipo de dado e, consequentemente, temos que ter os dados do mesmo tipo definido na especificação da coluna. Gabarito: Letra E
304
06. (CEBRASPE/TCE RJ/2022) Julgue o item que se segue, relacionado à administração de bancos de dados. A criação de índices em tabelas com alto grau de duplicidade garante um aumento na eficiência de consultas a essas tabelas.
Índices identificam cada dado por um identificador único, de forma que possamos acessar esses dados apenas pelo identificador, que usualmente tem um tamanho muito menor e mais leve, trazendo eficiência para as consultas. Porém, quando temos um alto índice de duplicidade, teremos diferentes índices apontando para cada um dos dados, trazendo uma queda de desempenho e, consequentemente, de velocidade. Nesse sentido, errada a questão. Gabarito: Errado
305
09. (CEBRASPE/AGENTE PF/2021) Julgue o próximo item, relativo a conceitos de metadados de arquivos. A função do metadado de arquivo é descrever o destino final do arquivo definido pelo emissor da mensagem e proprietário do arquivo.
O metadado descreve a estrutura dos dados, ou do banco de dados em geral, como tipos de dados, relações, entre outros. Descrever o destino final do arquivo não faz parte das suas funções. Gabarito: Errado
306
10. (CEBRASPE/SEED PR/2021) Elemento com significado no mundo real e que compõe o sistema de arquivos, o componente básico de um arquivo é a) a informação. b) o dado. c) o conhecimento. d) o nível lógico. e) o sistema gerenciador de banco de dados (SGBD).
Os elementos com significado no mundo real e que são a menor parte de um arquivo, são justamente os dados. Gabarito: Letra B
307
11. (VUNESP/PB SAÚDE/2021) No contexto da temática relativa aos bancos de dados e sistemas de informações utilizados nas organizações, é correto afirmar: a) os procedimentos para a formação de juízos ou para a solução de problemas são os elementos fundamentais que servem de base para os levantamentos de dados. b) o banco de dados funciona como um sistema de armazenamento e acumulação de dados devidamente codificados e disponíveis para o processamento e a obtenção de informações. c) as informações, quando identificadas, classificadas, armazenadas e relacionadas entre si, permitem a obtenção de dados, que é a parte inicial e mais simples de um sistema de informação. d) os dados, tomados isoladamente, são muito significativos, prescindindo do processamento para ganhar significado pois carregam a informação em si mesmos. e) o banco de dados é um conjunto de arquivos cuja dispersão facilita o acesso a todos os dados, mantendo a redundância.
Vamos analisar cada uma das alternativas. a) Errado. Na realidade, a formação de juízo e solução de problemas são coisas que acontecem após os bancos de dados serem formados, já que assim teremos os dados para orientar as decisões. b) Certo. Perfeita a descrição do que é um banco de dados, de um ponto de vista mais técnico. c) Errado. São os dados que permitem a obtenção de informações, e não o caminho contrário. d) Errado. Isoladamente, um dado não tem significado. É a partir da reunião em conjunto deles que passamos a ter conhecimentos úteis. e) Errado. A dispersão não é uma característica desejada em bancos de dados. A redundância também não é incentivada, existindo apenas para garantir segurança e otimização. Portanto, correta a letra B. Gabarito: Letra B
308
(CEBRASPE/TCM-BA/2018) Considerando os conceitos de banco de dados relacionais, assinale a opção correta a respeito das propriedades de uma tupla. a) A tupla tem o mesmo significado e as mesmas propriedades de uma tabela. b) Os componentes de uma tupla são ordenados da esquerda para a direita. c) Cada tupla contém exatamente um valor para cada um de seus atributos. d) Um subconjunto de uma tupla não é considerado uma tupla. e) Uma tupla nunca é vazia, seu grau pode variar de 1 até n.
Vamos ver cada alternativa. a) Errado. Tuplas e tabelas são componentes diferentes, com propriedades diferentes. b) Errado. Não temos ordenação nos componentes da tupla. c) Certo. Temos, exatamente, um valor para cada um dos atributos. Veremos depois que esses valores podem sem múltiplos (multivalorados), mas eles são considerados de forma única. d) Errado. Conforme vimos, um subconjunto de uma tupla também é considerado uma tupla. e) Errado. A tupla pode ser vazia, e seu grau pode variar de 0 a n. A correta, portanto, é a letra C. Gabarito: Letra C
309
(CEBRASPE/SEPLAN RR/2023) Julgue o item a seguir a respeito do conceito de modelagem relacional de dados. No modelo relacional de dados todas as relações necessitam de uma chave primária formada por uma ou mais tuplas que identificam um único registro.
Cuidado! As chaves primárias são formadas por uma ou mais colunas (ou atributos) de uma tabela, que unificam um nico registro, e não por uma ou mais tuplas, como a questão afirma. Gabarito: Errado
310
(Inédita/Prof. Felipe Mathias) O conjunto de atributos que são elegíveis como chaves primárias de uma tabela são denominados de: a) Chaves substitutas b) Chaves estrangeiras c) Chaves candidatas d) Chaves indexadas e) Chaves uniformes
Como vimos, o conjunto de atributos que são elegíveis como chave primárias recebe o nome de chaves candidatas. Gabarito: Letra C
311
(DIRENS AERONÁUTICA/CIAAR/2018) As doze regras de Codd propostas em 1985 por Dr. E. F. Codd definem o que é necessário para que um sistema de gerenciamento de banco de dados seja considerado relacional. A regra 12, que trata da não transposição das regras, afirma que a) o banco de dados deve suportar inserções, atualizações e exclusões de nível de conjunto. b) qualquer visualização que seja teoricamente atualizável deve ser atualizável através do sistema. c) os nulos devem ser representados e tratados de forma sistemática, independente do tipo de dados. d) se o sistema suportar acesso de baixo nível aos dados, não deve haver uma maneira de ignorar as regras de integridade do banco de dados.
A Regra 12, Regra da Não Subversão (ou da não transposição), afirma que, se um sistema relacional possui uma linguagem de baixo nível, esse nível não pode ser usado para subverter ou sobrepor as regras e restrições de integridade expressas em linguagens de mais alto nível. Gabarito: Letra D
312
1. (12 Regras de Codd) A Regra da Informação estabelece que todos os dados devem ser representados em tabelas. Nesse contexto, qual das seguintes situações não está em conformidade com essa regra? A) Dados armazenados como tuplas em relações B) Representação de dados como objetos externos fora do banco de dados C) Dados acessados por meio de operações de álgebra relacional D) Armazenamento de dados em colunas, acessíveis por chaves primárias E) Informações recuperadas exclusivamente através de consultas SQL
B) Representação de dados como objetos externos fora do banco de dados REGRA 01 - REGRA DA INFORMAÇÃO Toda a informação em um banco de dados é representada explicitamente no nível lógico e em apenas uma forma - por valores em tabelas.
313
2. (12 Regras de Codd) A Regra da Garantia de Acesso determina que cada dado deve ser acessível sem ambiguidade. Qual das seguintes práticas estaria violando essa regra? A) Usar uma chave primária composta para acessar dados B) Utilizar índices para acelerar o acesso a dados C) Depender de um caminho físico de armazenamento para acessar um valor D) Utilizar uma chave estrangeira para referenciar outra tabela E) Consultar dados por meio de visões criadas sobre várias tabelas
C) Depender de um caminho físico de armazenamento para acessar um valor. REGRA 02 - REGRA DO ACESSO GARANTIDO Cada um dos datum (menor unidade dos dados) num banco de dados relacional são acessíveis logicamente através de uma combinação de nome da tabela, nome da coluna e o valor da chave primária.
314
3. (12 Regras de Codd) A Regra de Tratamento Sistemático de Valores Nulos distingue valores nulos de zero ou outros valores padrão. Em qual dos cenários abaixo esse tratamento de valores nulos seria inadequado? A) Usar o valor nulo para representar dados desconhecidos B) Substituir automaticamente valores nulos por zeros ao consultar dados numéricos C) Permitir valores nulos em colunas opcionais em uma tabela D) Tratar valores nulos como um tipo especial de valor ausente no SQL E) Aplicar funções de agregação, como COUNT, que tratam valores nulos de forma diferenciada
B) Substituir automaticamente valores nulos por zeros ao consultar dados numéricos. REGRA 03 - REGRA TRATAMENTO SISTEMÁTICO DE VALORES NULOS O SGBD deve permitir que cada campo possa permanecer nulo (ou vazio). Especificamente, ele deve suportar uma representação de "falta de informação e informações inaplicáveis" que é sistemática, diferente de todos os valores regulares (por exemplo, "diferente de zero ou qualquer outro número", no caso de valores numéricos), e independente de tipo de dados. É também implícito que tais representações devem ser manipuladas pelo SGBD de maneira sistemática.
315
4. (12 Regras de Codd) A Regra do Catálogo Dinâmico Online Baseado no Modelo Relacional estabelece que o catálogo do banco de dados deve ser acessível como uma relação. Qual abordagem abaixo violaria essa regra? A) Acessar o catálogo usando a mesma linguagem usada para consultar dados B) Definir permissões de acesso ao catálogo através de SQL C) Consultar metadados diretamente via sistema de arquivos D) Recuperar a estrutura das tabelas por meio de comandos SQL E) Criar views sobre o catálogo para facilitar a administração
C) Consultar metadados diretamente via sistema de arquivos REGRA 04 - REGRA DO SISTEMA DE CATÁLOGO DINÂMICO ONLINE A descrição do banco de dados, através do catálogo de dados, é representada o mesmo nível lógico que dados normais, de forma que usuários possam aplicar as mesmas linguagens relacionais aos catálogos que são aplicadas aos dados.
316
5. (12 Regras de Codd) A Regra da Sublinguagem Abrangente exige que a linguagem de manipulação de dados ofereça suporte a todas as operações necessárias. Qual das seguintes características não estaria de acordo com essa regra? A) A linguagem suporta transações atômicas B) A linguagem inclui operações de definição e controle de dados C) A linguagem só permite consultas de leitura, sem modificar dados D) A linguagem permite a definição de visões e restrições E) A linguagem suporta recuperação de dados por meio de expressões relacionais
C) A linguagem só permite consultas de leitura, sem modificar dados REGRA 05 - REGRA DA LINGUAGEM DE SUBDADOS ABRANGENTE Um sistema relacional deve suportar diversas linguagens e modos de uso do terminal (lugar onde digitamos os comandos). Entretanto, deve existir pelo menos uma linguagem cujas instruções devem ser expressáveis por meio de uma sintaxe bem definida, como strings de caracteres. Essa linguagem é o SQL.
317
6. (12 Regras de Codd) A Regra de Atualização de Visões garante que as visões teoricamente atualizáveis possam ser modificadas. Qual das seguintes visões provavelmente não seria atualizável? A) Uma visão que usa junções simples entre duas tabelas B) Uma visão que exclui colunas da tabela original C) Uma visão que inclui uma agregação, como SUM ou AVG D) Uma visão que se baseia em uma única tabela com uma chave primária definida E) Uma visão que aplica filtros simples sobre dados de uma tabela
C) Uma visão que inclui uma agregação, como SUM ou AVG REGRA 06 - REGRA DA ATUALIZAÇÃO DE VISÕES Todas as views que são teoricamente atualizáveis, também são atualizáveis pelo sistema.
318
7. (12 Regras de Codd) A Regra de Inserção, Atualização e Exclusão de Alta Nível especifica que essas operações devem ser possíveis em conjuntos de dados. Qual das situações a seguir não cumpre essa regra? A) A operação de exclusão remove várias linhas de uma tabela com uma única instrução SQL B) A inserção de novos dados exige que as linhas sejam adicionadas uma por uma C) A operação de atualização modifica múltiplos registros ao mesmo tempo D) A linguagem SQL suporta operações de inserção em subconsultas E) As exclusões são aplicadas com base em condições especificadas em um WHERE
B) A inserção de novos dados exige que as linhas sejam adicionadas uma por uma. REGRA 07 - REGRA DE OPERAÇÕES RELACIONAIS A capacidade de lidar com relações básicas ou derivadas, com um único operador, aplica-se não apenas à recuperação de dados, mas também à inserção, atualização e exclusão deles.
319
8. (12 Regras de Codd) A Regra da Independência Física dos Dados estabelece que mudanças na estrutura física do armazenamento não devem afetar o sistema. Qual dos seguintes exemplos estaria em desacordo com essa regra? A) Alteração no algoritmo de indexação que afeta a maneira como os dados são acessados B) Modificação na organização de discos que não requer alterações no aplicativo C) Implementação de novos esquemas de cache sem impacto no modelo lógico D) Troca do sistema de arquivos subjacente sem afetar o esquema de dados E) Reestruturação das tabelas sem impacto nas consultas existentes
A) Alteração no algoritmo de indexação que afeta a maneira como os dados são acessados. REGRA 08 - REGRA DA INDEPENDÊNCIA DOS DADOS FÍSICOS Programas de aplicação e atividades de terminal de comando permanecem inalteradas quando temos alterações nas representações de armazenação ou nos métodos de acesso aos dados.
320
9. (12 Regras de Codd) A Regra da Independência Lógica dos Dados afirma que mudanças na estrutura lógica do banco de dados não devem impactar aplicativos. Qual exemplo a seguir não segue essa regra? A) Alteração no tipo de dados de uma coluna obrigando a reescrita de consultas B) Adição de novas colunas sem modificar aplicações existentes C) Criação de novas visões sem necessidade de ajuste nos aplicativos D) Remoção de colunas desnecessárias sem impacto nas consultas atuais E) Modificação na estrutura de índices sem exigir mudanças nos aplicativos
A) Alteração no tipo de dados de uma coluna obrigando a reescrita de consultas REGRA 09 - REGRA DA INDEPENDÊNCIA LÓGICA DOS DADOS Programas de aplicação e atividades de terminal permanecem logicamente inalteradas quando mudanças na forma de preservação de informações de qualquer tipo, que teoricamente permitam a inalterações, são feitas nos dados base.
321
10. (12 Regras de Codd) A Regra de Independência de Integridade especifica que as restrições de integridade devem ser definidas no catálogo, separadas das aplicações. Qual das práticas abaixo violaria essa regra? A) Definir a chave primária diretamente no esquema da tabela B) Implementar uma regra de integridade por meio de código de aplicação ao invés do banco de dados C) Especificar restrições de chave estrangeira no momento da criação da tabela D) Implementar validação de dados usando triggers dentro do banco de dados E) Definir restrições de unicidade diretamente no catálogo do banco
B) Implementar uma regra de integridade por meio de código de aplicação ao invés do banco de dados REGRA 10 - REGRA DA INDEPENDÊNCIA DE INTEGRIDADE Restrições de integridade específicas de um banco de dados relacional em particular devem ser definíveis na sublinguagem de dados e armazenáveis no catálogo, não nos programas de aplicação.
322
11. (12 Regras de Codd) A Regra de Independência de Distribuição afirma que a localização física dos dados em um banco distribuído deve ser transparente para os usuários. Qual cenário a seguir contraria essa regra? A) Um sistema que permite o acesso transparente a dados distribuídos entre vários servidores B) Consultas que precisam explicitamente mencionar a localização dos dados distribuídos C) Um banco de dados que replica dados automaticamente entre diferentes locais físicos D) Um banco de dados distribuído que permite recuperação automática de dados em caso de falha de rede E) Consultas que funcionam independentemente de onde os dados estão fisicamente armazenados
B) Consultas que precisam explicitamente mencionar a localização dos dados distribuídos REGRA 11 - REGRA DA INDEPENDÊNCIA DE DISTRIBUIÇÃO O usuário final não deve ser capaz de ver que os dados são distribuídos em várias localizações. Usuários devem ter sempre a impressão de que os dados são localizados em apenas um local.
323
12. (12 Regras de Codd) A Regra de Não Subversão define que linguagens de baixo nível não podem contornar regras de integridade e segurança do banco de dados. Qual dos exemplos abaixo poderia quebrar essa regra? A) Um sistema que permite acesso direto aos dados por linguagem de máquina, ignorando restrições de integridade B) A utilização de SQL para modificar dados respeitando as regras de integridade C) A execução de procedimentos armazenados que garantem a validação dos dados D) A definição de triggers para manter a integridade referencial E) O uso de uma sublinguagem que permite acessar os dados, mas sem violar as regras de integridade
A) Um sistema que permite acesso direto aos dados por linguagem de máquina, ignorando restrições de integridade. REGRA 12 - REGRA DA NÃO SUBVERSÃO Se um sistema relacional possui uma linguagem de baixo nível, esse nível não pode ser usado para subverter ou sobrepor as regras e restrições de integridade expressas em linguagens de mais alto nível.
324
(FGV/MPE-SC/2022) Na teoria do projeto de bancos de dados relacionais, o estabelecimento das dependências funcionais tem um papel importante, pois é a partir dessas relações que é possível proceder à normalização dos bancos. Essas dependências funcionais podem ser manipuladas por meio de um conjunto básico de axiomas. Com relação aos atributos X, Y, W e Z, analise as seguintes derivações propostas. I. Se X → Y e Y → Z então X → Z. II. Se X → Y então XW → ZW. III. Se Y está contido num conjunto qualquer de atributos, como XYZW, por exemplo, então XYZW → Y. Sobre essas derivações, está correto o que é proposto em: a) I, somente b) I e II, somente c) I e III, somente d) II e III, somente e) I, II e III
Vamos analisar cada item. I. Certo. Se X determinada Y, e Y determina Z, pela regra Da transitividade, X determinará Z. II. Errado. Não podemos afirmar que se X determina Y, então XW determina ZW. Isso porque a dependência funcional entre X e Y não implica em uma dependência funcional entre XW e ZW, já que a inclusão de W pode alterar o comportamento da dependência funcional. III. Certo. Conforme a regra de reflexão, se Y é um subconjunto de XYZW, então XYZW → Y. Temos como corretos os itens I e III, portanto. Gabarito: Letra C
325
(FGV/TCE TO/2022) No contexto da Teoria de Projeto de bancos de dados relacionais, analise o script de criação de uma tabela. CREATE TABLE T(A int not null UNIQUE, B int not null UNIQUE, C int) Considere ainda as seguintes dependências funcionais acerca dos atributos A, B e C. A → B B → A A → C B → C As dependências necessárias para que o esquema relacional acima esteja normalizado até a Forma Normal Boyce-Codd são: a) todas, exceto a primeira; b) todas, exceto a segunda; c) todas, exceto a terceira; d) todas, exceto a quarta; e) todas.
O primeiro passo para analisarmos a questão é entender o código que cria a tabela. Como aindanão vimos SQL, vou dar uma colher de chá para vocês - estamos criando uma tabela com três tributos, A, B e C. Desses atributos, as colunas A e B são definidas como não nulas (not null) e únicas (unique), dessa forma são candidatas à chave primária. A questão quer que encontremos as dependências funcionais necessárias para que essa tabela esteja na FNBC. Para isso, devemos considerar que os atributos candidatos à chave primária, A e B, definem funcionalmente todos os outros atributos da tabela - ou seja, A deve definir B e C, e B deve definir A e C (além de definirem a si mesmos). Com isso em mente, vamos analisar os itens. * A → B Como vimos, A deve definir B. Essa é uma dependência necessária. * B → A B deve definir A. Essa é uma dependência necessária. * A → C A deve definir C. Essa é uma dependência necessária. * B → C B deve definir C. Essa é uma dependência necessária. Mas aqui temos um adendo - como A → C e B → A, não precisaríamos dessa dependência de forma expressa, já que, pela regra da transitividade, teríamos B → A → C. Sendo assim, todas as dependências apontadas são necessárias. Gabarito: Letra E
326
(CEBRASPE/FUB/2023) Acerca de bancos de dados relacionais, julgue o item seguinte. As tabelas que estejam na primeira forma normal (1FN) e que possuam apenas uma coluna como chave primária também estão na segunda forma normal (2FN).
Galera, se uma tabela tiver somente uma coluna, ela não terá dependências parciais - já que, por regra, todo atributo define a si mesmo. Portanto, se ela está na 1FN, ela obrigatoriamente está na 2FN. Gabarito: Certo
327
(FGV/SEFZ MT/2023) A normalização das estruturas de dados é uma etapa importante do processo de modelagem relacional para eliminar distorções ou anomalias no modelo. Diz-se que uma tabela está na segunda forma normal, de acordo com as regras de normalização, se ela está na primeira forma normal e a) as linhas da tabela são unívocas, sem chaves compostas e todos os seus atributos são atômicos. b) as linhas não contêm itens repetitivos, atributos com valores nulos e nem multidimensionais. c) cada uma das colunas não pertencentes à chave primária não for dependente parcialmente dessa chave. d) contém apenas chaves externas e conecta-se a outras tabelas por múltiplas junções. e) as colunas não pertencentes à chave primária ficam determinadas transitivamente por esta.
**Resumo das Formas Normais:** - **1FN:** Valores atômicos em cada célula. - **2FN:** Nenhuma dependência parcial da chave primária. - **3FN:** Nenhuma dependência transitiva de atributos não chave. a) Errado. A alternativa descreve a 1FN. b) Errado. A alternativa descreve a 3FN. c) Certo. Esse é o conceito da 2FN. d) Errado. A alternativa descreve a 5FN. e) Errado. A alternativa descreve a 3FN – uma coisa que me ajudou em provas foi associar o T, em Terceira Forma Normal, com o T de Transitividade. A alternativa correta é, portanto, a letra C. Gabarito: Letra C
328
(FUNDATEC/PROCERGS/2023) Em um modelo lógico de dados, qual é a diferença entre uma entidade fraca e uma entidade forte? a) Uma entidade fraca não tem atributos próprios, enquanto uma entidade forte tem. b) Uma entidade fraca depende de outra entidade, chamada de entidade proprietária, enquanto uma entidade forte é independente. c) Uma entidade fraca possui um relacionamento muitos para muitos, enquanto uma entidade forte possui um relacionamento um para muitos. d) Uma entidade fraca não tem uma chave primária, enquanto uma entidade forte tem. e) Uma entidade fraca pode ser removida sem afetar outras entidades, enquanto uma entidade forte é essencial para o modelo.
Entidades fracas são aquelas dependentes de outras entidades, pois sua chave primária é composta a partir de chaves estrangeiras dessa outra entidade. A alternativa que melhor descreve o conceito é a letra B. Gabarito: Letra B
329
(VUNESP/PREF. ILHABELA/2020) Considere o seguinte diagrama entidade-relacionamento: A partir desse diagrama, é correto afirmar que a) Pigmento é um atributo derivado. b) Número é um atributo multivalorado. c) Número é um atributo derivado. d) Cor é um atributo derivado. e) Cor é um atributo chave.
Vamos analisar cada alternativa. a) Certo. De fato, pigmento é um atributo derivado. b e c) Errado. Número é um atributo chave. d e e) Errado. Cor é um atributo multivalorado. Temos, portanto, a letra A como gabarito. Gabarito: Letra A
330
(CONSULPLAN/IF PA/2023) Observe o diagrama a seguir: Este modelo representa uma a) entidade associativa. b) generalização/especialização com chave total da entidade Pessoa. c) entidade associativa compartilhada com herança de propriedades. d) generalização/especialização compartilhada e total da entidade Pessoa.
A simbologia da questão nos aponta que temos um relacionamento de generalização/especialização. Já a notação ct aponta que esse tipo generalização/especialização é do tipo compartilhada e total, o que quer dizer que a especialização só pode ocorrer em uma das classes. Gabarito: Letra D
331
11. (FGV/SEFAZ BA/2022) Considerando as restrições do modelo de dados relacionais e os esquemas de bancos de dados relacionais, aquelas que não podem ser expressas diretamente nos modelos de dados e, portanto, devem ser expressas e impostas pelos programas de aplicação, denominam-se restrições a) inerentes. b) explicitas. c) de atributo. d) semânticas; e) de domínio.
Na construção de um banco de dados, temos diferentes restrições inerentes ao modelo. Essas restrições são chamadas de regras semânticas, ou restrições semânticas. Elas são inerentes ao modelo e, portanto, não podem ser expressas (E nem precisam) diretamente no modelo de dados. Essas regras são definidas de acordo com o significado dos dados e são usadas para garantir que apenas dados válidos e corretos sejam armazenados no banco de dados. Gabarito: Letra D
332
1. (FUNDATEC - PEBTT (IFC)/IFC/Engenharia da Computação/2023). Em uma aplicação com entrada de dados e comunicação com um banco de dados no back-end, _______ é o ataque que explora uma vulnerabilidade da validação da entrada de dados, inserindo código malicioso em queries SQL para manipular o banco de dados. Assinale a alternativa que preenche corretamente a lacuna do trecho acima. a) falha bizantina b) XSS (Cross-Site Scripting) c) SQL injection d) tentativa de phishing e) SQL insertion
A alternativa correta é: c) SQL injection. A SQL injection é uma técnica de ataque cibernético na qual um invasor insere comandos SQL maliciosos em campos de entrada de dados de um aplicativo, como formulários da web, para manipular as consultas SQL do aplicativo e acessar, modificar ou excluir dados não autorizados no banco de dados subjacente. Por exemplo, considere um aplicativo da web que solicita ao usuário um nome de usuário e uma senha para fazer login. Se o aplicativo não validar adequadamente a entrada do usuário e simplesmente concatenar as informações fornecidas em uma consulta SQL para verificar as credenciais do usuário, um invasor poderia inserir comandos SQL adicionais no campo de entrada do nome de usuário para executar ações não autorizadas no banco de dados. Esses comandos SQL maliciosos podem variar de consultas simples para revelar informações confidenciais até comandos mais complexos para modificar ou excluir dados. Uma SQL injection bem-sucedida pode resultar na comprometimento da segurança do aplicativo e do banco de dados, permitindo que o invasor acesse informações sensíveis ou execute ações prejudiciais. Gabarito: C
333
2. (FUNDATEC - Tec (IFFAR) / IFFAR / Laboratório / Informática/2023) A ameaça à segurança de bancos de dados caracterizada pela inserção ou manipulação não autorizada de instruções SQL pela aplicação é conhecida como: a) SQL Statement Input. b) SQL Security Hole. c) SQL Injection. d) SQL Atack. e) SQL Tuning.
A ameaça à segurança de bancos de dados caracterizada pela inserção ou manipulação não autorizada de instruções SQL pela aplicação é conhecida como c) SQL Injection. Nesse tipo de ataque, os invasores inserem códigos maliciosos em campos de entrada de dados de uma aplicação, explorando vulnerabilidades para acessar ou manipular o banco de dados de forma não autorizada. Gabarito: C
334
3. (FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte /Bancos de Dados/2023) Em um sistema de banco de dados, _______________ é um conjunto de permissões pré-definidas que pode ser assinalado a um usuário em um banco de dados. Assinale a alternativa que preenche corretamente a lacuna do trecho acima. a) política de senha b) perfil de acesso c) controle de acesso d) autenticador e) back-up
A alternativa correta que preenche a lacuna é: b) perfil de acesso. Um perfil de acesso em um sistema de banco de dados é um conjunto de permissões pré-definidas que podem ser atribuídas a um usuário ou a um grupo de usuários. Essas permissões determinam o que um usuário pode fazer no banco de dados, como executar consultas, inserir, atualizar ou excluir dados, criar ou modificar tabelas e índices, entre outras operações. Quando um usuário é atribuído a um perfil de acesso específico, ele herda automaticamente as permissões associadas a esse perfil. Isso simplifica a administração de segurança, pois permite que os administradores atribuam um conjunto padrão de permissões a vários usuários de uma vez, em vez de ter que configurar as permissões individualmente para cada usuário. Por exemplo, um banco de dados pode ter perfis de acesso como "Administrador", "Usuário Comum" e "Somente Leitura", cada um com diferentes conjuntos de permissões. Os administradores podem então atribuir esses perfis aos usuários, dependendo de suas funções e responsabilidades no banco de dados. Isso ajuda a garantir que os usuários tenham apenas as permissões necessárias para realizar suas tarefas, seguindo o princípio do mínimo privilégio. Gabarito: B
335
5. (VUNESP - ACE (TCM SP)/TCM SP/Tecnologia da Informação/2023) Suspeita-se que um sistema web esteja sujeito a ataques do tipo SQL Injection. Sua página de acesso possui campos para digitação de login e senha e sabe-se que o script responsável por autenticar o usuário o faz por meio de uma única query do tipo SELECT, acessando a tabela de usuários da aplicação e fazendo uma busca por login e senha em texto claro (sem usar hash ou encriptação). Um procedimento que tem o potencial de fornecer acesso ao sistema, sem o conhecimento de um login e senha válidos (considerando que para conseguir acesso a query deva trazer algum resultado), seria digitar o seguinte conteúdo em um dos dois campos (podendo o atacante tentar nos dois): a) ' AND '1' <> '1 b) ' OR 'A' <> 'A c) ' OR 'A' = 'A d) ' AND '1' = '1 e) ' AND senha <> '
A questão descreve um cenário de **SQL Injection**, onde o atacante tenta manipular a consulta SQL para obter acesso indevido ao sistema, sem o conhecimento de um login ou senha válidos. Quando a aplicação não trata adequadamente a entrada do usuário, o atacante pode inserir código SQL nos campos de login ou senha, manipulando a consulta de forma que ela sempre retorne um resultado válido, independentemente das credenciais fornecidas. A query SQL esperada para autenticação poderia ser algo como: ```sql SELECT * FROM usuarios WHERE login = 'usuário_digitado' AND senha = 'senha_digitada'; ``` Agora, vamos analisar as opções: a) `' AND '1' <> '1` - Essa injeção adicionaria uma condição que sempre será **falsa**. Como resultado, a query não retornaria nenhum dado, impedindo o acesso ao sistema. b) `' OR 'A' <> 'A` - Essa condição adiciona uma expressão que sempre será **falsa** (`'A' <> 'A'`), então o ataque falharia, não permitindo acesso. c) `' OR 'A' = 'A` - Essa é uma injeção que adiciona uma condição sempre **verdadeira** (`'A' = 'A'`). Com isso, a query seria modificada para: ```sql SELECT * FROM usuarios WHERE login = '...' OR 'A' = 'A'; ``` Nesse caso, a condição `'A' = 'A'` sempre será verdadeira, permitindo que a consulta retorne algum resultado, concedendo potencialmente acesso ao sistema sem a necessidade de login e senha válidos. d) `' AND '1' = '1` - Isso adiciona uma condição sempre **verdadeira**, mas não bypassaria a necessidade de um login e senha válidos, já que apenas reforça a cláusula `AND`. e) `' AND senha <> '` - Essa injeção está incompleta e resultaria em erro de sintaxe na query, pois não há valor após `senha <>`. Conclusão: A alternativa que poderia permitir o acesso ao sistema sem login e senha válidos, devido à inserção de uma condição sempre verdadeira, é a **c) ' OR 'A' = 'A**. **Resposta correta: c) ' OR 'A' = 'A**.
336
6. Ano: 2018 Banca: CESPE Órgão: Polícia Federal Prova: CESPE - 2018 - Polícia Federal - Perito Criminal Federal - Área 3 Softwares desenvolvidos para a Web podem ter diversas vulnerabilidades e cada uma delas pode ser explorada com uma técnica específica. Sendo o ataque bem-sucedido, o atacante tem o controle do sistema. A respeito de características de ataques em software web, julgue o próximo item. [1] O ataque conhecido por blind SQL injection tem por característica a exploração de perguntas ao banco de dados, as quais retornam verdadeiro ou falso; conforme a resposta da aplicação, o atacante consegue identificar de onde os dados podem ser extraídos do banco, por falhas de programação na aplicação.
Injeção as cegas de SQL (Structured Query Language) é um tipo de ataque de injeção de SQL que faz perguntas cujas respostas são TRUE ou FALSE ao banco de dados e determina a resposta com base na resposta do aplicativo. Este ataque é frequentemente usado quando o aplicativo da web está configurado para mostrar mensagens de erro genéricas, mas não atenuou o código que é vulnerável à injeção de SQL. Quando um invasor explora a injeção de SQL, às vezes o aplicativo da web exibe mensagens de erro do banco de dados reclamando que a sintaxe do SQL Query está incorreta. A injeção as cegas de SQL é quase idêntica à injeção de SQL normal, a única diferença é a maneira como os dados são recuperados do banco de dados. Quando o banco de dados não envia dados para a página da Web, o invasor é forçado a roubar dados fazendo ao banco de dados uma série de perguntas verdadeiras ou falsas. Isso torna a exploração da vulnerabilidade de injeção SQL mais difícil, mas não impossível. Gabarito: CERTO
337
7. Ano: 2018 Banca: FCC Órgão: DPE-AM Prova: FCC - 2018 - DPE-AM - Analista em Gestão Especializado de Defensoria - Analista de Banco de Dados A segurança física de um banco de dados representa um aspecto de grande importância na proteção dos dados. O controle da segurança física de bancos de dados A) não tem relação com possíveis danos ao ambiente físico do banco de dados decorrentes de imprevistos, como por exemplo, um incêndio. B) considera que toda a diretoria da empresa pode ter acesso irrestrito ao ambiente do banco de dados. C) não abrange equipamentos ou dispositivos de no-break, pois esses não estão na linha crítica de funcionamento do banco de dados. D) trata de medidas de proteção contra acesso físico não autorizado aos equipamentos que provêm acesso ao banco de dados. E) considera que equipes terceirizadas podem ter acesso irrestrito ao ambiente físico do banco de dados.
Vamos analisar cada uma das alternativas abaixo: A) Errada. A segurança física está fortemente ligada ao ambiente físico, logo, inundação, incêndio ou terremotos devem ser considerados na proteção do ambiente físico. B) Errada. Acesso irrestrito ao ambiente de segurança é algo muito forte. O acesso ao ambiente de banco de dados deve ser feito de acordo com a política de segurança da organização. C) Errada. Segurança física envolve equipamento como no-breaks. D) CERTA!! Exatamente! Segurança no ambiente físico. E) Errada. Alguns terceirizados podem ter o acesso irrestrito, porém todos não há necessidade. Por exemplo, há administradores de banco de dados (DBAs) terceirizados que necessitam acessar o ambiente de banco de dados. Gabarito: D
338
8. Ano: 2017 Banca: FCC Órgão: DPE-RS Prova: FCC - 2017 - DPE-RS - Analista - Segurança da Informação Nas aplicações web, as falhas de SQL Injection são introduzidas quando os desenvolvedores de software criam consultas dinâmicas a banco de dados que incluem entrada fornecida pelo usuário. Técnicas eficazes para evitar vulnerabilidades SQL Injection em aplicações web incluem o uso de A tokens imprevisíveis em cada requisição de usuário. B referência direta a objetos por usuário ou sessão. C buffer procedures e stack SQL statements. D direct statements, design patterns e frameworks. E prepared statements e stored procedures.
A questão aborda técnicas eficazes para evitar vulnerabilidades de **SQL Injection** em aplicações web. Vamos analisar cada uma das opções: A) **Tokens imprevisíveis em cada requisição de usuário**: Essa técnica está relacionada à proteção contra **CSRF (Cross-Site Request Forgery)**, não diretamente a SQL Injection. Portanto, essa não é uma solução para prevenir SQL Injection. B) **Referência direta a objetos por usuário ou sessão**: Essa técnica se refere a uma prática de segurança conhecida como **IDOR (Insecure Direct Object References)**, que envolve o controle de acesso a recursos com base em IDs de usuários ou sessões. Embora importante, não está diretamente relacionada à prevenção de SQL Injection. C) **Buffer procedures e stack SQL statements**: Esse termo não faz sentido no contexto de segurança. **Procedures** e **statements** são termos associados ao banco de dados, mas essa opção parece confusa e não está diretamente relacionada a técnicas específicas para evitar SQL Injection. D) **Direct statements, design patterns e frameworks**: **Direct statements** (instruções diretas) podem, na verdade, aumentar a vulnerabilidade a SQL Injection se a entrada do usuário não for devidamente tratada. Embora design patterns e frameworks possam ajudar, essa opção não foca nas técnicas mais eficazes para prevenir SQL Injection. E) **Prepared statements e stored procedures**: **Prepared statements** (declarações preparadas) são uma técnica eficaz para prevenir SQL Injection, pois separam a lógica SQL dos dados fornecidos pelo usuário, evitando que a entrada do usuário seja tratada como parte da consulta SQL. **Stored procedures** também podem ajudar, dependendo de como são implementadas, já que encapsulam consultas SQL no banco de dados e, se bem projetadas, podem reduzir a vulnerabilidade a ataques de SQL Injection. Conclusão: A técnica mais eficaz para evitar vulnerabilidades de SQL Injection, conforme descrito na questão, é o uso de **prepared statements e stored procedures**. **Resposta correta: E) prepared statements e stored procedures.**
339
9. Ano: 2017 Banca: COPESE - UFJF Órgão: UFJF Prova: COPESE - UFJF - 2017 - UFJF - Técnico de Tecnologia da Informação Avalie as sentenças a seguir: I . Visões em um Banco de Dados (View) podem ser vistos como um mecanismo de segurança em Banco de Dados uma vez que permitem criar restrições de acesso a atributos de uma tabela, assim como parte de suas tuplas. II . O comando GRANT concede privilégios específicos para um objeto (por exemplo, tabela, visão, banco de dados, função) para um ou mais usuários. Caso um usuário/grupo já tenha um determinado privilégio, a nova execução sobrescreve os privilégios anteriores. III . O privilégio GRANT OPTION permite que um usuário de um Banco de Dados passe adiante seus privilégios a outros usuários. IV . A concessão de privilégios não se aplica às visões. Assinale a alternativa CORRETA: A Todas as sentenças estão corretas. B Nenhuma sentença está correta. C Há exatamente três sentenças corretas. D Há exatamente duas sentenças corretas. E Há exatamente uma sentença correta.
Vamos analisar cada uma das alternativas: CERTO. As visões limitam o acesso a colunas e linhas específicas do banco de dados. ERRADO. Cada permissão a um determinado objeto é tratada isoladamente, não é sobrescrita como supõe a questão. CERTO. Exatamente! O WITH GRANT OPTION permite que os usuários repassem para outros as autorizações concedidas. ERRADO. Visões também são passíveis de concessão de privilégios. Gabarito: D.
340
10. Ano: 2016 Banca: CESPE Órgão: TCE-PA Prova: CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área Informática - Analista de Segurança Acerca de segurança de banco de dados e de desenvolvimento de software, julgue o item subsecutivo. Os bancos de dados NoSQL são imunes a ataques de injeção SQL.
A afirmação de que "os bancos de dados NoSQL são imunes a ataques de injeção SQL" é **falsa**. Embora SQL Injection seja específico para bancos de dados relacionais que usam SQL, bancos de dados NoSQL podem ser vulneráveis a ataques de injeção se as entradas do usuário não forem devidamente sanitizadas. Ataques podem explorar vulnerabilidades em consultas de NoSQL, como em bancos de dados MongoDB, por exemplo. Portanto, a segurança depende da implementação e validação adequadas, independentemente do tipo de banco de dados. Gabarito: Errado
341
11. Ano: 2016 Banca: FCC Órgão: TRF - 3ª REGIÃO Prova: FCC - 2016 - TRF - 3ª REGIÃO - Técnico Judiciário - Informática Para responder a questão, considere as informações abaixo. O super-usuário root do banco de dados deseja conceder permissão para que o usuário Paulo possa alterar os dados dos registros contidos na tabela Processo. Para isso ele deve digitar a instrução: A) ADD PERMISSION TO Paulo FOR update ON Processo; B) GRANT update ON Processo TO Paulo; C) CREATE ROLE update ON Processo TO Paulo WITH GRANT OPTION; D) GRANT OPTION update FROM Processo TO Paulo; E) CREATE ROLE ON Processo FOR update TO Paulo;
Para incluirmos uma permissão sobre determinado objeto de SQL devemos, por padrão, usar o comando GRANT. A sintaxe do comando pode ser vista abaixo: GRANT privilege_name ON object_name TO {user_name |PUBLIC |role_name} [WITH GRANT OPTION]; Vejam que primeiramente você deve definir os privilégios que serão atribuídos aos usuários ou roles. Depois você vai dizer sobre qual o objeto do banco de dados a permissão será dada. A última etapa é definir o usuário ou a role. Temos a opção de definir um privilégio como PUBLIC, ou seja, todos que tem acesso ao banco de dados terão a permissão. Por fim, é possível utilizar a cláusula WITH GRANT OPTION que permite ao usuário que recebe repassar a permissão para outros usuários. Seguindo a sintaxe definida acima, podemos encontrar nossa resposta na alternativa B. Gabarito: B
342
12. Ano: 2016 Banca: CESPE Órgão: FUNPRESP-EXE Prova: CESPE - 2016 - FUNPRESP-EXE - Especialista - Tecnologia da Informação No que se refere aos tipos de ataques a aplicações web, julgue o próximo item. O SQL Injection caracteriza-se por permitir que, ao se fazer um POST via formulário HTTP, a codificação base64 retorne todos os comandos que um banco SQL suporte.
Base64 é um algoritmo de codificação (encoding) que permite transformar qualquer caractere de qualquer idioma em um alfabeto que consiste em letras latinas, dígitos e sinais. Com isso podemos converter caracteres especiais como os logogramas chineses, emoji e até imagens em uma sequência “legível” (para qualquer computador), que pode ser salvo e/ou transferido para qualquer outro lugar. É utilizado frequentemente para transmitir dados binários por meio de transmissões que lidam apenas com texto, como, por exemplo, para enviar imagens e arquivos em anexo por e-mail. Seu alfabeto é constituído por 64 caracteres ([A-Z],[a-z],[0-9], “/” e “+”), o que deu origem ao seu nome. O carácter = é utilizado como um sufixo especial e a especificação original definiu que o símbolo * pode ser utilizado para delimitar dados convertidos, mas não criptografados, dentro de um stream. Veja que não existe uma necessidade de usar Base64 para ataques de SQL Injection. O SQL injection objetiva injetar comandos SQL em campos de entrada de dados em determinados sites ou páginas. Desse modo, quando o servidor for processar a informação enviada, como por exemplo via POST, na prática, ele vai rodar o comando SQL injetado e poderá apresentar informações indevidas, como a listagem dos usuários e senhas cadastradas no respectivo banco de dados do servidor. Logo, temos uma alternativa incorreta. Gabarito: E
343
13. Ano: 2016 Banca: CESPE Órgão: TRE-PI Prova: CESPE - 2016 - TRE-PI - Técnico Judiciário - Operação de Computadores Assinale a opção correta relativamente à segurança em banco de dados. A) O controle de autorização para o acesso de partes específicas de um banco de dados é realizado por meio da atribuição de contas com senhas aos usuários. B) Os algoritmos de criptografia de chave pública são fundamentados em operações sobre modelos de bites. C) O controle de acesso para e-commerce e para Web, diferentemente do que ocorre com os SGBDs tradicionais, deve ser realizado utilizando-se um conjunto de autorizações determinadas por usuário. D) Os tipos de medidas utilizadas para tratar problemas de integridade, disponibilidade e confidencialidade são controle de acesso, controle de inferência, controle de fluxo e criptografia. E) O controle de acesso ao sistema de banco de dados é realizado por meio de um sistema de concessão e revogação de privilégios.
Vamos analisar cada uma das alternativas acima. A) ERRADA. A autenticação é feita por usuários e senha. A autorização vai ser definidas por uma das formas de controle de acesso: discricionária, obrigatória e baseada em papeis. B) ERRADA. Algoritmos de chave pública são baseados em diversos algoritmos, por exemplo ElGamal, RSA e curvas elípticas. Além disso, seu funcionamento está fundamentado em um par de chaves, uma pública e uma privada. C) ERRADA. O usuário não determina o tipo de autorizações. Os sistemas Web vão definir as autorizações baseadas no perfil do usuário. D) CERTA. A alternativa define os problemas de integridade, disponibilidade e confidencialidade e os controles possíveis. E) ERRADA. A alternativa descreve o controle de acesso discricionário, mas existe outras possibilidades como o controle de acesso baseado em papéis. Gabarito: D.
344
14. Ano: 2015 Banca: FCC Órgão: MPE-PB Prova: FCC - 2015 - MPE-PB - Analista de Sistemas – Administrador de Banco de Dados Uma fonte de riscos à segurança vem de aplicações que criam consultas dinamicamente, com base em condições de seleção e atributos de ordenação especificadas em um formulário HTML na web. Por exemplo, uma aplicação pode permitir que um usuário especifique qual atributo deve ser usado para ordenar os resultados de uma consulta. Uma consulta SQL apropriada é construída com base no atributo especificado. Suponha que uma aplicação Java obtenha o nome do atributo de um formulário, na variável atributo Ordem, e crie uma string de consulta como a seguinte: String query = “Select * from takes order by " + atributoOrdem; A situação apresentada acima pode se configurar em A) uma vulnerabilidade comum em consultas SQL e não pode causar nenhum dano ao banco de dados, que possui mecanismos próprios para identificar esta fragilidade e impedir ações danosas aos dados. B) um ataque do tipo SQL injection e, para evitá-lo, a aplicação deverá garantir que o valor da variável atributoOrdem seja um dos valores permitidos (nomes de atributos) antes de acrescentá-lo à string. C) um ataque do tipo XSF ou falsa solicitação entre sites e, para evitá-lo, a aplicação não pode permitir quaisquer tags HTML na entrada de texto por parte dos usuários. D) um ataque do tipo XSS ou scripting via SQL e, para evitá-lo, a aplicação não pode permitir que um formulário HTML utilize comandos select com campos preenchidos no site por parte dos usuários. E) um ataque do tipo SQL injection e, para evitá-lo, a aplicação deverá garantir que o valor da variável atributoOrdem não coincida com nenhum nome de atributo antes de acrescentá-lo à string, de forma que a coluna da tabela não possa ser alterada nem apagada.
Vamos comentar cada uma das alternativas. a) Errado. Injeção pode resultar em perda ou corrupção de dados, falta de responsabilização, ou negação de acesso. Algumas vezes, a injeção pode levar ao comprometimento completo do servidor. b) Correto. A questão apresenta uma brecha para SQL Injection. Para evitar este ataque, o campo deve ser validado para que aceite apenas valores permitidos. c) Errado. É um ataque do tipo SQL Injection (Injeção SQL). d) Errado. É um tipo de SQL Injection. Ataques Cross-Site Scripting (XSS) são um tipo de injeção, em que scripts maliciosos são injetados em sites benignos e confiáveis. Os ataques XSS ocorrem quando um invasor usa um aplicativo da web para enviar código malicioso, geralmente na forma de um script do lado do navegador, para um usuário final diferente e) Errado. Deve garantir que coincida. Caso contrário o atacante estaria inserindo uma string de forma arbitrária, podendo gerar alterações no banco de dados. Gabarito: B
345
15. Ano: 2015 Banca: CESPE Órgão: MEC Prova: CESPE - 2015 - MEC - Analista de Segurança Considere que o capítulo sobre segurança de bancos de dados contenha recomendação de adoção de arquiteturas seguras, modelos e sistemas de controle de acesso e procedimentos de classificação, entre outros. A esse respeito, julgue o item subsequente. A adoção de controle de acessos a dados aderente ao modelo mandatório depende da adoção de procedimentos de rotulagem de segurança que sejam aplicáveis tanto aos usuários quanto aos dados.
A afirmação de que "a adoção de controle de acessos a dados aderente ao modelo mandatório depende da adoção de procedimentos de rotulagem de segurança que sejam aplicáveis tanto aos usuários quanto aos dados" é **verdadeira**. O modelo de controle de acesso mandatório (MAC) impõe regras de segurança que determinam o acesso com base em classificações de segurança. Para isso, é necessário que tanto usuários quanto dados sejam rotulados com informações de segurança, garantindo que as políticas de acesso sejam aplicadas de forma consistente e segura. **Resposta: VERDADEIRA.**
346
16. Ano: 2014 Banca: CESGRANRIO Órgão: Banco da Amazônia Prova: Técnico Científico - Banco de Dados Os comandos GRANT e REVOKE disponíveis em SQL são exemplos típicos de mecanismos de controle de acesso a) obrigatório b) mandatório c) discricionário d) baseado em papéis e) baseado em regras
Os comandos **GRANT** e **REVOKE** disponíveis em SQL são usados para conceder e revogar permissões de acesso a usuários em um banco de dados. Esses comandos são exemplos típicos de controle de acesso: Análise das opções: - **a) Obrigatório**: Este tipo de controle de acesso é mais restritivo e geralmente não permite que os usuários definam suas próprias permissões. - **b) Mandatório**: O controle de acesso mandatório (MAC) é baseado em regras e políticas estabelecidas pelo sistema, sem permitir que os usuários alterem permissões. - **c) Discricionário**: O controle de acesso discricionário (DAC) permite que os usuários tenham controle sobre suas próprias permissões e possam conceder ou revogar acesso a outros usuários. É exatamente isso que os comandos **GRANT** e **REVOKE** fazem, permitindo que um usuário defina quem pode ou não acessar um determinado recurso. - **d) Baseado em papéis**: Este tipo de controle organiza permissões em papéis, mas não se refere diretamente aos comandos GRANT e REVOKE. - **e) Baseado em regras**: Este tipo de controle é mais dinâmico e depende de condições específicas, e não se relaciona diretamente com os comandos mencionados. Conclusão: Os comandos GRANT e REVOKE são exemplos de controle de acesso **discricionário**. **Resposta correta: c) discricionário.**
347
17. Ano: 2014 Banca: CESGRANRIO Órgão: IBGE Prova: Supervisor de Pesquisas - Tecnologia de Informação e Comunicação Entre os mecanismos de segurança possíveis de um banco de dados, aqueles que são utilizados para conceder privilégios a usuários são conhecidos como mecanismos de acesso a) baseado em atores b) baseado em papéis c) de confidencialidade d) discricionário e) obrigatório
Os mecanismos de segurança utilizados em um banco de dados para conceder privilégios a usuários estão relacionados ao controle de acesso. Vamos analisar cada uma das opções para identificar a resposta correta: Análise das opções: - **a) Baseado em atores**: Este termo não é comumente utilizado na literatura de segurança de bancos de dados. Não se refere a um tipo específico de controle de acesso. - **b) Baseado em papéis**: Este mecanismo atribui permissões a papéis, e os usuários são associados a esses papéis, herdando as permissões correspondentes. Embora isso seja uma forma de concessão de privilégios, não é a única abordagem. - **c) De confidencialidade**: Este termo se refere a mecanismos que garantem que os dados não sejam acessados por pessoas não autorizadas. Não está diretamente relacionado à concessão de privilégios. - **d) Discricionário**: O controle de acesso discricionário (DAC) permite que os proprietários de objetos de banco de dados concedam ou revoguem permissões a outros usuários de forma flexível e à sua discrição. Este mecanismo se refere diretamente à concessão de privilégios. - **e) Obrigatório**: O controle de acesso obrigatório (MAC) é um sistema em que as permissões são definidas por políticas do sistema e não podem ser alteradas pelos usuários. Este modelo não se refere à concessão de privilégios de forma flexível. Conclusão: Os mecanismos de acesso utilizados para conceder privilégios a usuários são conhecidos como **discricionários**. **Resposta correta: d) discricionário.**
348
18. Ano: 2013 Banca: CESGRANRIO Órgão: IBGE Prova: Analista - Suporte Operacional Uma das atividades principais da administração de SGBD é gerenciar o controle de acesso ao banco de dados, determinando que direitos ou privilégios cada usuário possui. Uma das formas mais importantes de implementar o controle de acesso é conhecida como controle de acesso discricionário, que é suportada no SQL pelos comandos a) CREATE GRANT e DROP GRANT b) CREATE ROLE e DROP ROLE c) GRANT CREATE e GRANT DROP d) GRANT e REVOKE e) GRANT e UNGRANT
Essa questão associa os conceitos de segurança com SQL. É uma questão interessantes sobre o assunto e bem simples. Os comandos SQL para controle de permissões de acesso na base de dados são GRANT e o REVOKE. Gabarito: D
349
19. Ano: 2009 Banca: CESGRANRIO Órgão: Casa da Moeda Prova: Analista de Nível Superior - BD O servidor de banco de dados corporativo de uma empresa está isolado por meio de um firewall do tipo filtro de pacotes. Com base nessa informação, analise as afirmativas a seguir. I - Tal isolamento é efetivo na proteção de ataques do tipo SQL Injection. II - É possível bloquear o acesso de uma única estação ao banco de dados. III - Consultas SQL excessivamente longas podem ser bloqueadas no firewall. Está(ão) correta(s) a(s) afirmativa(s) A) I, apenas. B) II, apenas. C) III, apenas. D) II e III, apenas. E) I, II e III.
Vamos analisar cada uma das afirmativas sobre o servidor de banco de dados isolado por meio de um firewall do tipo filtro de pacotes. Análise das afirmativas: **I - Tal isolamento é efetivo na proteção de ataques do tipo SQL Injection.** - **Análise**: Um firewall de filtro de pacotes pode proteger a rede contra ataques que envolvem o tráfego não autorizado, mas não é eficaz para prevenir ataques de SQL Injection. Esses ataques exploram vulnerabilidades em aplicações que interagem com o banco de dados, e um firewall que filtra pacotes não consegue inspecionar o conteúdo das consultas SQL. Portanto, essa afirmativa é **falsa**. **II - É possível bloquear o acesso de uma única estação ao banco de dados.** - **Análise**: Um firewall de filtro de pacotes pode ser configurado para bloquear o acesso de endereços IP específicos, incluindo o de uma única estação. Portanto, essa afirmativa é **verdadeira**. **III - Consultas SQL excessivamente longas podem ser bloqueadas no firewall.** - **Análise**: Um firewall de filtro de pacotes pode potencialmente bloquear pacotes que excedam um tamanho específico, mas isso não é uma prática comum, pois não se trata de uma abordagem eficaz para impedir ataques, como SQL Injection, que não dependem necessariamente do comprimento da consulta. Além disso, a análise de conteúdo específico de consultas SQL não é uma função típica de um firewall de filtro de pacotes. Portanto, essa afirmativa é **falsa**. Conclusão: Das afirmativas analisadas, apenas a afirmativa **II** está correta. **Resposta correta: B) II, apenas.**
350
20. Ano: 2013 Banca: CETRO Órgão: ANVISA Cargo: Analista Administrativo - Área 5 Em relação ao banco de dados, analise as assertivas abaixo. I. O nível Proteção Verificada é de classificação intermediária, de forma que não exige uma prova matemática de que o mecanismo de segurança é consistente, exige apenas uma declaração formal da política de segurança adotada. II. O usuário U só pode ver o objeto O se o nível de liberação de U for estritamente igual ao nível de classificação de O. III. O usuário U só pode atualizar o objeto O se o nível de liberação de U for igual ao nível de classificação de O. É 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.
Essa questão trata de alguns aspectos interessantes. Vamos falar sobre cada um deles. Primeiramente vamos entender o conceito de proteção verificada: a classe A, a mais segura, exige uma prova matemática de que o mecanismo de segurança é consistente e adequado para admitir a política de segurança. Nunca tinha ouvido falar neste termo? Ele está descrito no livro do Date que divide a segurança em banco de dados nas em quatro categorias ou classes: A, B, C e D. A classe D é a menos segura e a classe A conhecida como proteção verificada a mais segura. Vejamos agora o que temos nas classes C e B: Proteção discricionária: A classe C é subdividida em duas subclasses C1 e C2 (C1 é menos segura que C2). Elas suportam controles discricionários, significando que o acesso aos dados é concedido por discricionariedade dos donos dos dados. A classe C1 divide propriedade e o acesso, permitindo que dados sejam compartilhados, enquanto usuários tenham acesso aos dados. A classe C2, além disso, exige suporte contábil através de procedimentos de inscrição, auditoria e isolamento de recursos. Proteção mandatária: A classe B é a classe que lida com controles mandatários. Ela se divide ainda nas subclasses B1, B2 e B3 (onde B1 é a menos segura das três, e B3 a mais segura), da seguinte maneira: A classe B1 exige “proteção rotulada”. Por exemplo, ele requer que cada objeto de dado seja classificado de acordo com algum nível se segurança. Isso também requer um procedimento informal da política de segurança da empresa. A classe B2 exige um procedimento formal da política de segurança. Requer também que canais encobertos sejam identificados e eliminados. Exemplo de canais encobertos seriam a possibilidade de deduzir a resposta a uma consulta inválida a partir da resposta de uma consulta válida ou a possibilidade de deduzir informações confidenciais a partir de comandos legais. A classe B3 requer especificamente suporte a auditoria e recuperação, bem como a designação de um administrador de segurança. Para responder o primeiro item da questão precisamos apenas do conhecimento da classe A. Que pelo exposto torna a afirmação I falsa. Sobre as alternativas II e III elas são contraditórias, ou seja, somente uma delas está certa. A questão é que, que tem o maior nível de acesso pode ver todos os níveis abaixo. Sendo assim, apenas III está correta. Gabarito: C.
351
21. Ano: 2012 Banca: IADES Orgão: EBSERH Cargo: Analista de TI – Banco de dados Algumas medidas de controle são usadas para fornecer segurança nos bancos de dados. O controle que regula a distribuição de informações, entre objetos acessíveis, é chamado de (A) controle de acesso. (B) controle de fluxo. (C) controle de inferência. (D) controle de integridade. (E) criptografia de dados.
A questão pergunta sobre o tipo de controle que regula a distribuição de informações entre objetos acessíveis em bancos de dados. Vamos analisar as opções: Análise das opções: **(A) Controle de acesso.** - Refere-se às permissões que determinam quem pode acessar quais dados. Embora importante, não se concentra na distribuição de informações entre objetos. **(B) Controle de fluxo.** - Esse tipo de controle é responsável por regular como as informações são transferidas entre diferentes níveis de segurança ou objetos, evitando que dados sensíveis sejam divulgados indevidamente. **(C) Controle de inferência.** - Refere-se à proteção contra a extração de informações sensíveis a partir de dados disponíveis, geralmente focando em impedir que usuários infiram informações restritas. **(D) Controle de integridade.** - Relaciona-se à manutenção da precisão e consistência dos dados em um banco de dados, garantindo que as informações sejam corretas e válidas. **(E) Criptografia de dados.** - Refere-se à codificação de informações para proteger a confidencialidade, mas não é um controle de fluxo. Conclusão: A alternativa que se refere especificamente ao controle que regula a distribuição de informações entre objetos acessíveis é **(B) controle de fluxo**. **Resposta correta: (B) controle de fluxo.**
352
22. CESPE 2011 – Correios - Prova: Analista de Correios - Analista de Sistemas – Produção Julgue o item abaixo [1] Os sistemas gerenciadores de banco de dados, cujo controle de acesso é feito por usuário, não suportam o formato discricionário, pois tal formato concede privilégios associados ao usuário e aos privilégios, como a concessão de privilégio de somente leitura a determinado usuário.
Vejamos rapidamente as formas ou formato de controle de acesso. Basicamente quando tratamos de mecanismos de segurança de banco de dados temos três possíveis tipos: Discricionário: Usado para conceder privilégios aos usuários, como acessar registros, campos, com leitura, inserção, exclusão, alteração. Nesse tipo de mecanismo, há um proprietário, o dono, que pode ser um usuário qualquer do banco, ele também pode conceder permissões de acesso a outros usuários. Obrigatório: Usado para impor segurança em vários níveis. Ex.: os caixas de um banco podem apenas consultar saldo, enquanto o gerente pode, além de consultar saldo, ter outras atribuições como ver todo o histórico das transações financeiras de um cliente. Baseado em papéis (roles): Uma extensão do mecanismo obrigatório, onde as permissões são estabelecidas de acordo com o papel (cargo, função), que determinado indivíduo tem na organização. Vejam que existe um erro ao afirmar na alternativa que o controle de acesso feito por usuário não suporta o formato discricionário. Na realidade sabemos que a concessão de privilégios a usuários é o controle de acesso baseado feito por usuário, logo a alternativa está incorreta! Gabarito: E
353
23. CESPE - 2014 - Órgão: ANTAQ Prova: Analista Administrativo - Infraestrutura de TI A respeito de segurança em banco de dados, julgue o item abaixo. [1] A principal desvantagem dos modelos de políticas de controle discricionário em relação às políticas de acesso obrigatório é a sua vulnerabilidade a ataques maliciosos.
A afirmativa afirma que a principal desvantagem dos modelos de políticas de controle discricionário (DAC) em relação às políticas de acesso obrigatório (MAC) é a sua vulnerabilidade a ataques maliciosos. Análise: - **DAC**: Permite que os proprietários de dados decidam quem pode acessá-los, oferecendo flexibilidade, mas aumentando o risco de vazamentos de informações e acessos indevidos. - **MAC**: Define permissões de acesso de forma centralizada e rigorosa, tornando-o menos vulnerável a ataques. Conclusão: A afirmativa é **verdadeira**, pois o controle discricionário é mais suscetível a ataques maliciosos em comparação ao controle obrigatório. **Resposta: Verdadeira.**
354
24. FUMARC 2012 Órgão: TJ-MG Prova: Técnico Judiciário Em relação à Segurança e Autorização em Banco de Dados, analise as seguintes sentenças, marcando (V) para verdadeira e (F) para falsa. ( ) O privilégio de SELECT sobre uma relação R já permite que se estabeleça restrição de integridade referencial para R. ( ) Mesmo se tiver recebido o privilégio de CREATE VIEW, um usuário ainda precisa receber o privilégio de SELECT em uma relação específica se quiser criar uma visão a partir dessa relação. ( ) Um privilégio concedido com GRANT OPTION permite que o usuário que o recebeu possa conceder tal privilégio a outros usuários. ( ) A concessão de privilégios não se aplica às visões. Assinale a opção com a sequência CORRETA. A) V, V, F, V B) F, V, V, F. C) F, F, V, V. D) V, F, F, V.
Vamos analisar cada uma das sentenças sobre Segurança e Autorização em Banco de Dados e determinar se são verdadeiras (V) ou falsas (F). Análise das sentenças: 1. **O privilégio de SELECT sobre uma relação R já permite que se estabeleça restrição de integridade referencial para R.** - **Análise**: O privilégio de SELECT permite que um usuário visualize os dados de uma tabela, mas não é suficiente para estabelecer ou modificar restrições de integridade referencial. Para isso, é necessário ter privilégios de alteração (como ALTER) na tabela. Portanto, esta afirmação é **Falsa (F)**. 2. **Mesmo se tiver recebido o privilégio de CREATE VIEW, um usuário ainda precisa receber o privilégio de SELECT em uma relação específica se quiser criar uma visão a partir dessa relação.** - **Análise**: Para criar uma visão (VIEW) em SQL, o usuário deve ter o privilégio de SELECT na tabela base da qual a visão será criada. Portanto, esta afirmação é **Verdadeira (V)**. 3. **Um privilégio concedido com GRANT OPTION permite que o usuário que o recebeu possa conceder tal privilégio a outros usuários.** - **Análise**: A afirmação está correta. Quando um privilégio é concedido com a cláusula GRANT OPTION, o usuário pode conceder esse privilégio a outros usuários. Portanto, esta afirmação é **Verdadeira (V)**. 4. **A concessão de privilégios não se aplica às visões.** - **Análise**: Na verdade, a concessão de privilégios também se aplica às visões, e os usuários podem receber privilégios sobre elas. Portanto, esta afirmação é **Falsa (F)**. Sequência correta: A sequência correta, então, é: 1. F 2. V 3. V 4. F Portanto, a opção correta é: **Resposta: B) F, V, V, F.**
355
25. FGV – 2014 - Órgão: PROCEMPA Prova: Analista em Infraestrutura e Redes Computacionais Além de usuários e papéis (roles), os mecanismos de proteção e segurança de bancos de dados baseiam-se na combinação dos seguintes elementos: A) senhas e conexões. B) esquemas e bancos de dados. C) tablespaces e stored procedures. D) recursos e storage. E) recursos e privilégios (permissão).
Sabemos que quando trabalhamos com sistemas de banco de dados, a implementação dos mecanismos de segurança envolve relacionar os objetos do banco (recursos) aos usuários e papéis por meio dos privilégios ou permissões. Gabarito: E
356
26. CESPE 2013 - Órgão: MPU Prova: Analista - Suporte e Infraestrutura Julgue os itens subsequentes, acerca de administração de bancos de dados. [1] A utilização de um sistema de controle de acesso mandatório é aplicável nos casos em que a estrutura de classificação de dados do banco de dados é estática.
No controle de acesso obrigatório (mandatory access control ou MAC) a política de acesso é determinada pelo sistema e não pelo proprietário do recurso. Este controle é utilizado em sistemas cujos dados são altamente sensíveis, como governamentais e militar. Este tipo de controle possibilita conceder a diferentes usuários diferentes privilégios de acesso em diferentes objetos do banco de dados, através da utilização de comandos SQL (Structured Query Language). O conjunto de privilégios que pode ser concedido depende da versão de SQL utilizada. O SQL padrão inclui DELETE, INSERT, SELECT e UPDATE, e um privilégio REFERENCES que restringe a capacidade do usuário de criar tuplas em relações que depender de uma restrição de integridade referencial (se a tupla a ser criada inclui uma chave estrangeira que se refere a atributos de outra relação, o usuário precisa ter garantido o privilégio REFERENCES sobre aquele atributo). Gabarito: C
357
27. CESPE - 2014 Órgão: ANATEL - Prova: Analista Adm. - Suporte e Infraestrutura de TI Acerca das tecnologias de segurança e dos ataques eletrônicos, julgue os itens a seguir. [1] Os ataques de SQL Injection do tipo code injection se caracterizam por tentar modificar um comando SQL já existente mediante a adição de elementos à cláusula WHERE ou a extensão do comando SQL com operadores como UNION, INTERSECT ou MINUS.
Segundo o Navathe há três tipos de Sql Injection: Manipulação de SQL, Injeção de código, Injeção de chamada de função. A questão trocou os conceitos, foi descrito o tipo Manipulação de SQL e não Injeção de código (code injection). O livro define os tipos da seguinte forma: "Manipulação de SQL: Um ataque de manipulação, que é do tipo mais comum de ataque de injeção, muda um comando SQL na aplicação - por exemplo, ao acrescentar condições a cláusula WHERE de uma consulta, ou ao expandir uma consulta com componentes de consulta adicionais, usando operações de união como UNION, INTERSECT ou MINUS. Injeção de código: Esse tipo de ataque tenta acrescentar instruções SQL ou comandos adicionais à instrução SQL existente, explorando um bug de computador, que é causado pelo processamento de dados inválidos. O atacante pode injetar ou introduzir código em um programa de computador para alterar o curso da execução. A injeção de código é uma técnica popular para a invasão ou penetração do sistema para obter informações. Injeção de chamada de função: Nesse tipo de ataque, uma função do banco de dados ou uma chamada de função do sistema operacional é inserida em uma instrução SQL vulnerável para manipular os dados ou fazer uma chamada privilegiada. “Por exemplo, é possível explorar uma função que realiza algum aspecto relacionado à comunicação na rede. ” Gabarito: E
358
28. CESPE - 2014 - ÓRGÃO: TJ-CE - ANALISTA JUDICIÁRIO - CIÊNCIAS DA COMPUTAÇÃO A segurança é uma área importante a ser considerada pelos administradores de bancos de dados das organizações, haja vista que a segurança visa proteger os bancos de dados contra uma série de ameaças, sejam elas advindas de usuários internos ou externos. No que se refere a esse assunto, assinale a opção correta. a) Uma VIEW é um mecanismo válido para que se restrinja o acesso a certos atributos de uma tabela, embora não seja possível criar restrições para um conjunto de tuplas. b) No controle de acesso, um usuário de banco de dados pode receber um privilégio específico sem que esteja relacionado às tabelas do banco de dados. c) Um usuário, uma vez que possua o privilégio de INSERT acerca de determinada tabela, não pode receber novamente o referido privilégio para a mesma tabela. d) Uma técnica eficiente para impedir um ataque de injeção de SQL é a utilização, ao máximo, das funções de banco de dados, em virtude desses objetos não serem alvos de ataques devido à dificuldade de se referenciá-los. e) Manter um registro das operações realizadas no banco de dados é uma ação suficiente para que os dados sejam protegidos contra acesso não autorizado.
Analisando as alternativas acima podemos perceber que os erros das alternativas são bem grosseiros. Vamos comentá-los: A alternativa A está incorreta por dizer que uma view não pode fazer restrições sobre tuplas de uma tabela. Sabe-se que uma visão pode ter, na sua definição, a cláusula where que poderá restringir as tuplas das tabelas originais que a visão está associada. Além dos objetos tabelas, os usuários podem ter privilégios sobre visões, triggers e outros objetos da base de dados. Desta forma, a alternativa B está correta e deve ser considerada a nossa resposta para a questão. Um usuário pode receber um privilégio de diferentes fontes. O SGBD deve inclusive ter o controle sobre as diferentes permissões para que, quando uma permissão for revogada, e o usuário tiver recebido a permissão de outra fonte, ele permaneça com a permissão. A alternativa C, pode ser, portanto, considerada incorreta. Sabe-se que uma das regras para restringir os ataques de SQL injection é não permitir o uso de certas funções de banco de dados. Existe, então, um erro no enunciado da alternativa D. Manter o registro das operações realizadas no banco de dados permite a recuperação em caso de falha e uma auditoria, caso seja armazenado os dados sobre que acessou e modificou os dados. Mais uma vez, a alternativa está incorreta. Gabarito: B
359
29. ANO: 2015 BANCA: FCC ÓRGÃO: CNMP CARGO: ANALISTA DO CNMP - SUPORTE E INFRAESTRUTURA Uma das formas de se implementar a segurança em um sistema de bancos de dados é por meio da criptografia de dados, em que um dos mecanismos utilizados consiste na criptografia de chave pública, que apresenta a característica de que a) cada usuário do sistema de banco de dados possui apenas duas chaves públicas e nenhuma chave privada. b) um usuário U3 que tenha recebido dados criptografados de um usuário U4 deve conhecer a chave privada de U4 para decodificar os dados. c) cada usuário do sistema de banco de dados possui uma chave pública e uma chave privada. d) cada usuário do sistema de banco de dados possui apenas duas chaves privadas e nenhuma chave pública. e) se um usuário U1 quiser trocar dados com um usuário U2 deve criptografar os dados com a chave privada de U2.
Essa questão serve para relembrar o conceito de criptografia de chave pública. Nela temos duas chaves para cada usuário do sistema, uma chave pública que é compartilhada para os demais usuários do sistema e uma chave privada que deve ser mantida apenas com seu dono. A alternativa que se alinha com essa definição está presente na alternativa C, que é a nossa resposta. Gabarito: C
360
30. Ano: 2011 Banca: CESPE Órgão: Correios Prova: Analista de Sistemas – Produção Julgue os itens subsequentes, relativos à segurança e à integridade de banco de dados e à linguagem SQL. [1] O uso de visão em banco de dados é uma forma de aumentar a sua segurança, pois impede o acesso direto aos dados de uma tabela, fornecendo somente os dados considerados necessários.
Se o usuário A for proprietário de uma relação R e quiser que outra conta B seja capaz de recuperar apenas alguns campos de R, então A pode criar uma visão V de R que inclua apenas os atributos e depois conceder o SELECT em V para B, ou seja, a visão é usada como um mecanismo de segurança no acesso a dados. Gabarito: C
361
31. Banca: CESPE - Órgão: Correios - Analista de Sistemas – Produção Julgue os itens subsequentes, relativos à segurança e à integridade de banco de dados e à linguagem SQL. [1] As restrições de domínio em um banco de dados aumentam o nível de segurança, mas não contribuem para a avaliação da integridade dos dados inseridos.
As restrições de integridade resguardam o Banco de Dados contra danos acidentais, assegurando que mudanças feitas por usuários autorizados não resultem na perda de consistência de dados. Restrições de domínio são a forma mais elementar de restrições de integridade. Estas testam valores inseridos no Banco de Dados, e testam (efetuam) consultas para assegurar que as comparações façam sentido. Gabarito: E
362
32. Ano: 2010 Banca: CESPE Órgão: MPU Prova: Analista de Informática - Banco de Dados Em relação aos aspectos de segurança de SGBDs, julgue os itens a seguir. [1] Considerando um modelo relacional de banco de dados, o axioma de segurança a seguir está corretamente apresentado: se o usuário i não tiver acesso SELECT à combinação de atributo A, então ele também não tem acesso UPDATE ao A.
Apesar de serem permissões diferentes, para conseguir atualizar um atributo é preciso também ter permissão para consultá-lo, ou seja, se um usuário i não tiver acesso SELECT a este atributo, ele também não poderá modificá-lo. Gabarito: C
363
33. Ano:2010 Banca: CESPE Órgão: MPU - Prova: Analista de Informática - Banco de Dados Em relação aos aspectos de segurança de SGBDs, julgue os itens a seguir. [1] Considerando que os usuários em um sistema relacional de banco de dados recebam um nível de autorização com imposição de regras simples, é correto afirmar que as duas regras a seguir deverão ser empregadas em conjunto para evitar o fluxo ilegal de informação. → O usuário i pode ver o objeto j apenas se o nível de autorização de i for maior ou igual ao nível de classificação de j. → O usuário i só pode modificar o objeto j se o nível de autorização de i for menor que o de j.
Referente ao Controle de acesso baseado em papéis para segurança multinível temos as classes de segurança que são, geralmente, quatro: top secret (AS), secret (S), confidential (C) e unclassified (NC), onde AS>=S>=C>=NC. O modelo normalmente utilizado para segurança multinível, conhecido por modelo Bell- LaPadulla, classifica cada sujeito (usuário, conta, programa) e objeto (relação, tupla, coluna, visão, operação) em uma das classificações de segurança AS, S, C ou NC. Duas restrições são impostas sobre o acesso de dados baseando-se nas classificações sujeito/objeto, onde Classe(S) = Classe do sujeito e Classe(O) = Classe do objeto: 1- Um sujeito "S" não tem permissão de acesso read sobre um objeto "O" a menos que a classe(S) >= classe(O). Isso é conhecido por propriedade de segurança simples. Vejam que está de acordo com a primeira parte da questão. 2- Um sujeito "S" não tem permissão write sobre um objeto "O" a menos que a classe(S) >= classe(O). Isso é conhecido por propriedade estrela. Aqui está o erro da questão. O sujeito pode modificar o objeto "O" se a classe(S) >= classe(O), não quando a autorização do usuário i for menor que o de objeto j. A restrição 2 proíbe um sujeito de escrever em um objeto com nível de classificação (clearance) de segurança mais baixo do que a clearence de segurança do sujeito. A violação dessa regra permitiria que informações fluíssem de classificações mais altas para mais baixas, o que viola um princípio básico da segurança multinível. Por exemplo, um usuário com clearence AS pode fazer uma cópia de um objeto com classificação AS e depois escrevê-lo de volta como um novo objeto com classificação NC, assim, tornando-o visível para todo o sistema. Gabarito: E
364
34. CESPE – 2010 - Órgão: MPU - Analista de Informática - Banco de Dados Em relação aos aspectos de segurança de SGBDs, julgue os itens a seguir. O administrador de banco de dados deve especificar os privilégios de acesso a cada usuário ou grupo de usuários, sendo que o SGBD provê acesso seletivo a cada relação no banco de dados embasada em contas específicas.
A afirmativa aborda a questão de **controle de acesso** em Sistemas Gerenciadores de Bancos de Dados (SGBDs) e a responsabilidade do administrador de banco de dados (DBA) na definição dos privilégios de acesso. Nos SGBDs, o **controle de acesso** é uma função essencial para garantir a segurança dos dados. O DBA tem a responsabilidade de definir e gerenciar esses privilégios de acesso, o que inclui: 1. **Privilégios de acesso por usuário ou grupo de usuários:** - O DBA deve definir quem pode acessar o quê e quais operações cada usuário pode realizar no banco de dados, como ler, inserir, modificar ou excluir dados. Isso pode ser feito por meio de **contas de usuário** individuais ou **grupos de usuários**. 2. **Acesso seletivo com base em privilégios:** - O SGBD gerencia o acesso seletivo às relações (tabelas) no banco de dados. Cada conta de usuário ou grupo é associada a um conjunto de **privilégios** (grants), que podem ser concedidos ou revogados pelo DBA. Esses privilégios são específicos a nível de objeto, como tabelas, visões, procedimentos armazenados, entre outros. 3. **Contas específicas:** - Cada usuário possui uma conta no banco de dados, associada a suas permissões específicas, permitindo um controle detalhado sobre quem pode acessar determinados dados e como esses dados podem ser manipulados. Contas específicas ajudam a identificar e controlar o que cada usuário está autorizado a fazer no sistema. Os principais comandos de controle de acesso em SGBDs relacionais são: - **GRANT**: Concede privilégios a usuários ou grupos. - **REVOKE**: Retira privilégios concedidos anteriormente. Portanto, a afirmativa está correta. O administrador de banco de dados deve especificar os privilégios de acesso para cada usuário ou grupo de usuários, e o SGBD provê acesso seletivo a cada relação no banco de dados com base nas contas específicas desses usuários. Gabarito: C
365
35. Ano:2010 Banca: CESPE Órgão: MPU Prova: Analista de Informática - Banco de Dados Em relação aos aspectos de segurança de SGBDs, julgue os itens a seguir. [1] Existem dois níveis de privilégio no SGBD: de conta e de relação (tabela). O primeiro independe das relações no banco de dados e o de relação refere-se ao privilégio de acesso de cada relação individual ou visão (view) no banco.
A afirmação apresentada refere-se à categorização dos privilégios de acesso dentro de um Sistema Gerenciador de Banco de Dados (SGBD) e descreve dois níveis distintos de privilégio: **conta** e **relação** (ou tabela). Análise da Afirmativa: 1. **Dois níveis de privilégio**: - **Privilégio de conta**: Este nível de privilégio é atribuído a uma conta de usuário específica e é independente das relações (tabelas) no banco de dados. Ele define permissões gerais, como a capacidade de conectar-se ao banco de dados, criar ou excluir objetos, etc. Esses privilégios estão mais relacionados à conta do usuário como um todo. - **Privilégio de relação**: Este nível de privilégio é específico para cada relação (tabela) ou visão (view) no banco de dados. Ele determina o que um usuário pode fazer com uma tabela ou visão específica, como realizar operações de leitura (SELECT), inserção (INSERT), atualização (UPDATE) ou exclusão (DELETE). Esses privilégios são críticos para o controle de acesso aos dados. Conclusão: A afirmação está correta. Existem, de fato, dois níveis de privilégio no SGBD: o **privilégio de conta**, que é independente das relações no banco de dados, e o **privilégio de relação**, que se refere ao acesso a relações individuais ou visões no banco. Essa estrutura de privilégios permite um controle granular sobre o acesso e a manipulação dos dados no SGBD, garantindo que apenas usuários autorizados possam realizar ações específicas em tabelas ou visões. Gabarito: C
366
36. Ano: 2010 Banca: FCC Órgão: TCE-SP Prova: Agente da Fisc. Financeira – Inf. - Produção e BD Caracteriza-se pela definição de classes de segurança para os sujeitos e objetos. As classes de segurança são determinadas por duas características: o nível de classificação e a categoria. O nível de classificação reflete a sensibilidade da informação, como por exemplo: público, confidencial, secreto e ultrassecreto. Já as categorias buscam refletir áreas ou departamentos das organizações. Cada objeto possui um nível de classificação e pode pertencer a mais de uma categoria, o mesmo acontecendo com os sujeitos. De forma simplificada, pode-se dizer que um sujeito poderá ter acesso a determinado objeto se seu nível de classificação for igual ou superior ao do objeto e se pertencer a pelo menos uma classe a que o objeto também pertença. Trata-se de política de controle de acesso: a) compulsória ou mandatária. b) discricionária ou provisória. c) discricionária ou compulsória. d) alternativa ou técnica. e) administrativa ou técnica
A descrição apresentada refere-se a um modelo de controle de acesso onde as permissões são determinadas por classes de segurança que envolvem tanto o nível de classificação quanto a categoria dos sujeitos (usuários) e objetos (dados). Essa abordagem é característica de um sistema de controle de acesso **mandatório** (também conhecido como **compulsório**), que é utilizado para proteger informações sensíveis e garantir que apenas usuários autorizados possam acessar dados com base em suas credenciais de segurança. Análise das Alternativas: 1. **a) Compulsória ou mandatária**: - Esta alternativa está correta. O controle de acesso compulsório (ou mandatário) é baseado em níveis de classificação de segurança e é utilizado em sistemas onde a sensibilidade da informação é crítica, como mencionado na descrição. 2. **b) Discricionária ou provisória**: - O controle de acesso discricionário permite que os proprietários dos dados definam quem pode acessá-los. Não se aplica à descrição fornecida. 3. **c) Discricionária ou compulsória**: - Mistura os dois tipos de controle de acesso, mas a descrição fala especificamente de um sistema compulsório. 4. **d) Alternativa ou técnica**: - Não é relevante no contexto da descrição dada. 5. **e) Administrativa ou técnica**: - Essa alternativa também não se aplica à definição de classes de segurança conforme descrito. Conclusão: A resposta correta é **a) compulsória ou mandatária**. Esse tipo de política de controle de acesso é caracterizado por exigir que os usuários cumpram as regras de acesso definidas com base nos níveis de classificação e nas categorias atribuídas, garantindo assim a proteção das informações sensíveis. Gabarito: A
367
37. Ano: 2009 Banca: VUNESP Órgão: CETESB Prova: Analista de TI - Administração de Dados A segurança de bancos de dados é um dos principais fatores relacionados à sua administração. Considere as seguintes afirmações sobre o controle de segurança do tipo discriminatório ou discricionário: I. um usuário pode ter o privilégio de ler, mas não de alterar os registros de uma determinada tabela; II. um usuário sempre pode conceder seus privilégios a outros usuários; III. se um usuário puder excluir os registros de uma tabela, terá o mesmo direito sobre todas as tabelas do banco de dados. ​ Sobre as funções, aquelas ligadas com aspectos de segurança são as contidas em a) I, apenas. b) II, apenas. c) I e III, apenas. d) II e III, apenas. e) I, II e III.
Vamos analisar cada uma das alternativas da questão. Em I, sabemos que é perfeitamente possível um usuário ter acesso de leitura a uma determinada tabela, porém não possuir acesso para atualização dos itens de dados desta tabela. Sendo assim tratamos a afirmação como correta. Na alternativa II, percebemos que o examinador que saber se o candidato entende que a propagação de privilégios somente pode ser feita se o usuário for administrador do banco ou se ele recebeu suas permissões com a cláusula WITH GRANT OPTION. Alternativa, portanto, incorreta. O modelo de acesso discricionário admite diferentes níveis de permissão sobre cada tabela do banco de dados. Essa permissão segue os critérios de segurança e deve ser adequada as necessidades e perfil dos usuários. Sendo assim, podemos admitir que existe um erro na alternativa III. Gabarito: A
368
1. ISS São José dos Campos/FGV/2024 A integração do sistema ORACLE com a linguagem de programação R foi resultado da adesão da empresa ao R Consortium R/Database. A integração do R com Oracle Database e Oracle Autonomous Database, promovida por R API (Application Programming Interface) é denominada: a) Oracle Exadata b) Oracle Database API for R (ODAPI4R) c) Oracle Hyperion d) Oracle API for R (OAPI4R) e) Oracle Machine Learning for R (OML4R)
A resposta correta para a pergunta é: **e) Oracle Machine Learning for R (OML4R)** A Oracle Machine Learning for R (OML4R) é a API que permite a integração da linguagem R com o Oracle Database, permitindo que os usuários executem análise e aprendizado de máquina diretamente no banco de dados. Gabarito: E
369
2. Câmara Municipal de São Paulo/FGV/2024 Os processos de otimização de consultas SQL em ambientes Oracle podem utilizar diversos tipos de índices. O tipo de índice adequado para colunas que possuem um número relativamente baixo de valores, para aplicações de armazenamento de dados em que há baixa atividade de declarações SQL do tipo DML e filtragens ad hoc e eficiente em consultas com a função COUNT ( ) denomina-se índice a) baseado em função. b) chave reversa. c) particionado. d) árvore B. e) bitmap.
A resposta correta para essa pergunta é: **e) bitmap.** Os índices do tipo bitmap são adequados para colunas com um número relativamente baixo de valores (baixa cardinalidade) e são especialmente úteis em aplicações de armazenamento de dados, onde a maioria das operações de consulta envolve filtragens e contagens. Eles são eficientes em cenários com operações de leitura predominantes e em que as consultas frequentemente utilizam funções como `COUNT()`. Gabarito: E
370
3. Câmara Municipal de São Paulo/FGV/2024 Com relação aos métodos de extração em dados em data warehouses nos ambientes Oracle, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V). I. Existem dois tipos de extração lógica: extração completa e extração incremental. II.Existem dois seguintes métodos de extração física: extração on-line e extração off-line. III.Existem três métodos de extração virtual: extração por timestamp, extração por particionamento e extração por triggers. As afirmativas são, respectivamente, a) V–V–F. b) V–F–V. c) V–F–F. d) F–V–V. e) F–V–F.
Vamos avaliar cada uma das afirmativas: I. **Existem dois tipos de extração lógica: extração completa e extração incremental.** **Verdadeira (V)** – Os métodos de extração lógica geralmente incluem a extração completa e a extração incremental. II. **Existem dois seguintes métodos de extração física: extração on-line e extração off-line.** **Falsa (F)** – Embora a extração on-line e off-line sejam métodos válidos, os métodos de extração física em data warehouses podem incluir mais categorias, como extração em tempo real ou em lote, dependendo do contexto. III. **Existem três métodos de extração virtual: extração por timestamp, extração por particionamento e extração por triggers.** **Falsa (F)** – Os métodos de extração virtual comumente referem-se a abordagens de virtualização, mas a descrição fornecida não é correta em termos de métodos reconhecidos. Com isso, a avaliação correta das afirmativas é: **a) V–F–F.** Gabarito: C
371
4. FUNDATEC - Ana Sist (BRDE)/BRDE/Administração de Banco de Dados/2023 O desaninhamento de subconsulta é uma otimização disponível no Oracle que converte uma subconsulta em uma junção na consulta externa, permitindo que o otimizador considere a(s) tabela(s) de subconsulta durante o caminho de acesso, método de junção e seleção de ordem de junção. As consultas (a) e (b) exemplificam respectivamente uma subconsulta ALL e uma subconsulta EXISTS. Os atributos dessas tabelas usadas podem ser inferidos a partir dessas consultas SQL: (a) SELECT C.sobrenome, C.renda FROM clientes C WHERE C.codc <> ALL (SELECT V.codc FROM vendas V WHERE V.valor > 1000); (b) SELECT C.sobrenome, C.renda FROM clientes C WHERE NOT EXISTS (SELECT 1 FROM vendas V WHERE V.valor > 1000 and V.codc = C.codc); Considere as assertivas abaixo sobre a otimização baseada em desaninhamento de subconsultas no Oracle: I. O recurso fundamental do desaninhamento de subconsultas é a conversão da subconsulta com processamento relacionado em outra equivalente com processamento não relacionado. II. No caso de uma subconsulta ALL, o desaninhamento explora semi-join. III. No caso de uma subconsulta NOT EXISTS, o desaninhamento explora o anti-join. Quais estão corretas? a) Apenas I. b) Apenas II. c) Apenas III. d) Apenas II e III. e) I, II e III.
Vamos analisar cada assertiva: I. A subconsulta ALL não é convertida em uma junção equivalente, mas sim em uma expressão de comparação que verifica se todos os valores retornados pela subconsulta satisfazem uma determinada condição. Portanto, a assertiva está incorreta. II. No caso de uma subconsulta ALL, o desaninhamento explora o uso de semi-joins. A subconsulta é convertida em uma junção semi-equi-join. Portanto, a assertiva está incorreta. III. No caso de uma subconsulta NOT EXISTS, o desaninhamento pode de fato explorar o anti-join, uma técnica que retorna as linhas da tabela externa que não possuem correspondência na tabela interna. Portanto, a assertiva está correta. Portanto, a resposta correta é a opção c) Apenas III. Gabarito: C
372
5. FUNDATEC - ANC (PROCERGS) / PROCERGS / Desenvolvimento / Oracle PL SQL / 2023 O gerenciamento da memória no SGBD Oracle possui duas áreas principais: SGA (System Global Area) e PGA (Program Global Area). Nesse contexto, analise as assertivas abaixo e assinale a alternativa correta. I. A PGA é um conjunto de estruturas de memória compartilhada que contém dados e informações de controle de uma instância do banco de dados Oracle. II. A SGA é uma região não compartilhada da memória que contém dados e informações de controle de um processo do servidor. III. Tanto a SGA como a PGA podem ser configuradas manualmente ou automaticamente. a) Todas estão corretas. b) Todas estão incorretas. c) Apenas III está correta. d) Apenas I e II estão corretas. e) Apenas II e III estão corretas.
Vamos analisar cada uma das assertivas sobre o gerenciamento de memória no SGBD Oracle: **I. A PGA é um conjunto de estruturas de memória compartilhada que contém dados e informações de controle de uma instância do banco de dados Oracle.** **Incorreta (F)** – A PGA (Program Global Area) é uma área de memória não compartilhada que contém dados e informações de controle de uma instância de servidor de banco de dados. Cada sessão do usuário tem sua própria PGA. **II. A SGA é uma região não compartilhada da memória que contém dados e informações de controle de um processo do servidor.** **Incorreta (F)** – A SGA (System Global Area) é uma área de memória compartilhada que contém dados e informações de controle de uma instância do banco de dados Oracle, e não de um processo do servidor. **III. Tanto a SGA como a PGA podem ser configuradas manualmente ou automaticamente.** **Correta (V)** – Ambas as áreas de memória podem ser configuradas pelo administrador de banco de dados, seja manualmente ou através de configurações automáticas. Com isso, a única assertiva correta é a III. Portanto, a alternativa correta é: **c) Apenas III está correta.** Gabarito: C
373
6. FUNDATEC - ANC (PROCERGS)/PROCERGS/Teste de Software e Garantia da Qualidade/2023 O modelo de banco de dados relacional representa o banco de dados como uma coleção de relações. Informalmente, cada relação se assemelha a uma tabela de valores ou, até certo ponto, a um arquivo simples de registros. É chamado de arquivo simples porque cada registro tem uma estrutura simples linear ou plana. Qual banco abaixo é um banco de dados relacional? a) MongoDB. b) CouchDB. c) Redis. d) Oracle. e) NoSQL.
A alternativa correta é: **d) Oracle.** O Oracle é um sistema de gerenciamento de banco de dados relacional (RDBMS) que organiza os dados em tabelas (relações). As outras opções listadas (MongoDB, CouchDB e Redis) são bancos de dados NoSQL, que utilizam modelos não relacionais para armazenar dados. A opção "NoSQL" também não se refere a um banco de dados específico, mas sim a uma categoria de bancos de dados que não seguem o modelo relacional. Gabarito: D
374
7. FUNDATEC - Ana Sist (BRDE)/BRDE/Administração de Banco de Dados/2023 Imagine que em um banco de dados ORACLE existe um usuário USUARIO1 e uma tabela de nome PROJETOS. Considere que o DBA emitiu o seguinte comando SQL nesse banco de dados: GRANT ALL PRIVILEGES ON PROJETOS TO USUARIO1; Analise as assertivas abaixo, sobre os privilégios concedidos a USUARIO1 com esse comando, assinalando V, se verdadeiras, ou F, se falsas. ( ) USUARIO1 pode remover tuplas da tabela PROJETOS. ( ) USUARIO1 pode conceder a outros usuários um ou mais privilégios recebidos sobre a tabela PROJETOS através de comandos GRANT. ( ) USUARIO1 pode definir um gatilho sobre a tabela PROJETOS. A ordem correta de preenchimento dos parênteses, de cima para baixo, é: a) V – V – V. b) F – V – F. c) V – F – F. d) F – F – V. e) V – F – V.
A ordem correta é: e) V - F - V. A primeira assertiva é verdadeira. O comando ALL PRIVILEGES inclui o privilégio de DELETE, permitindo que o usuário USUARIO1 remova tuplas da tabela PROJETOS. A segunda assertiva é falsa. O privilégio concedido com ALL PRIVILEGES não inclui a capacidade de conceder privilégios a outros usuários. Somente privilégios específicos podem ser concedidos dessa forma. A terceira assertiva está correta. O privilégio ALL PRIVILEGES permite ao usuário definir um gatilho na tabela PROJETOS. Gabarito: E
375
8. FUNDATEC - Ana Sist (BRDE)/BRDE/Administração de Banco de Dados/2023 No Oracle, cada instância de um banco de dados tem um redo log associado para proteger o banco de dados em caso de falha da instância. Um redo log consiste em um ou mais arquivos pré-alocados que armazenam todas as alterações feitas no banco de dados à medida que ocorrem. O Log Writer (LGWR) é o processo que controla a escrita das mudanças nos arquivos de redo log. Analise as seguintes assertivas sobre o redo log no Oracle: I. O recurso de multiplexar um redo log (multiplexed redo logs) visa proteger contra uma falha envolvendo o próprio redo log. II. Quando um redo log é multiplexado, é recomendado que todos os membros de um grupo sejam colocados em discos físicos distintos. III. É uma boa prática que a necessidade de arquivamento dos arquivos de redo log em mídias de armazenamento off-line, tais como discos ou fitas, seja levada em conta pelo DBA ao definir o tamanho do arquivo de redo log. Quais estão corretas? a) Apenas III. b) Apenas I e II. c) Apenas I e III. d) Apenas II e III. e) I, II e III.
Vamos analisar as assertivas sobre o **redo log** no Oracle: **I. O recurso de multiplexar um redo log (multiplexed redo logs) visa proteger contra uma falha envolvendo o próprio redo log.** **Correta (V)** – O multiplexing de redo logs é uma técnica usada para garantir a redundância dos logs, protegendo contra falhas no disco ou corrupção dos arquivos de redo log. **II. Quando um redo log é multiplexado, é recomendado que todos os membros de um grupo sejam colocados em discos físicos distintos.** **Correta (V)** – Para garantir a segurança dos dados e evitar a perda de todos os membros de um grupo de redo logs em caso de falha de hardware, é uma prática recomendada que eles sejam armazenados em discos físicos diferentes. **III. É uma boa prática que a necessidade de arquivamento dos arquivos de redo log em mídias de armazenamento off-line, tais como discos ou fitas, seja levada em conta pelo DBA ao definir o tamanho do arquivo de redo log.** **Correta (V)** – O DBA deve levar em consideração o processo de arquivamento dos redo logs para garantir que haja espaço suficiente para armazenar os arquivos de log, especialmente se o ambiente estiver configurado para usar **archived redo logs**. Portanto, todas as assertivas estão corretas. Gabarito: E
376
9. FUNDATEC - Ana Sist (BRDE)/BRDE/Administração de Banco de Dados/2023 O Oracle Data Guard fornece um conjunto abrangente de serviços que criam, mantêm, gerenciam e monitoram um ou mais bancos de dados em espera (standby). Analise as seguintes assertivas sobre serviços providos pelo Oracle Data Guard, assinalando V, se verdadeiras, ou F, se falsas. ( ) Existem quatro tipos de bancos de dados standby: físico, lógico, snapshot e cloud. ( ) Uma transição do banco de dados primário para uma base de dados standby pode ocorrer tanto para gerenciar casos de falha (failover), tais como desastres e corrupção de dados, quanto situações que não envolvem falhas (switchover), como, por exemplo, manutenções programadas. ( ) Oferece três modos de proteção: disponibilidade máxima, desempenho máximo e proteção máxima. A ordem correta de preenchimento dos parênteses, de cima para baixo, é: a) V – V – V. b) F – V – V. c) F – V – F. d) V – F – V. e) F – F – F.
Vamos revisar as assertivas com base no gabarito informado: 1. **( ) Existem quatro tipos de bancos de dados standby: físico, lógico, snapshot e cloud.** **Falsa (F)** – Não há um tipo "cloud" de banco de dados standby no Oracle Data Guard, apenas os tipos físico, lógico e snapshot. 2. **( ) Uma transição do banco de dados primário para uma base de dados standby pode ocorrer tanto para gerenciar casos de falha (failover), tais como desastres e corrupção de dados, quanto situações que não envolvem falhas (switchover), como, por exemplo, manutenções programadas.** **Verdadeira (V)** – Essa assertiva está correta, pois o Data Guard permite failover (para falhas) e switchover (para manutenção planejada). 3. **( ) Oferece três modos de proteção: disponibilidade máxima, desempenho máximo e proteção máxima.** **Verdadeira (V)** – Esta assertiva está correta. Os três modos de proteção do Oracle Data Guard são **Máxima Disponibilidade**, **Máximo Desempenho** e **Máxima Proteção**. Com isso, a ordem correta de preenchimento dos parênteses é: **F – V – V.** Gabarito: B
377
10. FUNDATEC - ANC (PROCERGS)/PROCERGS/Análise de Sistemas/Gerencia de Projetos de TI/2023 Usando o SQL *Plus, do Oracle 11g, qual a sintaxe correta do comando DESCRIBE utilizado para exibir a estrutura de uma tabela identificada como tab_cidades? a) DESCRIBE tab_cidades b) DESCRIBE FROM tab_cidades c) DESCRIBE INTO tab_cidades d) DESCRIBE TABLE FROM tab_cidades e) DESCRIBE STRUCT FROM tab_cidades
A sintaxe correta do comando **DESCRIBE** no SQL*Plus para exibir a estrutura de uma tabela é: **a) DESCRIBE tab_cidades** O comando **DESCRIBE** é usado para mostrar a definição da tabela, incluindo colunas, tipos de dados e outras informações relevantes. Gabarito: A
378
11. FUNDATEC - ANC (PROCERGS) / PROCERGS / Desenvolvimento /Oracle PL SQL/2023 Usuários acessam o SGBD Oracle através de suas contas de usuários, que possuem permissões específicas concedidas no momento da criação do usuário ou concedidas posteriormente. Analise as assertivas abaixo e assinale a alternativa correta. I. O usuário SYSTEM pode realizar todas as funções administrativas do banco de dados, inclusive pode fazer backup e recovery do sistema. II. O usuário SYS pode fazer todas as funções administrativas, mas não pode fazer backup, recovery e nem upgrade do SGBD. III. SYSDBA é um privilégio concedido aos usuários que são administradores do banco de dados. a) Todas estão corretas. b) Todas estão incorretas. c) Apenas I está correta. d) Apenas II está correta. e) Apenas III está correta.
A alternativa correta é **e) Apenas III está correta**. Vamos analisar as assertivas: - **I. O usuário SYSTEM pode realizar todas as funções administrativas do banco de dados, inclusive pode fazer backup e recovery do sistema.** Esta assertiva está incorreta. O usuário SYSTEM é um usuário administrativo do Oracle, mas ele não tem o mesmo nível de privilégio que o usuário SYS. Enquanto SYSTEM pode realizar muitas funções administrativas, as tarefas de backup e recovery são tradicionalmente associadas ao usuário SYS ou a quem tem o privilégio SYSDBA. - **II. O usuário SYS pode fazer todas as funções administrativas, mas não pode fazer backup, recovery e nem upgrade do SGBD.** Esta assertiva está incorreta. O usuário SYS é o principal administrador do banco de dados Oracle e tem acesso total, inclusive para realizar backup, recovery e upgrades. Na verdade, o usuário SYS tem privilégios superiores aos do SYSTEM. - **III. SYSDBA é um privilégio concedido aos usuários que são administradores do banco de dados.** Esta assertiva está correta. SYSDBA é um privilégio que concede permissões avançadas para realizar funções administrativas críticas no banco de dados, como startup, shutdown, e operações de recuperação (recovery). Esse privilégio é frequentemente associado ao usuário SYS, mas pode ser concedido a outros usuários. Por isso, a correta é **e) Apenas III está correta**. Gabarito: E
379
12. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte /Bancos de Dados/2023 Assinale a alternativa que NÃO corresponde a uma funcionalidade do Oracle 19c SQL automatic tuning. a) Criação automática de índices. b) Compressão automática de tabelas acessadas frequentemente. c) Criação automática de triggers (gatilhos) para eventos. d) Identificação automática de operações SQL. e) Implementação automática de perfis SQL.
A alternativa correta é **c) Criação automática de triggers (gatilhos) para eventos**. Vamos analisar cada uma das alternativas: - **a) Criação automática de índices** O Oracle 19c possui funcionalidades automáticas relacionadas à criação de índices, como o *Automatic Indexing*, que permite ao banco de dados criar, ajustar e remover índices automaticamente para melhorar a performance das consultas. - **b) Compressão automática de tabelas acessadas frequentemente** O Oracle oferece compressão automática de dados, inclusive em tabelas e partições, para otimizar o armazenamento e melhorar o desempenho, especialmente em tabelas muito acessadas. - **c) Criação automática de triggers (gatilhos) para eventos** Esta alternativa está incorreta, pois o Oracle não cria *triggers* (gatilhos) automaticamente. *Triggers* são geralmente criados manualmente por administradores ou desenvolvedores de banco de dados para monitorar eventos específicos. - **d) Identificação automática de operações SQL** O Oracle possui ferramentas de ajuste automático que podem identificar operações SQL problemáticas, como o *Automatic Database Diagnostic Monitor* (ADDM), que analisa a performance de SQL e identifica operações que podem ser otimizadas. - **e) Implementação automática de perfis SQL** O Oracle pode implementar perfis SQL automaticamente através do *SQL Tuning Advisor*, que ajusta consultas SQL para melhorar o desempenho. Portanto, a alternativa que **NÃO** corresponde a uma funcionalidade do *automatic tuning* no Oracle 19c é **c) Criação automática de triggers (gatilhos) para eventos**. Gabarito: C
380
13. FUNDATEC - ANC (PROCERGS) / PROCERGS / Desenvolvimento / Oracle PL SQL/2023 O SGBD ORACLE permite que se faça uma conexão local a um banco de dados. Analise as assertivas abaixo e assinale a alternativa correta. I. A conexão local não cria um processo servidor (Server Process) e não usa um protocolo de rede. II. A conexão local não irá precisar de um Database Listener. III. A conexão local requer o protocolo IPC. a) Todas estão corretas. b) Todas estão incorretas. c) Apenas I e II estão corretas. d) Apenas I e III estão corretas. e) Apenas II e III estão corretas.
A alternativa correta é **e) Apenas II e III estão corretas**. Vamos analisar cada uma das assertivas: - **I. A conexão local não cria um processo servidor (Server Process) e não usa um protocolo de rede.** Esta assertiva está incorreta. Mesmo em uma conexão local, o Oracle cria um processo servidor (*Server Process*) para lidar com as solicitações do cliente. Além disso, um protocolo de rede, como o IPC (Inter-Process Communication), pode ser utilizado, mas isso não significa que o processo servidor não seja criado. - **II. A conexão local não irá precisar de um Database Listener.** Esta assertiva está correta. Em uma conexão local (quando cliente e servidor estão na mesma máquina), o Oracle não precisa de um *listener* (processo que gerencia conexões remotas), pois a comunicação é feita diretamente. - **III. A conexão local requer o protocolo IPC.** Esta assertiva está correta. Em conexões locais, o protocolo IPC (Inter-Process Communication) é utilizado para comunicação direta entre processos no mesmo servidor, o que dispensa a necessidade de uso de um protocolo de rede como TCP/IP. Portanto, a alternativa correta é **e) Apenas II e III estão corretas**. Gabarito: E
381
14. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte /Bancos de Dados/2023 Analise as assertivas abaixo sobre os casos de uso do monitoramento de operação de banco de dados (Monitoring Database Operations) do Oracle 19c e assinale a alternativa correta. I. O monitoramento não tem suporte a cláusulas SQL em paralelo, por isso não pode ser usado para analisar problemas de balanceamento de carga. II. Uma cláusula SQL que começou a levar mais tempo para executar pode ser analisada com o monitoramento. III. Uma sessão de banco de dados que está com performance abaixo do esperado pode precisar ser analisada pelo monitoramento. a) Todas estão corretas. b) Todas estão incorretas. c) Apenas II está correta. d) Apenas I e II estão corretas. e) Apenas II e III estão corretas.
A alternativa correta é **e) Apenas II e III estão corretas**. Vamos analisar cada uma das assertivas: - **I. O monitoramento não tem suporte a cláusulas SQL em paralelo, por isso não pode ser usado para analisar problemas de balanceamento de carga.** Esta assertiva está incorreta. O Oracle 19c oferece suporte a *SQL Parallel Execution* e o monitoramento de operações de banco de dados pode, sim, ser utilizado para analisar problemas de performance em operações paralelas, incluindo o balanceamento de carga. - **II. Uma cláusula SQL que começou a levar mais tempo para executar pode ser analisada com o monitoramento.** Esta assertiva está correta. O monitoramento de operações no Oracle 19c permite rastrear a execução de consultas SQL ao longo do tempo, o que é útil para identificar problemas de performance em consultas que estão demorando mais para executar do que o esperado. - **III. Uma sessão de banco de dados que está com performance abaixo do esperado pode precisar ser analisada pelo monitoramento.** Esta assertiva está correta. O monitoramento de operações de banco de dados também pode ser utilizado para analisar o desempenho de sessões específicas, permitindo a identificação de gargalos ou problemas de performance que estejam afetando as sessões. Portanto, a alternativa correta é **e) Apenas II e III estão corretas**.
382
15. FUNDATEC - ANC (PROCERGS) / PROCERGS / Análise de Sistemas/Gerencia de Projetos de TI/2023 Qual o formato padrão de entrada da data no Oracle 11g, em que DD é o dia com dois dígitos, MON são as três primeiras letras do mês, MM é o número do mês com dois dígitos e YYYY é o ano com quatro dígitos? a) DD-MON-YYYY b) MON-DD-YYYY c) YYYY-MON-DD d) MM-DD-YYYY e) DD-MM-YYYY
A alternativa correta é **a) DD-MON-YYYY**. O formato padrão de data no Oracle 11g, conforme a configuração de idioma e localidade padrão, é **DD-MON-YYYY**, onde: - **DD** representa o dia com dois dígitos, - **MON** representa as três primeiras letras do mês (por exemplo, JAN para janeiro), - **YYYY** representa o ano com quatro dígitos. Esse é o formato padrão utilizado em muitas instalações do Oracle, a menos que seja alterado pela configuração de ambiente ou sessão. Gabarito: A
383
16. FCC - AJ TRT18/TRT 18/Apoio Especializado / Tecnologia da Informação /2023 Considerando um banco de dados Oracle 19 aberto e funcionando em condições ideais, uma Analista foi solicitada a remover o tablespace tbs_trt18a, eliminando todas as restrições de integridade referencial que se referem às chaves primárias e únicas dentro de tbs_trt18a. Tendo os privilégios para tal ação, ela utilizou o comando: a) DROP TABLESPACE tbs_trt18a REMOVING CONSTRAINTS KEEPING CONTENTS AND DATAFILES; b) DELETE TABLESPACE tbs_trt18a INCLUDING CONTENTS AND CONSTRAINTS; c) DROP TABLESPACE tbs_trt18a WITH CONTENTS AND CONSTRAINTS ON CASCADE; d) DROP TABLESPACE tbs_trt18a INCLUDING CONTENTS CASCADE CONSTRAINTS; e) DELETE TABLESPACE tbs_trt18a ADDING CONTENTS ON CASCADE CONSTRAINTS;
A alternativa correta é **d) DROP TABLESPACE tbs_trt18a INCLUDING CONTENTS CASCADE CONSTRAINTS**. Vamos entender o comando: - **DROP TABLESPACE tbs_trt18a**: Remove o *tablespace* chamado `tbs_trt18a`. - **INCLUDING CONTENTS**: Remove também todo o conteúdo, ou seja, todas as tabelas e outros objetos dentro do *tablespace*. - **CASCADE CONSTRAINTS**: Remove também todas as restrições de integridade referencial, como chaves estrangeiras que referenciam chaves primárias e únicas dentro das tabelas do *tablespace*. Esse comando é o adequado para o que foi solicitado: remover o *tablespace* e eliminar todas as restrições associadas, garantindo que as chaves primárias e únicas sejam removidas sem causar erros de integridade referencial. As outras alternativas contêm sintaxes incorretas ou inexistentes no Oracle. Gabarito: D
384
17. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 O banco de dados de um órgão do Judiciário foi modelado utilizando o Modelo Entidade-Relacionamento (MER). Foi criado um banco de dados chamado MPEPB123. Considere para todas as questões que o banco de dados está aberto e em condições ideais. Em uma transação Oracle, uma analista criou um ponto de salvamento chamado pontoA e inseriu 3 novos advogados na tabela Advogado. Em seguida, criou um ponto de salvamento chamado pontoB e inseriu mais 2 advogados. Se esta analista quiser reverter a inserção dos 2 últimos advogados, mantendo somente as 3 primeiras inserções, ela poderá utilizar o comando a) ROLLBACK TRANSACTION UNTIL pontoB; b) RESTORE DATABASE to pontoB; c) ROLLBACK TO pontoB; d) RESTORE TRANSACTION TO pontoB; e) ROLLBACK UNTIL pontoB WITH REVERT STATE;
A alternativa correta é **c) ROLLBACK TO pontoB**. No Oracle, o comando **ROLLBACK TO** é utilizado para reverter as operações realizadas em uma transação até um ponto de salvamento (*savepoint*) específico. Neste caso, o ponto de salvamento `pontoB` foi criado após a inserção dos 3 primeiros advogados e antes da inserção dos 2 últimos. Ao usar o comando **ROLLBACK TO pontoB**, a analista reverterá apenas as inserções feitas após o ponto de salvamento `pontoB`, ou seja, os 2 últimos advogados, mantendo as 3 primeiras inserções. As outras alternativas contêm sintaxes incorretas ou não aplicáveis no contexto de transações no Oracle. Gabarito: C
385
18. VUNESP - ADP (DPE SP)/DPE SP/Analista Desenvolvedor/2023 Considere o seguinte comando do Sistema Gerenciador de Banco de Dados Oracle 21c para criar uma tabela do tipo Blockchain: CREATE BLOCKCHAIN TABLE teste (col1 VARCHAR2 (12)) Comando 01 Comando 02 …………… Os conteúdos a serem inseridos em Comando 01 e Comando 02 para que a exclusão dessa tabela e a exclusão de seus registros somente sejam possíveis após 10 dias são, respectivamente: a) NO DROP UNTIL 10 DAYS IDLE NO DELETE UNTIL 10 DAYS AFTER INSERT b) DROP AFTER 10 DAYS DELETE AFTER 10 DAYS c) DROP ONLY AFTER 10 DAYS IDLE DELETE ONLY AFTER 10 DAYS d) NO DROP NEXT 10 DAYS NO DELETE NEXT 10 DAYS OF INSERTION e) NO DROP FROM 10 DAYS CREATION NO DELETE FROM 10 DAYS INSERTION
A alternativa correta é **a) NO DROP UNTIL 10 DAYS IDLE NO DELETE UNTIL 10 DAYS AFTER INSERT**. Vamos analisar o comando: 1. **NO DROP UNTIL 10 DAYS IDLE**: Esse comando define que a tabela do tipo *Blockchain* não poderá ser removida (dropada) até que tenham passado 10 dias de inatividade (*idle*), ou seja, sem qualquer operação na tabela. 2. **NO DELETE UNTIL 10 DAYS AFTER INSERT**: Este comando especifica que os registros não poderão ser deletados até que 10 dias tenham passado após a sua inserção. Esses parâmetros são característicos das *Blockchain Tables* no Oracle, que têm como objetivo garantir a imutabilidade dos dados por um período de tempo configurado. As outras alternativas contêm sintaxes incorretas ou que não refletem adequadamente o comportamento exigido para a criação de uma tabela *Blockchain* com essas restrições de exclusão no Oracle 21c. Gabarito: A
386
19. VUNESP - ACE (TCM SP)/TCM SP/Tecnologia da Informação/2023 O sistema gerenciador de bancos de dados Oracle 12c implementa o conceito de visões materializadas (materialized views), sendo correto afirmar que a) uma vez criada uma visão materializada, ela não é mais atualizada. b) uma visão materializada é destruída quando houver reinicialização da base de dados. c) seus métodos de atualização (refresh) são denominados completo e incremental. d) uma visão materializada não consome espaço de armazenamento. e) uma visão materializada não pode acessar mais do que três atributos de uma tabela.
A alternativa correta é **c) seus métodos de atualização (refresh) são denominados completo e incremental**. Vamos analisar as alternativas: - **a) uma vez criada uma visão materializada, ela não é mais atualizada.** Essa afirmação está incorreta. Visões materializadas podem ser atualizadas (ou *refreshed*) periodicamente ou sob demanda, dependendo da configuração. - **b) uma visão materializada é destruída quando houver reinicialização da base de dados.** Isso está incorreto. Visões materializadas são objetos persistentes no banco de dados e não são destruídas quando o banco de dados é reinicializado. - **c) seus métodos de atualização (refresh) são denominados completo e incremental.** Essa afirmativa está correta. As visões materializadas podem ser atualizadas de duas maneiras: - **Completo (Complete)**: A visão é completamente reconstruída a partir dos dados de origem. - **Incremental (Fast)**: Apenas as mudanças desde o último *refresh* são aplicadas. - **d) uma visão materializada não consome espaço de armazenamento.** Incorreto. Diferente de visões regulares, visões materializadas armazenam dados fisicamente e, portanto, consomem espaço de armazenamento no banco de dados. - **e) uma visão materializada não pode acessar mais do que três atributos de uma tabela.** Incorreto. Não há essa limitação no número de atributos que podem ser acessados por uma visão materializada. Portanto, a alternativa correta é **c) seus métodos de atualização (refresh) são denominados completo e incremental**. Gabarito: C
387
20. CEBRASPE (CESPE) - APO (SEPLAN RR) / SEPLAN RR / Tecnologia da Informação/2023 Julgue o item a seguir a respeito dos conceitos do SGBD Oracle. A tabela BDA_SORT _SEGMENT informa a quantidade de espaço destinado para ordenar uma consulta no SGBD Oracle.
O item está incorreto. A tabela BDA_SORT_SEGMENT não faz parte das tabelas ou objetos de sistema padrão do Oracle Database. Portanto, a afirmação está errada, pois essa tabela não existe no contexto do SGBD Oracle. Gabarito: Errado
388
21. CEBRASPE (CESPE) - Ana Sist (EMPREL)/EMPREL/2023 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 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 é conhecida como chave primária. Portanto, a opção correta é: d) chave primária. Gabarito: D
389
22. Cebraspe – Analista Judiciário – Tecnologia da Informação (TRT-AP/PA)/2022 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 aparecemlogicamente 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 alternativa correta é **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**. Vamos analisar cada alternativa: - **a) um Seed PDB se destina a oferecer suporte a um aplicativo ou contêiner de aplicativos.** Essa afirmação está incorreta. O **Seed PDB** (ou PDB semente) é usado como um modelo para criar novos PDBs, mas não se destina a oferecer suporte direto a aplicativos. Ele contém um conjunto de metadados e é utilizado para inicializar novos PDBs. - **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.** Essa afirmação está correta. Um **Pluggable Database (PDB)** é uma instância de banco de dados que contém seus próprios esquemas, objetos, e dados, e aparece logicamente como um banco de dados separado para os aplicativos que se conectam a ele. - **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.** Essa afirmação está incorreta. Um PDB não pode conter CDBs; na verdade, um CDB contém PDBs. A arquitetura é tal que os CDBs gerenciam PDBs. - **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 PDB ou aos dos CDBs associados ao PDB.** Essa afirmação está incorreta. Um **Application Container** é opcional e permite o gerenciamento de múltiplos PDBs que compartilham um conjunto de aplicações. Não é obrigatório e não é especificamente criado para facilitar o acesso a dados. - **e) cada CDB tem seu próprio conjunto de tablespaces, incluindo seus próprios tablespaces SYSTEM e SYSAUX.** Essa afirmação está incorreta. Embora cada CDB tenha seus próprios tablespaces, os tablespaces **SYSTEM** e **SYSAUX** são parte do CDB e não pertencem a um PDB individual. Cada PDB tem seu próprio conjunto de tablespaces, mas o CDB em si também possui esses tablespaces. Portanto, a alternativa correta é **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**. Gabarito: B
390
23. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação) /2018 No Oracle 11g, os advisors são desenvolvidos com base em componentes de infraestrutura, sendo um deles o Automatic Workload Repository (AWR), que (A) fornece informações sobre melhoria percentual no tempo do banco de dados para vários tamanhos de System Global Area. (B) faz recomendações para melhorar a performance de uma carga de trabalho. Além de analisar índices e visualizações materializadas como em versões anteriores, ele analisa tabelas e consultas e faz recomendações sobre como otimizar estruturas de armazenamento. (C) faz análise, detecta gargalos e recomenda soluções. As recomendações podem incluir o tipo de advisor que precisa ser usado para resolver o problema. (D) analisa problemas com instruções SQL individuais como, por exemplo, o uso equivocado delas, além de fazer recomendações para melhorar a performance. (E) fornece serviços para coletar, manter e utilizar estatísticas para fins de detecção de problemas e autoajuste e onde as informações estatísticas são armazenadas na forma de snapshots.
O AWR coleta, processa e mantém estatísticas de desempenho para fins de detecção de problemas e auto ajuste. Esses dados reunidos são armazenados na memória e no banco de dados e são exibidos em relatórios e visualizações. As estatísticas coletadas e processadas pelo AWR incluem: - Estatísticas de objeto que determinam estatísticas de acesso e uso de segmentos do banco de dados; - Estatísticas do modelo de tempo com base no uso de tempo das atividades; - Algumas das estatísticas do sistema e da sessão; - Instruções SQL que estão produzindo a carga mais alta no sistema, com base em critérios como tempo decorrido e tempo de CPU; - Estatísticas do histórico de sessões ativas (ASH), representando o histórico da atividade de sessões recentes. Assim, temos o gabarito da questão na letra e). Gabarito: E
391
24. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação) / 2018 Em condições normais de operação, na versão12c do Oracle, é possível realizar operações online de manutenção em uma table sem causar lock na tabela em questão quando usando instruções DDL, tais como (A) drop index online ou server free online. (B) explain plan online ou drop constraint online. (C) alter index unusable online ou drop index online. (D) create index online ou merge online. (E) call set online ou transaction online.
Em geral, os bancos de dados multiusuários usam alguma forma de bloqueio de dados para resolver os problemas associados à simultaneidade, à consistência e à integridade de dados. Um bloqueio é um mecanismo que impede a interação destrutiva entre transações que acessam o mesmo recurso. Estes mecanismos bloqueiam dados automaticamente ou conforme especificado pelo usuário durante as instruções SQL. A versão12c do Oracle inovou com novas operações online de manutenção em uma table sem causar lock na tabela. As seguintes instruções DDL foram incluídas nesta modalidade: - drop index online - alter index unusable online - alter table move partition online - alter table move subpartition online Temos a resposta da questão na letra c). Gabarito: C
392
25. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação) / 2018 Antes do Oracle 12c, os tamanhos máximos em bytes dos data types varchar2, nvarchar2 e raw atingiam, respectivamente, 4.000, 4.000 e 2.000. Os correspondentes tamanhos máximos, em bytes, desses data types estendidos no Oracle 12c, Release 1 (12.1) podem atingir, respectivamente, (A) 32.767, 32.767 e 32.767. (B) 16.256, 8.156 e 4.096. (C) 16.256, 16.256 e 8.156. (D) 32.767, 16.256 e 8.156. (E) 32.767, 32.767 e 16.256.
A alternativa correta é **(A) 32.767, 32.767 e 32.767**. No Oracle 12c, os tamanhos máximos dos tipos de dados estendidos são os seguintes: - **VARCHAR2**: pode ter um tamanho máximo de até **32.767 bytes**. - **NVARCHAR2**: também pode ter um tamanho máximo de até **32.767 bytes**. - **RAW**: o tamanho máximo para **RAW** também é **32.767 bytes**. Essas mudanças significativas permitem que os desenvolvedores trabalhem com strings e dados binários maiores em comparação com as limitações anteriores antes do Oracle 12c. Portanto, a resposta correta é **(A) 32.767, 32.767 e 32.767**. Gabarito: A
393
26. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação) /2018 No âmbito do Oracle Data Guard, o Oracle Database 12cR1 implementa uma standby role que realiza a coordenação entre o database primário e todos seus standby databases. Trata-se de um (A) standby database em cascata que usa RMAN ativo para receber os redo logs de outro standby database chamado DSync Standby. (B) standby database em cascata que recebe os redo logs de um primary database e atua como um repositório de archivelogs, chamado RouterSync Standby. (C) secondary standby database específico chamado RemoteSync Standby que usa RMAN ativo para receber os redo logs do primary database. (D) primary standby database específico chamado RMAN Standby que recebe os redo logs de um outro primary database evitando, assim, a necessidade de se usar um segundo cascading standby. (E) standby database em cascata que atua como um repositório de archivelogs chamado FarSync Standby.
A versão 12cR1 implementou aprimoramentos para o comando DUPLICATE. A cláusula FOR FARSYNC cria uma instância de sincronização remota do Oracle Data Guard. Você pode usar a duplicação de banco de dados ativa ou a duplicação baseada em backup para criar uma instância de sincronização distante. Uma instância de sincronização remota do Oracle Data Guard é um destino remoto do Oracle Data Guard que aceita redo a partir do banco de dados primário e, em seguida, envia esse redo para outros membros da configuração do Oracle Data Guard. Uma instância FarSync gerencia um arquivo de controle, recebe redo em logs de reconfiguração de espera (SRLs) e arquiva esses SRLs em logs de redo locais, mas é aí que a similaridade com o standbys termina. Uma instância de sincronização FarSync não tem arquivos de dados do usuário, não pode ser aberta para acesso, não pode executar a aplicação de repetição e nunca pode funcionar na função principal ou ser convertida em qualquer tipo de banco de dados em espera. Temos a resposta da questão na letra e). Gabarito: E
394
27. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação ) / 2018 Um profissional de TI necessitava proteger, em tempo real, a exibição de diversos dados sobre benefícios e salários de empregados e também de valores de tributos devidos por contribuintes, a alguns usuários, ou seja, que os dados armazenados permanecessem inalterados, enquanto os dados a serem exibidos fossem transformados on-the-fly antes de deixarem o banco de dados. Para isto, o profissional se utilizou de uma funcionalidade que foi introduzida no pacote Advanced Security do Oracle Database 12c, chamada (A) Oracle DataPump. (B) Oracle Spot ADDM. (C) Oracle Data Redaction. (D) ASM Disk Scrubbing. (E) SecureFiles LOBs.
A alternativa correta é **(C) Oracle Data Redaction**. Justificativa: - **Oracle Data Redaction** é uma funcionalidade introduzida no Oracle Database 12c que permite ocultar ou transformar dados sensíveis em tempo real. Isso significa que, enquanto os dados originais permanecem inalterados no banco de dados, as versões redigidas (ou transformadas) são exibidas para os usuários, garantindo a proteção das informações sensíveis, como benefícios, salários e tributos. Análise das outras opções: - **(A) Oracle DataPump**: É uma ferramenta de exportação e importação de dados, não para proteção em tempo real. - **(B) Oracle Spot ADDM**: Refere-se ao Automatic Database Diagnostic Monitor, focado na performance, não na proteção de dados. - **(D) ASM Disk Scrubbing**: Está relacionado à manutenção e integridade do armazenamento, não à proteção de dados em tempo real. - **(E) SecureFiles LOBs**: Refere-se ao armazenamento eficiente de grandes objetos, mas não oferece a funcionalidade de redigitação de dados sensíveis. Portanto, a resposta correta é **(C) Oracle Data Redaction**. Gabarito: C
395
28. BANCA: FCC Sefaz/SC - Auditor-Fiscal da Receita Estadual (Tecnologia da Informação ) / 2018 Com respeito ao Automatic SQL Tuning no Oracle Database 12c, quando o SQL Tuning Advisor é executado na tarefa automática na janela de manutenção, o seu foco principal é para as instruções SQL de alta carga já executadas anteriormente, em alguns períodos específicos. No escopo global, ele verifica e analisa o comportamento dessas instruções nesses períodos, para avaliar se podem ter seu desempenho melhorado aceitando ou não o sql profile estabelecido. A análise é feita tanto com base no tempo de CPU como no de I/O. A tarefa automática tem parâmetros configuráveis, sendo dois deles, os seguintes: I. ACCEPT_SQL_PROFILES que significa aceitar o sql profile automaticamente ou não. II. MAX_AUTO_SQL_PROFILES que significa quantos profiles podem ser aceitos em geral no banco de dados Oracle em qualquer ponto no tempo. As configurações padrão (default) para esses parâmetros são, respectivamente, (A) true − 20.000. (B) false − 10.000. (C) false − 15.000. (D) true − 15.000. (E) true − 10.000.
- **ACCEPT_SQL_PROFILES**: O valor padrão para esse parâmetro é **false**. Isso significa que, por padrão, o Oracle não aceita automaticamente os SQL profiles. - **MAX_AUTO_SQL_PROFILES**: O valor padrão para esse parâmetro é **10.000**, que limita o número de SQL profiles que podem ser aceitos. Portanto, a alternativa correta é **(B) false − 10.000**. Gabarito: B
396
29. BANCA: FCC/2018 – analista em gestão (DPE AM)/ especializado em tecnologia da informação de defensoria/ analista de banco de dados Na definição do armazenamento (storage), considerando o sistema gerenciador de banco de dados Oracle 11g, para se especificar uma área inicial de 10 GB, com incrementos graduais de 1 GB, o subcomando a ser utilizado é a) STORAGE (FIRST 10G STEP 1G). b) STORAGE (PRIMARY 10G INC 1G). c) STORAGE (INITIAL 10G NEXT 1G). d) STORAGE (MAIN 10G PLUS 1G). e) STORAGE (MAJOR 10G ADD 1G).
A cláusula storage permite especificar como o Oracle Database deve armazenar um objeto de banco de dados. Os parâmetros de armazenamento afetam o tempo de acesso aos dados armazenados no banco de dados e a eficiência com que o espaço no banco de dados é usado. INITIAL: Especifica o tamanho da primeira extensão do objeto. O Oracle aloca espaço para essa extensão quando você cria o objeto de esquema. NEXT: Especifica em bytes o tamanho da próxima extensão a ser alocada ao objeto. Gabarito: C
397
30. FCC/2018 – analista em gestão (DPE AM)/ especializado em tecnologia da informação de defensoria/ analista de banco de dados Considerando o sistema gerenciador de banco de dados Oracle 11g, uma tarefa de administração é a criação de tablespaces. Dessa forma, o comando para a criação de uma tablespace do tipo bigfile, denominada b1, com arquivo de dados (datafile) d1, com 40 MB e autoextensível é a) CREATE BIGFILE TABLESPACE b1 DATAFILE ‘d1.dbf’ SIZE 40M AUTOEXTEND ON; b) CREATE ‘d1.dbf’ TABLESPACE ‘b1’40M AUTOEXTEND YES; c) CREATE DATAFILE, TABLESPACE ‘d1.dbf’, b1 SIZE 40MB AUTOEXT = 1; d) CREATE FILE 40MB TYPE BIGFILE TABLESPACE b1 DATA ‘d1.dbf’ EXTENSION ON; e) CREATE ‘d1.dbf’ TABLESPACE b1 BIGFILE SIZE 40M AUTOEXTEND ON;
A alternativa correta é **(A) CREATE BIGFILE TABLESPACE b1 DATAFILE ‘d1.dbf’ SIZE 40M AUTOEXTEND ON;**. Justificativa: - O comando apresentado está corretamente formatado para a criação de um **tablespace** do tipo **bigfile** no Oracle 11g. - O comando especifica: - **CREATE BIGFILE TABLESPACE b1**: Cria um tablespace do tipo bigfile chamado **b1**. - **DATAFILE ‘d1.dbf’**: Define o arquivo de dados como **d1.dbf**. - **SIZE 40M**: Define o tamanho inicial do arquivo de dados como 40 MB. - **AUTOEXTEND ON**: Permite que o arquivo de dados se expanda automaticamente conforme necessário. As outras opções estão incorretas em sua sintaxe ou na ordem dos parâmetros. Portanto, a resposta correta é **(A)**. Gabarito: A
398
31. BANCA: FCC - Técnico Judiciário (TRT 23ª Região)/ Apoio Especializado/ Tecnologia da Informação/2016 Com relação às estruturas que fazem parte de um banco de dados Oracle e que possuem um papel importante na reconstrução do banco de dados a partir de um backup, o banco de dados consiste em uma ou mais unidades de armazenamento lógico chamadas tablespaces, que consistem em um ou mais arquivos chamados datafiles. a) quando os dados são modificados no banco de dados, o que foi modificado é gravado primeiro no online redo log, depois, é aplicado nos datafiles. Apesar de sua função de repositório intermediário, o redo log não guarda o registro das alterações feitas nos datafiles. b) quando os dados em um datafile são atualizados, imagens anteriores destes dados são gravados em offline redo logs. Se uma transação é revertida, as informações dos redo logs são usadas para restaurar o conteúdo do datafile original. c) o control file contém apenas informações das estruturas lógicas do banco de dados, como tablespaces, extends e segments. Mantém também o registro de todas as operações realizadas nos datafiles. d) um segment é a menor estrutura de armazenamento do Oracle e seu tamanho, baseado no parâmetro DB_BLOCK_SIZE, é normalmente um múltiplo do tamanho de um bloco do Sistema Operacional.
Vamos comentar cada uma das alternativas. a) Um banco de dados Oracle consiste em uma ou mais unidades de armazenamento lógicas denominadas tablespaces, que armazenam coletivamente todos os dados do banco de dados. Cada tablespace em um banco de dados Oracle consiste em um ou mais arquivos denominados arquivos de dados (datafiles), que são estruturas físicas compatíveis com o sistema operacional no qual o Oracle é executado. Sendo assim, essa é a nossa resposta. b) O redo guarda as informações que são alteradas por algum tempo. Se o banco estiver em modo archive, ele redireciona essas informações para o archivelog. Logo, temos uma afirmação incorreta. c) Não existe offline redo logs. A UNDO Tablespace armazena os dados das transações finalizadas e assim é possível fazer o undo. d) As informações que o arquivo de controle possui são: nome do banco de dados, data de criação do banco de dados, os nomes e localizações de cada datafile e redo log associados ao banco de dados, informações sobre as tablespaces, possíveis datafiles com status offline, o histórico de logs, informações sobre os archives gerados, backup sets e backup pieces gerados pelo RMAN, backups de datafiles e informações de redo log, cópia de datafiles, o valor atual do número da sequência do log e informações de checkpoint. Bem mais informações do que as sugeridas pela alternativa. e) Sabemos que a menor estrutura de armazenamento do Oracle é o bloco, logo temos mais uma assertiva incorreta. Gabarito: A
399
32. BANCA: FCC - Analista Judiciário (TRT 14ª Região)/Apoio Especializado/ Tecnologia da Informação/2016 Em uma empresa, um servidor Oracle 11g apresentou um problema e o disco no qual se localizavam os arquivos do banco de dados foi danificado e perderam-se todos os arquivos (control files, datafiles, online redo log files etc.), porém, o disco no qual estava a flash recovery area ficou intacto. Neste caso, a) não será possível restaurar um backup do banco de dados, pois os control files, datafiles e online redo log files foram perdidos. b) será possível restaurar um backup do banco de dados utilizando o aplicativo DUMP ou RESTORE a partir da flash recovery area. c) não será possível restaurar um banco de dados porque o servidor sempre fica off-line quando o disco é danificado, impedindo o acesso à flash recovery area. d) será possível restaurar um backup RMAN em conjunto com os archive redo log files contidos na flash recovery area. e) não será possível restaurar o banco de dados, pois o software Oracle foi corrompido e o disco no qual se localizavam os arquivos do banco de dados foi danificado.
A alternativa correta é: **d) será possível restaurar um backup RMAN em conjunto com os archive redo log files contidos na flash recovery area.** **Justificativa:** - Mesmo com a perda dos control files, datafiles e online redo log files, a Flash Recovery Area (FRA) pode conter backups e logs de arquivamento, que podem ser utilizados para restaurar o banco de dados. Com os backups do RMAN e os redo logs arquivados disponíveis na FRA, é possível recuperar o banco de dados ao último ponto de consistência. Gabarito: D
400
33. BANCA: FCC - Analista de Tecnologia da Informação (CREMESP)/Administração de Banco de Dados/2016 Manager (RMAN) é um recurso do Oracle 11g que executa tarefas de backup e recuperação, automatizando o trabalho das estratégias de backup de um DBA. O ambiente do RMAN possui componentes mínimos e opcionais que incluem: I. Área de disco na qual o banco de dados pode armazenar e manipular os arquivos envolvidos no backup e recuperação. A localização desta área é indicada no parâmetro DB_RECOVERY_FILE_DEST. II. Componente que controla os dispositivos durante o backup e recuperação, gerenciando o carregamento, labeling e descarregamento. Os dispositivos são chamados de SBT − System Backup to Tape. III. Executável que interpreta comandos, direciona sessões do servidor para executar os comandos e registra as atividades no arquivo de controle do target database. Os componentes de I a III são, correta e respectivamente, a) File Recovery Area − Media Manager − RMAN executable. b) Disk Recovery Area − Device Backup Manager − target client. c) Fast Recovery Area − Media Manager − RMAN client. d) Fast Recovery Area − Device Backup Manager − target client. e) File Recovery Area − Recovery Manager − RMAN client.
A alternativa correta é: **c) Fast Recovery Area − Media Manager − RMAN client.** **Justificativa:** 1. **Fast Recovery Area**: É uma área no disco que armazena backups, arquivos de recuperação, e outros arquivos necessários para a recuperação do banco de dados. 2. **Media Manager**: É o componente responsável por gerenciar os dispositivos de armazenamento durante o backup e recuperação, especialmente em operações que envolvem fitas. 3. **RMAN client**: Refere-se ao cliente que executa comandos RMAN para interagir com o banco de dados durante as operações de backup e recuperação. Gabarito: C
401
34. BANCA: FCC - Agente de Defensoria Pública (DPE SP)/ Administrador de Banco de Dados / 2015 Sobre as estruturas de armazenamento do sistema gerenciador de banco de dados Oracle 11g é correto afirmar: a) Cada tablespace é mapeado em um único bloco de dados. b) Um datafile é mapeado em mais de um tablespace. c) Cada segmento possui uma única extensão (extent). d) Um tablespace pode ser composto por um ou mais segmentos. e) Uma extensão é mapeada em mais de um datafile.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces ---------------------------- A alternativa correta é: **d) Um tablespace pode ser composto por um ou mais segmentos.** **Justificativa:** - **Tablespace**: É uma unidade lógica de armazenamento que pode conter múltiplos segmentos. Cada segmento, que armazena dados de uma tabela ou índice, ocupa espaço dentro do tablespace. - As outras alternativas estão incorretas: - **a)** Um tablespace pode ser mapeado em múltiplos datafiles, não em um único bloco de dados. - **b)** Um datafile é mapeado a um único tablespace. - **c)** Cada segmento pode ter múltiplas extensões (extents). - **e)** Uma extensão (extent) é mapeada em um único datafile. Gabarito: D
402
35. BANCA: FCC - Técnico Judiciário (TRT 16ª Região)/Apoio Especializado/ Tecnologia da Informação/2014 No Oracle, uma base de dados física consiste de arquivos armazenados no disco e uma instância lógica consiste de estruturas e processos na memória do servidor. Os três tipos fundamentais de arquivos físicos que compõem uma base de dados Oracle 11g são: arquivos de controle, arquivos de log de repetição e arquivos de a) modelagem multidimensional. b) comunicação com linguagens de programação. c) integração. d) mineração de dados. e) dados.
A alternativa correta é: **e) dados.** **Justificativa:** No Oracle, os três tipos fundamentais de arquivos físicos que compõem uma base de dados são: 1. **Arquivos de controle (control files)**: Armazenam informações sobre a estrutura da base de dados e a localização dos outros arquivos. 2. **Arquivos de log de repetição (redo log files)**: Mantêm um registro das alterações feitas na base de dados para garantir a recuperação em caso de falha. 3. **Arquivos de dados (data files)**: Contêm os dados reais do banco de dados. As outras opções não se referem a tipos de arquivos físicos que compõem uma base de dados Oracle. Gabarito: E
403
36. BANCA: FCC - Analista Judiciário (TRT 13ª Região)/Apoio Especializado/Tecnologia da Informação/2014 Considere o texto abaixo: O Oracle 11g possui ferramentas para gestão de banco de dados que fornecem orientação específica sobre como lidar com os principais desafios de gestão de dados. Uma dessas ferramentas analisa comandos SQL e faz recomendações de como melhorá-los. Esta ferramenta pode ser executada automaticamente durante os períodos de manutenção (normalmente à noite). Durante cada execução automática, ela seleciona consultas SQL de alta carga (high-load) e gera recomendações para ajustar essas consultas. Permite realizar análises estatísticas, criação de perfis SQL, análise de caminho de acesso e análise de estruturas SQL. O texto descreve uma ferramenta conhecida como a) SQL Tuning Advisor. b) SQL Access Advisor. c) Automatic Database Diagnostic Monitor. d) SQL Analysis Advisor. e) SQL Performance Impact Advisor.
A alternativa correta é: **a) SQL Tuning Advisor.** **Justificativa:** O SQL Tuning Advisor é uma ferramenta do Oracle que analisa comandos SQL e faz recomendações para melhorá-los. Ele é projetado para ser executado automaticamente em períodos de manutenção, selecionando consultas de alta carga e gerando recomendações para otimização. Além disso, permite a realização de análises estatísticas e a criação de perfis SQL, conforme descrito no texto. As outras opções referem-se a diferentes ferramentas ou funcionalidades que não se encaixam na descrição dada. Gabarito: A
404
37. BANCA: FCC - Analista Judiciário (TRT 1ª Região)/Apoio Especializado/Tecnologia da Informação/2014 O sistema gerenciador de Bancos de Dados Oracle 11g armazena as tabelas de dicionário de dados na tablespace A MAIN. B SYSTEM. C SYSAUX. D UNDO. E TEMP.
A alternativa correta é: **B) SYSTEM.** **Justificativa:** No Oracle 11g, as tabelas de dicionário de dados são armazenadas na tablespace SYSTEM. Essa tablespace contém as estruturas essenciais para o funcionamento do banco de dados, incluindo as informações de metadados e os dicionários de dados que descrevem a estrutura do banco de dados e suas relações. Gabarito: B
405
38. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Data warehouses geralmente contém tabelas com grande número de informações e requerem técnicas para manejá-las e prover um bom desempenho de pesquisa. O Oracle 10g provê meios de particionamento de tabelas para se adequar a este modelo. Os tipos de particionamento (partitioning) disponíveis são: Range, Hash, Composite e A Recursive. B List. C Indexed. D Neutral. E Forecast.
A alternativa correta é: **B) List.** **Justificativa:** No Oracle 10g, os tipos de particionamento disponíveis para tabelas são: Range, Hash, Composite e List. O particionamento do tipo List permite que você defina partições baseadas em um conjunto específico de valores de uma coluna. Isso é útil em cenários onde os dados precisam ser organizados de forma a facilitar o acesso e a análise. Gabarito: B
406
39. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Arquitetar e manter processos ETL é considerado por muitos uma das tarefas mais difíceis de um projeto de data warehouse. Muitos projetos deste tipo utilizam ferramentas para manter este processo. _______ , por exemplo, provê recursos de ETL e tira vantagem das capacidades de banco de dados inerentes. A lacuna acima é corretamente preenchida com Oracle A) Warehouse Builder (OWB). B) Loading Data (OLD). C) Data Transformation (ODT). D) Query and Input (OQI). E) Business Intelligence (OBI).
A alternativa correta é: **A) Warehouse Builder (OWB).** **Justificativa:** O Oracle Warehouse Builder (OWB) é uma ferramenta utilizada para facilitar o processo de ETL (Extract, Transform, Load) em projetos de data warehouse. Ele permite que os usuários integrem, transformem e carreguem dados de várias fontes, aproveitando as capacidades do banco de dados Oracle para gerenciar e processar esses dados de forma eficiente. Gabarito: A
407
40. BANCA: FCC - Agente de Defensoria Pública (DPE SP)/ Administrador de Banco de Dados / 2013 O gerenciamento de configuração é um componente fundamental nas operações de TI diárias de toda empresa. O Oracle Configuration Management Pack é a peça central da capacidade do Oracle Enterprise Manager de gerenciar configurações e automatizar os processos de TI. Um componente chave desta solução reduz o custo e atenua o risco, detectando, validando e reportando, de forma automática, alterações autorizadas e não autorizadas. Este componente é o a) Log Analiser. b) Graphical Configurator Addon. c) Configuration Change Console. d) Data Recovery Manager. e) Instant Support.
A alternativa correta é: **c) Configuration Change Console.** **Justificativa:** O **Configuration Change Console** é um componente do Oracle Configuration Management Pack que ajuda a detectar, validar e reportar alterações autorizadas e não autorizadas nas configurações dos ambientes gerenciados, ajudando assim a reduzir custos e mitigar riscos nas operações de TI. Gabarito: C
408
41. BANCA: FCC - Agente de Defensoria Pública (DPE SP)/Administrador de Banco de Dados/2013 Considere: I. O módulo de nuvem do Oracle Secure Backup é implementado por meio da interface SBT do Oracle Recovery Manager (RMAN). A interface SBT permite que bibliotecas de backup externas sejam perfeitamente integradas com este recurso. Consequentemente, os administradores do banco de dados podem continuar a usar suas ferramentas de backup existentes para realizar backups em nuvem. II. O Oracle Secure Backup aproveita a capacidade do RMAN para criptografar backups e garantir a segurança dos dados. A segurança e a privacidade dos dados são especialmente importantes em ambientes compartilhados, acessíveis publicamente, como a nuvem de armazenamento. III. A integração com o mecanismo do banco de dados Oracle permite que o Oracle Secure Backup identifique e ignore o espaço não utilizado (blocos) no banco de dados. Os usuários também se beneficiam dos recursos sofisticados de compressão do RMAN. No momento de transmissão de backups em redes mais lentas, como a Internet pública, qualquer redução no tamanho do backup é percebida diretamente como um aumento no desempenho do backup. Está correto o que consta em a) I, apenas. b) I e II, apenas. c) III, apenas. d) II e III, apenas. e) I, II e III.
A alternativa correta é: **e) I, II e III.** **Justificativa:** Todas as afirmativas estão corretas: 1. **I.** O módulo de nuvem do Oracle Secure Backup utiliza a interface SBT do RMAN, permitindo que bibliotecas de backup externas sejam integradas. 2. **II.** O Oracle Secure Backup pode criptografar backups, garantindo a segurança e a privacidade dos dados em ambientes de nuvem. 3. **III.** A integração com o banco de dados Oracle permite que o Oracle Secure Backup identifique e ignore espaços não utilizados, além de se beneficiar da compressão oferecida pelo RMAN. Gabarito: E
409
43. BANCA: FCC - Analista Ministerial (MPE MA)/Banco de Dados/2013 Quando uma base de dados é criada no Sistema Gerenciador de Bancos de Dados Oracle, são criadas, automaticamente, duas contas administrativas, cujas denominações são a) FILE e SNAME. b) FORCE e MAXLOG. c) SQLU e ROLL. d) SYS e SYSTEM. e) SID e SGA.
A alternativa correta é: **d) SYS e SYSTEM.** **Justificativa:** Quando uma base de dados é criada no Oracle Database, as duas contas administrativas padrão que são criadas automaticamente são `SYS` e `SYSTEM`. O usuário `SYS` é o dono do dicionário de dados e tem privilégios completos, enquanto `SYSTEM` é um usuário administrativo com permissões de gerenciamento e administração do banco de dados. Gabarito: D
410
44. BANCA: FCC ANO: 2012 ÓRGÃO: TRE-CE PROVA: TÉCNICO DO JUDICIÁRIO - PROGRAMADOR DE SISTEMAS Sobre os mecanismos de segurança do banco de dados Oracle é correto afirmar: A Como os papéis permitem o gerenciamento mais fácil e mais eficaz dos privilégios, eles podem ser concedidos a outros papéis. B A única forma de atribuir privilégios a um usuário é por meio de papéis. C Privilégios para criar um tablespace ou para excluir linhas de qualquer tabela do banco de dados não são considerados privilégios de sistema. D Todo usuário de um banco de dados pode acessar qualquer esquema desse banco, sem restrições. E Um domínio de segurança no Oracle permite determinar papéis e privilégios para um usuário, entretanto, não permitem definir cotas de tablespaces e limite de recursos da CPU.
A alternativa correta é: **A) Como os papéis permitem o gerenciamento mais fácil e mais eficaz dos privilégios, eles podem ser concedidos a outros papéis.** **Justificativa:** - **A)** É correto, pois os papéis no Oracle permitem agrupar privilégios e podem ser concedidos a outros papéis, facilitando o gerenciamento de segurança. - **B)** É incorreto, pois privilégios também podem ser atribuídos diretamente a usuários, sem a necessidade de papéis. - **C)** É incorreto, pois privilégios para criar um tablespace e excluir linhas de tabelas são considerados privilégios de sistema. - **D)** É incorreto, pois o acesso a esquemas é controlado por privilégios, e um usuário não pode acessar qualquer esquema sem as permissões adequadas. - **E)** É incorreto, pois domínios de segurança também permitem definir cotas de tablespaces e limites de recursos, além de papéis e privilégios. Gabarito: A
411
45. BANCA: FCC ANO: 2012 ÓRGÃO: TRE-CE PROVA: ANALISTA JUDICIÁRIO - ANALISTA DE SISTEMAS Visão do Oracle 10g que apresenta uma lista das diferentes métricas que dão uma estimativa da saúde do banco de dados e especifica uma condição sob a qual um alerta será emitido se a métrica alcançar o limiar ou exceder um valor especificado. Trata-se de A) DB_RECOVERY_FILE_DEST. B) DBA_TABLESPACES. C) DBA_THRESHOLDS. D) DBA_FREE_SPACE. E) DBA_SEGMENTS.
A alternativa correta é: **C) DBA_THRESHOLDS.** **Justificativa:** - **DBA_THRESHOLDS** fornece informações sobre limites (thresholds) estabelecidos para várias métricas do banco de dados. Quando uma métrica atinge ou ultrapassa um valor específico, um alerta é emitido, permitindo que os administradores do banco de dados monitorem a saúde do sistema. - As outras opções são: - **A)** DB_RECOVERY_FILE_DEST: parâmetro que especifica a localização da área de recuperação. - **B)** DBA_TABLESPACES: contém informações sobre tablespaces no banco de dados. - **D)** DBA_FREE_SPACE: fornece informações sobre o espaço livre disponível em tablespaces. - **E)** DBA_SEGMENTS: contém informações sobre os segmentos no banco de dados. Gabarito: C
412
46. BANCA: FCC - Analista Judiciário (TST)/ Apoio Especializado/ Suporte em Tecnologia da Informação/2012 Um banco de dados criado por meio do SGBD dados Oracle, versão 11g, tem uma estrutura lógica e física peculiares, tendo como característica: a) um segmento contém exatamente uma extensão. b) o tablespace não comporta mais de um datafile. c) um mesmo tablespace pode ser utilizado por vários bancos de dados, simultaneamente. d) o banco de dados pode conter um ou mais tablespaces. e) um segmento pode ser dividido em vários tablespaces.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces ------------------------------ A resposta correta é a alternativa **d) o banco de dados pode conter um ou mais tablespaces**. Explicação: - **Tablespace** é uma estrutura lógica no banco de dados Oracle, utilizada para agrupar os objetos de banco de dados, como tabelas, índices, etc. Um banco de dados pode conter múltiplos tablespaces, permitindo a organização dos dados de forma segmentada. - **Extensões** e **segmentos** são outras unidades de alocação de espaço: um segmento é composto de várias extensões, não de apenas uma, como diz a alternativa **a**. - **Datafiles** são os arquivos físicos que armazenam dados, e um **tablespace** pode conter múltiplos datafiles, o que torna a alternativa **b** incorreta. - Um **tablespace** pertence a um único banco de dados, e não pode ser compartilhado simultaneamente por vários bancos de dados, invalidando a alternativa **c**. - Segmentos pertencem a um único tablespace e não podem ser divididos em vários tablespaces, o que torna a alternativa **e** incorreta. Gabarito: D
413
47. BANCA: FCC - Analista Judiciário (TRE CE)/ Apoio Especializado/ Análise de Sistemas/2012 No banco de dados Oracle 10g, os segmentos a) são as unidades mais básicas de armazenamento dentro das tuplas. b) são as menores unidades de armazenamento, também chamados tablespaces. c) estão um nível acima na hierarquia dos agrupamentos lógicos ou grids. d) são agrupados em uma ou mais estruturas lógicas que são as views. e) contêm todos os dados de um agrupamento lógico dentro de um tablespace.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces ---------------------------------------- A resposta correta é a alternativa **e) contêm todos os dados de um agrupamento lógico dentro de um tablespace**. Explicação: - **Segmentos** no Oracle são unidades de armazenamento lógico que contêm todos os dados de um determinado agrupamento lógico, como tabelas, índices, ou outras estruturas de dados. Esses segmentos estão contidos dentro de um **tablespace**, que é uma unidade lógica de armazenamento. - A alternativa **a** é incorreta, pois **tuplas** são linhas em uma tabela, e segmentos não atuam nesse nível de granularidade. - A alternativa **b** está errada porque os **tablespaces** não são as menores unidades de armazenamento. A menor unidade é o **bloco de dados**. - A alternativa **c** também está incorreta, pois segmentos não estão acima de agrupamentos lógicos ou grids. Segmentos são agrupados em **extensões** e **blocos**, que estão abaixo dos **tablespaces** na hierarquia. - A alternativa **d** é incorreta, pois **views** são estruturas lógicas que apresentam dados de tabelas, mas não estão relacionadas com o agrupamento físico dos segmentos. Portanto, a opção **e** reflete corretamente a função dos segmentos no Oracle. Gabarito: E
414
48. BANCA: FCC - Analista Judiciário (TRE PE)/Apoio Especializado/Análise de Sistemas/2011 O processo de background Oracle que executa a recuperação, se necessário, na inicialização da instância e que é responsável pela limpeza dos segmentos temporários que não estão mais em uso é o a) Process Monitor Process (PMON). b) Checkpoint Process (CKPT). c) System Monitor Process (SMON). d) Log Writer Process (LGWR). e) Recoverer Process (RECO).
O gabarito é a letra C), pois o processo System Monitor (SMON) verifica a consistência no banco de dados, localizando e validando o arquivo de controle no momento em que o banco é montado e, se necessário, inicia a recuperação do banco de dados quando ele é aberto. Além desta funcionalidade, o SMON é responsável por unir espaços livres nos tablespaces, se eles forem gerenciados pelo dicionário. Gabarito: C
415
49. BANCA: FCC - Analista Judiciário (TRE PE)/Apoio Especializado/ Análise de Sistemas/2011 Contém apenas estruturas de armazenamento lógico do banco de dados Oracle: a) data blocks, extents e segments. b) datafiles, extents e segments. c) datafiles, redo log files e control files. d) datafiles, data blocks e control files. e) control files, redo log files e data blocks.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces -------------------------------------- A resposta correta é a alternativa **a) data blocks, extents e segments**. Explicação: Esses três termos referem-se a **estruturas de armazenamento lógico** no banco de dados Oracle: - **Data blocks**: A menor unidade de armazenamento lógico no Oracle. Um bloco de dados corresponde a uma unidade de espaço no disco. - **Extents**: Um conjunto de blocos de dados contíguos. Um segmento pode ter várias extensões. - **Segments**: Coleções de extensões que armazenam os dados de uma estrutura lógica, como uma tabela ou índice. As demais alternativas estão incorretas porque: - **Datafiles, control files e redo log files** são **estruturas físicas** de armazenamento, não lógicas. - As combinações de arquivos físicos e lógicos nas outras alternativas são incorretas para representar exclusivamente as **estruturas lógicas** do banco de dados. Portanto, a única opção que contém apenas estruturas de armazenamento **lógico** é a alternativa **a**. Gabarito: A
416
50. BANCA: FCC - Agente de Defensoria Pública (DPE SP)/Administrador de Banco de Dados/2010 As entradas da estrutura física do database ORACLE 10g são especificadas no a) Control file. b) Data file. c) Parameter file. d) Archive log file. e) Redo log file.
O gabarito é letra a), pois um arquivo de controle contém informações sobre o banco de dados associado que é necessário para acesso por uma instância, tanto na inicialização quanto durante a operação normal. As informações do arquivo de controle podem ser modificadas apenas pelo Oracle Database; nenhum administrador de banco de dados ou usuário pode editar um arquivo de controle. Entre outras coisas, um arquivo de controle contém informações como: ● O nome do banco de dados ● O registro de data e hora da criação do banco de dados ● Os nomes e localizações de arquivos de dados associados e arquivos de redo log ● Informação de espaço de tabelas ● Intervalos offline de arquivos de dados ● O histórico de log ● Informação de log arquivada ● Conjunto de backup e informações de peça de backup ● Arquivo de dados de backup e informações de log de redo ● Informações de cópia do arquivo de dados ● O número de sequência do log atual ● Informação do ponto de verificação Gabarito: A
417
51. BANCA: FCC - Agente de Defensoria Pública (DPE SP)/ Administrador de Banco de Dados/2010 A sequência, do menor para o maior nível de granulidade, das unidade de alocação de espaço no ORACLE 10g é (extent, data block e segment). a) segment, data block e extent. b) data block, extent e segment. c) segment, extent e data block. d) data block, segment e extent.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces ------------------------------------------- As unidades de alocação de espaço do banco de dados são blocos de dados, extensões e segmentos. Data blocks: No nível mais refinado de granularidade, o Oracle Database armazena dados em blocos de dados (também chamados de blocos lógicos, blocos do Oracle ou páginas). Um bloco de dados corresponde a um número específico de bytes do espaço físico do banco de dados no disco. Extents: O próximo nível de espaço lógico do banco de dados é uma extensão. Uma extensão é um número específico de blocos de dados contíguos alocados para armazenar um tipo específico de informação. Segments: O nível de armazenamento lógico do banco de dados maior que uma extensão é chamado de segmento. Um segmento é um conjunto de extensões, cada uma das quais foi alocada para uma estrutura de dados específica e todas elas são armazenadas no mesmo espaço de tabela. Por exemplo, os dados de cada tabela são armazenados em seu próprio segmento de dados, enquanto os dados de cada índice são armazenados em seu próprio segmento de índice. Se a tabela ou índice estiver particionado, cada partição será armazenada em seu próprio segmento. Gabarito: C
418
52. BANCA: FCC - Analista do Ministério Público de Sergipe/Informática I/Gestão e Análise de Projeto de Infraestrutura/2010 Strings de caracteres de tamanho fixo são armazenados em um banco de dados ORACLE por meio do tipo de dados a) char ou nchar. b) varchar ou nvarchar. c) char ou varchar2. d) varchar ou varchar2. e) nchar ou nvarchar.
A resposta correta é a alternativa **a) char ou nchar**. Explicação: - **CHAR**: É um tipo de dado utilizado para armazenar strings de caracteres de tamanho fixo. Se a string armazenada for menor que o tamanho especificado, o banco de dados preenche o restante com espaços em branco. - **NCHAR**: Similar ao CHAR, mas utilizado para armazenar caracteres em conjuntos de caracteres multibyte (Unicode), também com tamanho fixo. As outras alternativas são incorretas por essas razões: - **b) varchar ou nvarchar**: `VARCHAR` e `NVARCHAR` são tipos de dados que armazenam strings de tamanho variável, não fixo. - **c) char ou varchar2**: Enquanto `CHAR` é de tamanho fixo, `VARCHAR2` é de tamanho variável. - **d) varchar ou varchar2**: Ambas são de tamanho variável. - **e) nchar ou nvarchar**: Similar a `CHAR` e `VARCHAR`, `NCHAR` é de tamanho fixo e `NVARCHAR` é de tamanho variável. Portanto, as strings de caracteres de tamanho fixo são armazenadas em um banco de dados Oracle por meio dos tipos de dados **char ou nchar**. Gabarito: A
419
53. BANCA: FCC Analista do Ministério Público de Sergipe/ Informática I/Gestão e Análise de Projeto de Infraestrutura/2010 Uma instância do banco de dados ORACLE é constituída a) pela área global do sistema (SGA) e pelos processos user, server e background. b) pelos processos user, server e background, apenas. c) pelos processos user e server, apenas. d) pela área global do sistema (SGA) e pelos processos background, apenas. e) pela área global do sistema (SGA) e pelos processos user, apenas.
Uma instância é formada pela área global do sistema (SGA) e pelos processos background. Todo banco de dados Oracle em execução é associado a uma instância de banco de dados Oracle. Quando um banco de dados é iniciado em um servidor de banco de dados (independentemente do tipo de computador), o Oracle aloca uma área de memória chamada Área do Sistema Global (SGA) e inicia um ou mais processos de banco de dados Oracle. Esta combinação da SGA e dos processos Oracle é chamado de uma instância Oracle. A memória e os processos de uma instância gerenciam os dados do banco associado de forma eficiente e serve a um ou vários usuários de banco de dados. Gabarito: D
420
54. BANCA: FCC - Analista do Ministério Público de Sergipe/Informática I/Gestão e Análise de Projeto de Infraestrutura/2010 O modo de execução no qual o ORACLE copia os online redo logs cheios para o disco é denominado a) commit. b) rolling back. c) rolling forward. d) checkpoint. e) archivelog.
O ARCHIVELOG mode é modo do banco de dados no qual as cópias do Oracle Database preencheram os redo logs on-line para o disco. Especifique o modo na criação do banco de dados ou usando a instrução ALTER DATABASE. Você pode ativar o arquivamento automático dinamicamente usando a instrução ALTER SYSTEM ou definindo o parâmetro de inicialização LOG_ARCHIVE_START como TRUE. Executar o banco de dados no modo ARCHIVELOG tem várias vantagens sobre o modo NOARCHIVELOG. Você pode: - Fazer backup do banco de dados enquanto ele estiver aberto e sendo acessado pelos usuários. - Recuperar o banco de dados para qualquer ponto desejado no tempo. Para proteger o banco de dados do modo ARCHIVELOG em caso de falha, faça backup dos logs arquivados. Gabarito: E
421
55. BANCA: FCC - Analista do Ministério Público de Sergipe/ Informática I/Gestão e Análise de Projeto de Infraestrutura/2010 NÃO se trata de um componente da estrutura lógica de um banco de dados ORACLE: a) tablespaces. b) schema objects. c) control files. d) data blocks. e) segments.
"B.E.S.T." — Blocos, Extensões, Segmentos e Tablespaces ----------------------------------------------- A resposta correta é a alternativa **c) control files**. Explicação: - **Tablespaces**: São estruturas lógicas que agrupam objetos de banco de dados, como tabelas e índices. - **Schema objects**: Referem-se aos objetos que existem dentro de um schema, como tabelas, índices, views, etc. - **Data blocks**: São a menor unidade de armazenamento lógico dentro do Oracle, armazenando os dados reais. - **Segments**: São agrupamentos de extensões que contêm os dados de um objeto lógico, como uma tabela. Os **control files**, por outro lado, são considerados componentes da **estrutura física** do banco de dados. Eles contêm informações sobre a estrutura do banco de dados e a localização dos arquivos de dados, mas não são parte da estrutura lógica em si. Portanto, a alternativa **c) control files** é a que não se trata de um componente da estrutura lógica de um banco de dados Oracle. Gabarito: C
422
56. BANCA: FCC ANO: 2009 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO São apenas tipos de objetos de um schema Oracle: A) table, index, cluster e profile. B) table, index, cluster e view. C) table, tablespace, index e cluster. D) tablespace, index, cluster e directory. E) tablespace, index, cluster e view
A resposta correta é a alternativa **B) table, index, cluster e view**. Explicação: No Oracle, os **objetos de um schema** incluem: - **Table**: Uma estrutura que armazena dados em formato de linhas e colunas. - **Index**: Uma estrutura que melhora a velocidade das operações de consulta em uma tabela. - **Cluster**: Um método de armazenamento que agrupa tabelas que são frequentemente acessadas juntas. - **View**: Uma tabela virtual que é baseada em resultados de uma consulta. As outras alternativas incluem itens que não são objetos de um schema: - **C) tablespace**: Não é um objeto de schema, mas sim uma estrutura de armazenamento lógico que agrupa objetos de banco de dados. - **D) directory**: Refere-se a um objeto de sistema que armazena informações sobre diretórios de arquivos, não é um objeto de schema padrão. - **A) profile**: Usado para controlar os recursos e limites de usuários, mas também não é um objeto de schema. Portanto, a alternativa **B) table, index, cluster e view** representa apenas tipos de objetos que pertencem a um schema no Oracle.
423
57. BANCA: FCC ANO: 2009 ÓRGÃO: TRT - 15ª REGIÃO (CAMPINAS-SP) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Cada database Oracle tem I. um ou mais datafiles. II. um control file. III. um conjunto de dois ou mais redo log files. Está correto o que consta em A) I, II e III. B) I, somente. C) II, somente. D) I e II, somente. E) I e III, somente.
A resposta correta é a alternativa **A) I, II e III**. Explicação: Cada **database** Oracle é composto por: I. **Um ou mais datafiles**: Cada banco de dados Oracle deve ter pelo menos um datafile, que armazena os dados efetivos do banco. II. **Um control file**: Um banco de dados Oracle precisa ter pelo menos um control file, que contém informações cruciais sobre a estrutura do banco de dados. III. **Um conjunto de dois ou mais redo log files**: Para garantir a recuperação dos dados, um banco de dados Oracle deve ter pelo menos dois redo log files, que armazenam informações sobre todas as alterações realizadas no banco de dados. Portanto, todas as afirmações (I, II e III) estão corretas, fazendo da alternativa **A) I, II e III** a resposta correta. Gabarito: A
424
58. BANCA: FCC ANO: 2008 ÓRGÃO: TRT - 2ª REGIÃO (SP) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO O Oracle copiará os arquivos online redo logs cheios para o disco se a base de dados estiver em execução no modo A) undo. B) restricted. C) dedicated. D) archivelog. E) backup.
A resposta correta é a alternativa **D) archivelog**. Explicação: Quando um banco de dados Oracle está em modo **archivelog**, os arquivos **online redo logs** que estão cheios são copiados para arquivos de log arquivados, permitindo que as transações sejam preservadas para fins de recuperação. Esse modo é essencial para garantir a recuperação de dados após falhas e permite a realização de backups consistentes. As outras opções não se aplicam ao processo de cópia dos redo logs cheios: - **A) undo**: Refere-se ao espaço de armazenamento utilizado para desfazer transações, mas não está relacionado à cópia de redo logs. - **B) restricted**: É um modo que limita o acesso ao banco de dados, mas não afeta diretamente a cópia de redo logs. - **C) dedicated**: Refere-se a um tipo de conexão onde um processo de servidor é dedicado a uma única sessão de usuário, mas não tem relação com o modo de gerenciamento de redo logs. - **E) backup**: Não é um modo de operação, mas um processo que pode ser realizado no banco de dados. Portanto, a alternativa correta é **D) archivelog**. Gabarito: D
425
59. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Analista de Sistemas Questão: 74 Um sistema gerenciador de banco de dados (SGBD) instalado no Linux deve ser configurado de modo a permitir os seguintes requisitos: I no máximo, 1000 conexões simultâneas; II somente conexões originadas a partir do servidor de aplicação com IP 10.10.10.2. Tendo como referência essas informações, julgue os seguintes itens. 74 Caso o SGBD instalado seja o Oracle 12C, os requisitos I e II podem ser atendidos em tempo de execução, respectivamente, por meio dos comandos SET system sessions = 1000 e SET system listener = 10.10.10.2.
A afirmativa é **falsa**. Explicação: 1. **Requisito I (no máximo, 1000 conexões simultâneas)**: - Para limitar o número de conexões simultâneas em um banco de dados Oracle 12c, o comando correto seria ajustar o parâmetro **`sessions`** no **`init.ora`** ou usando o **`ALTER SYSTEM`**. O comando **`SET system sessions = 1000`** não é correto. A maneira adequada seria: ```sql ALTER SYSTEM SET sessions = 1000 SCOPE=BOTH; ``` - Isso configura o número máximo de sessões que podem ser abertas. 2. **Requisito II (somente conexões originadas a partir do servidor de aplicação com IP 10.10.10.2)**: - O comando **`SET system listener = 10.10.10.2`** não é uma forma válida de restringir conexões a um IP específico no Oracle. A configuração de restrições de IP é normalmente feita no nível do sistema operacional (usando firewalls, por exemplo) ou através da configuração do **Listener** do Oracle em **`listener.ora`**, onde você pode especificar quais endereços IP podem se conectar. Portanto, ambos os comandos citados na questão não atendem corretamente os requisitos propostos. Gabarito: E
426
60. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Analista de Sistemas Questões: 83 a 85 Acerca do Oracle 12C, julgue os próximos itens. 83 Especialmente voltado para o armazenamento de dados de sistemas de suporte a decisão (DSS) e data warehouse, os dados no Oracle podem ser armazenados em uma nova área opcional denominada In-Memory (IM). A IM é um suplemento que substitui a system global area (SGA), pois se sobrepõe ao cache de buffer do banco de dados, permitindo alto poder de processamento ao varrer dados colunares rapidamente por meio de vetorização. 84 Os dados nos SGBDs são organizados em blocos, em que os sistemas de suporte à decisão (DSS) e os ambientes de banco de dados de data warehouse tendem a se beneficiar de valores de tamanho de bloco maiores. 85 Os blocos de dados são organizados em cabeçalho (row header) e dados (column data); a cada nova transação, o registro é armazenado como uma nova linha na tabela e, assim, um registro é armazenado em várias colunas em blocos de dados no disco.
Aqui está a análise dos itens 83 a 85 sobre o Oracle 12c: **83.** **Afirmativa: Falsa.** A **In-Memory (IM)** no Oracle 12c é uma opção que complementa, mas **não substitui a System Global Area (SGA)**. A In-Memory Column Store (IMCS) permite armazenar dados no formato colunar para otimizar consultas analíticas e aumentar o desempenho em sistemas de suporte à decisão (DSS) e data warehouses. Ela **não substitui o cache de buffer**, mas trabalha em conjunto com ele, oferecendo uma abordagem híbrida onde os dados podem ser armazenados tanto no formato de linhas (tradicional) quanto no formato de colunas (In-Memory). **84.** **Afirmativa: Verdadeira.** Nos sistemas de suporte à decisão (DSS) e data warehouses, o uso de blocos de dados maiores geralmente é benéfico, pois permite que grandes volumes de dados sejam lidos em uma única operação de E/S (entrada/saída). Ambientes de data warehouse costumam usar blocos maiores para melhorar o desempenho de consultas que varrem grandes quantidades de dados, minimizando a sobrecarga de E/S. **85.** **Afirmativa: Verdadeira.** Os blocos de dados no Oracle realmente são organizados em **cabeçalho (row header)** e **dados (column data)**. Cada transação que insere ou modifica uma linha pode resultar em um novo registro de dados, e os registros são armazenados dentro de blocos de dados. Cada linha é armazenada com seus dados de colunas associadas, e o Oracle pode distribuir esses dados entre vários blocos de dados, especialmente quando o tamanho da linha excede o tamanho do bloco. Assim, quando os dados de uma linha ocupam mais espaço do que o tamanho do bloco permite, essa linha pode ser dividida e distribuída entre diferentes blocos. Portanto, os itens são: - **83: Falsa** - **84: Verdadeira** - **85: Verdadeira** Gabarito: E C C
427
61. BANCA: Cespe - Analista Judiciário (TRT 8ª Região)/Apoio Especializado/Tecnologia da Informação/2016 Julgue o item seguinte, relativo ao banco de dados Oracle. AWR (automatic workload repository) é um repositório de informações de estatísticas de desempenho que possibilita a detecção de problemas.
A questão está correta. O AWR (Automatic Workload Repository, Repositório Automático de Carga de Trabalho) é um repositório interno que contém estatísticas de desempenho usadas pelo Banco de Dados Oracle para fins de detecção de problemas e autoajuste. Em intervalos regulares, o Oracle Database faz uma verificação instantânea de estatísticas vitais e informações de carga de trabalho e as armazena no AWR. Os dados contidos no AWR são analisados pelo Automatic Database Diagnostic Monitor (ADDM). Gabarito: C
428
62. BANCA: Cespe - Analista Judiciário (TRT 8ª Região)/Apoio Especializado/Tecnologia da Informação/2016 Assinale a opção referente ao arquivo que grava todas as mudanças realizadas no DataBase e que é utilizado somente para recuperação de uma instância em um SGBD Oracle. a) Parameter log file b) Archive log file c) Undo file d) Control file e) Alert log file
O gabarito é a letra b). Os archiver processes (ARCn) copiam os arquivos de redo log para um dispositivo de armazenamento designado após a ocorrência de um log alternativo. Além disso, eles podem coletar dados de redo de transação e transmitir esses dados para destinos em espera. Os processos ARCn estão presentes apenas quando o banco de dados está no modo ARCHIVELOG e o arquivamento automático está ativado. Gabarito: B
429
63. BANCA: Cespe - Analista Administrativo (ANTT)/Tecnologia da Informação / Infraestrutura de TI / 2013 No que se refere ao sistema de gerenciamento de banco de dados (SGBD) Oracle e ao sistema operacional Linux, julgue o item seguinte. No Oracle, uma das vantagens de se utilizar o ASM (automatic storage management) é a possibilidade de adição de um novo dispositivo de disco ao banco de dados sem o desligamento deste.
A afirmação está **correta**. O **ASM (Automatic Storage Management)** no Oracle é uma solução de gerenciamento de armazenamento que facilita o gerenciamento e a distribuição de dados entre os discos. Uma das grandes vantagens do ASM é justamente a capacidade de **adicionar novos dispositivos de disco ao banco de dados sem a necessidade de interromper** o funcionamento da instância, ou seja, sem necessidade de **downtime**. O ASM redistribui automaticamente os dados nos discos, melhorando a flexibilidade e disponibilidade do sistema. Portanto, o item deve ser considerado **correto**. Gabarito: C
430
64. BANCA: CESPE ANO: 2012 ÓRGÃO: TJ-RO PROVA: ANALISTA JUDICIÁRIO - DESENVOLVIMENTO DE SISTEMAS Assinale a opção correta acerca das ferramentas, dos recursos e das características do SGBD Oracle 10. A) Por meio do recurso OSS (Oracle segment shrink) do Oracle 10g, pode-se compactar áreas de memória RAM marcadas como booked, transferindo-as para o disco, permitindo, assim, maior alocação de memória no processamento de consultas. B) IOTs (index organized tables) são estruturas de dados que permitem armazená-los de forma organizada com seus índices. C) DRM (database resource manager), uma área interna do Oracle 10g, é utilizada pelo tuning optimizer para prover recomendações de consultas SQL e criar índices, com o objetivo de melhorar o desempenho da recuperação de dados. D) Oracle 10g flashback é um conjunto de ferramentas mediante as quais é possível gerenciar e agendar a criação de becapes utilizando-se comandos RMAN. E) O Oracle 10g ADDM (automatic database diagnostic monitor), por intermédio do pacote DBMS_SCHEDULER, gerencia triggers de sistemas e permite a autocriação de índices, a fim de melhorar o desempenho de acesso aos dados de forma programada.
A opção correta é **b) IOTs (index organized tables) são estruturas de dados que permitem armazená-los de forma organizada com seus índices.** As **IOTs (Index Organized Tables)** são um tipo de tabela no Oracle em que os dados são armazenados fisicamente em ordem baseada nos valores dos índices, ou seja, os dados são organizados de acordo com o índice primário. Diferente das tabelas tradicionais (heap-organized tables), nas IOTs os dados e os índices são armazenados juntos, permitindo consultas mais eficientes em algumas situações. Agora, vamos analisar as outras opções: - **A) OSS (Oracle Segment Shrink)**: Não existe um recurso chamado **OSS** para compactação de memória RAM. O Oracle Segment Shrink permite a compactação de segmentos de dados no disco, mas não afeta diretamente a memória RAM. - **C) DRM (database resource manager)**: O **Database Resource Manager (DRM)** no Oracle é usado para gerenciar a alocação de recursos entre diferentes sessões e não para otimização de consultas ou criação de índices. - **D) Oracle 10g flashback**: O **Oracle Flashback** é um conjunto de ferramentas para recuperar dados de forma rápida, permitindo voltar a um estado anterior do banco de dados, mas não é utilizado para gerenciar backups através do **RMAN** (Recovery Manager). - **E) ADDM (automatic database diagnostic monitor)**: O **ADDM** é uma ferramenta de diagnóstico automático que identifica problemas de desempenho no banco de dados, mas ele não gerencia **triggers** ou cria automaticamente índices. O pacote **DBMS_SCHEDULER** é usado para agendamento de jobs, não está diretamente relacionado ao ADDM. Portanto, a opção **b) IOTs (index organized tables)** é a correta. Gabarito: B
431
65. BANCA: Cespe - Analista Judiciário (TJ AL)/ Apoio Especializado/ Análise de Sistemas / 2012 Acerca de planos de manutenção e tuning em banco de dados Oracle 11g, assinale a opção correta. a) O Oracle Enterprise Manager exibe os resultados da tarefa do SQL Access Advisor listando as instruções SQL pela ordem de maior redução de custo. b) O SQL Access Advisor oferece recomendações de partição somente para cargas de trabalho que têm predicados e junções em colunas de tipo VARCHAR. c) O SQL Plan Management evita que regressões de performance resultem de alterações repentinas no plano de execução de uma instrução SQL, mas não fornece componentes para captura e seleção de informações capazes de auxiliar na evolução dos planos de execução de SQL. d) O Automatic Database Diagnostic Monitor (ADDM) não proporciona análise de performance de gerenciamento de backup/recuperação ou análise de performance em cluster para bancos de dados com real application clusters (RAC). e) Em cada execução do SQL Tuning Advisor, o administrador do banco de dados deve selecionar as consultas SQL de alta carga no sistema e gerar recomendações sobre como ajustálas.
A opção correta é **a) O Oracle Enterprise Manager exibe os resultados da tarefa do SQL Access Advisor listando as instruções SQL pela ordem de maior redução de custo.** O **SQL Access Advisor** é uma ferramenta usada no Oracle para fornecer recomendações sobre como otimizar o desempenho de consultas SQL. Ele gera sugestões sobre a criação de índices, partições e materialized views, listando as instruções SQL que mais se beneficiariam dessas alterações, geralmente pela ordem de maior **redução de custo** estimada para o sistema. Análise das demais opções: - **b) O SQL Access Advisor oferece recomendações de partição somente para cargas de trabalho que têm predicados e junções em colunas de tipo VARCHAR**: Esta afirmação está incorreta, pois o **SQL Access Advisor** não está limitado a colunas do tipo VARCHAR. Ele oferece recomendações de partição para uma ampla gama de tipos de dados, não apenas VARCHAR. - **c) O SQL Plan Management evita que regressões de performance resultem de alterações repentinas no plano de execução de uma instrução SQL, mas não fornece componentes para captura e seleção de informações capazes de auxiliar na evolução dos planos de execução de SQL**: Esta afirmação está incorreta. O **SQL Plan Management (SPM)** não só evita regressões de desempenho, mas também captura e armazena planos de execução e permite a evolução segura desses planos, fornecendo ferramentas para a análise e escolha dos melhores planos. - **d) O Automatic Database Diagnostic Monitor (ADDM) não proporciona análise de performance de gerenciamento de backup/recuperação ou análise de performance em cluster para bancos de dados com real application clusters (RAC)**: Incorreta, pois o **ADDM** oferece suporte para análise de desempenho em ambientes de **Real Application Clusters (RAC)** e pode avaliar questões relacionadas ao gerenciamento de backup e recuperação. - **e) Em cada execução do SQL Tuning Advisor, o administrador do banco de dados deve selecionar as consultas SQL de alta carga no sistema e gerar recomendações sobre como ajustá-las**: Também incorreta. O **SQL Tuning Advisor** automaticamente identifica as consultas SQL que precisam de ajustes e gera recomendações, sem que o administrador precise selecionar manualmente as consultas de alta carga. Portanto, a opção **a) O Oracle Enterprise Manager exibe os resultados da tarefa do SQL Access Advisor listando as instruções SQL pela ordem de maior redução de custo** é a correta. Gabarito: A
432
66. BANCA: Cespe - Oficial Bombeiro Militar (CBM DF)/ Complementar/ Informática/ 2011 No que se refere ao banco de dados Oracle, julgue o próximo item. Os espaços de tabela bigfile se adaptam melhor a um ambiente que utiliza ASM (Automatic Storage Management), OMF (Oracle Managed Files) e RMAN (Recovery Manager) com uma Flash Recovery Area, permitindo, ainda, um tamanho de espaço de tabela tão grande quanto 8 milhões de terabytes, conforme o tamanho do bloco do espaço de tabela.
A questão está correta. A Oracle também permite criar espaços de tabela bigfile. Isso permite que o Oracle Database contenha espaços de tabela formados a partir de poucos arquivos grandes em vez de vários menores. Isso ajuda ao Oracle Database utilizar a capacidade dos sistemas de 64 bits para criar e gerenciar arquivos do tipo ultralarge. A consequência disto é que o Oracle Database agora pode ser dimensionado para até oito exabytes de tamanho. Vale ressaltar que, devido principalmente ao seu tamanho, os espaços de tabela bigfile se adaptam melhor a um ambiente que utiliza ASM (Automatic Storage Management), OMF (Oracle Managed Files) e RMAN (Recovery Manager) com uma Flash Recovery Area. Gabarito: C
433
67. BANCA: Cespe Analista (FINEP)/ Informática/ Desenvolvimento de Sistemas/2009 Uma das instâncias do sistema gerenciador de banco de dados Oracle 10g consiste de arquivos em disco, área de memória e processos em execução. Cada processo é responsável por um conjunto de atividades. Nessa versão do Oracle, o processo responsável por recuperar espaço em segmentos temporários quando estes não estão mais sendo utilizados é o DBW (database writer). a) LGWR (log writer). b) SMON (system monitor). c) PMON (process monitor). d) CKPT (check point).
A opção correta é **b) SMON (system monitor)**. No Oracle, o **SMON (System Monitor)** é o processo responsável por várias funções de manutenção, incluindo a **recuperação de espaço em segmentos temporários** quando esses não estão mais sendo utilizados. Além disso, o SMON é encarregado de realizar a limpeza de espaços que ficaram disponíveis após uma falha e a fusão de segmentos de espaço livre. Vamos analisar os outros processos: - **DBW (Database Writer)**: Este processo é responsável por gravar os buffers modificados da memória (buffer cache) nos arquivos de dados no disco. Ele não está envolvido com a recuperação de espaço temporário. - **LGWR (Log Writer)**: Este processo escreve os dados dos **redolog buffers** para os arquivos de log no disco, garantindo a persistência das transações no caso de falhas. Ele não recupera segmentos temporários. - **PMON (Process Monitor)**: O **Process Monitor** é responsável por limpar os processos de usuários falhos e liberar recursos como locks, mas não gerencia segmentos temporários. - **CKPT (Checkpoint)**: O **Checkpoint Process** é responsável por sinalizar pontos de verificação (checkpoints), garantindo que os dados sujos na memória sejam gravados em disco. Ele também não lida com segmentos temporários. Portanto, o processo que recupera o espaço em segmentos temporários é o **SMON**. Gabarito: B
434
68. BANCA: FGV ANO: 2015 ÓRGÃO: TJ-SC PROVA: ANALISTA JUDICIÁRIO - ANALISTA DE SISTEMAS Dois utilitários frequentemente usados nas instalações ORACLE no auxílio à manutenção dos dados são: A) PL/SQL e SGA; B) SYSDBA e SYSADMIM; C) Transact SQL e SYSDBA; D) SQL*Loader e Data Pump; E) DBCA e ADRCI.
A opção correta é **d) SQL*Loader e Data Pump**. Esses dois utilitários são amplamente utilizados no Oracle para auxiliar na **manutenção dos dados**: - **SQL*Loader** é uma ferramenta usada para carregar grandes volumes de dados de arquivos externos (geralmente arquivos de texto) para tabelas no banco de dados Oracle. - **Data Pump** é um utilitário mais avançado para exportação e importação de dados e metadados entre bancos de dados Oracle. Ele é frequentemente utilizado para backup, migração e transferência de dados entre instâncias de banco de dados. Vamos analisar as outras opções: - **A) PL/SQL e SGA**: PL/SQL é a linguagem procedural do Oracle, enquanto SGA (System Global Area) é uma área de memória compartilhada. Nenhum dos dois é especificamente um utilitário para manutenção de dados. - **B) SYSDBA e SYSADMIN**: SYSDBA é um privilégio administrativo no Oracle, mas **SYSADMIN** não é um termo relacionado ao Oracle. SYSADMIN geralmente se refere a um administrador de sistemas, o que não é diretamente relacionado à manutenção de dados no Oracle. - **C) Transact SQL e SYSDBA**: **Transact-SQL** é uma extensão do SQL utilizada pelo SQL Server da Microsoft, não pelo Oracle. SYSDBA, como mencionado, é um privilégio administrativo, mas não um utilitário para manutenção de dados. - **E) DBCA e ADRCI**: O **DBCA (Database Configuration Assistant)** é uma ferramenta usada para configurar e criar bancos de dados, e **ADRCI (Automatic Diagnostic Repository Command Interface)** é uma ferramenta de diagnóstico. Embora úteis, eles não são utilitários diretamente relacionados à manutenção de dados. Portanto, a opção **d) SQL*Loader e Data Pump** é a correta. Gabarito: D
435
69. BANCA: FGV ANO: 2015 ÓRGÃO: TCE-SE PROVA: ANALISTA DE TECNOLOGIA DA INFORMAÇÃO - DESENVOLVIMENTO Analise as seguintes afirmativas sobre tablespaces no Oracle: 1. Uma tablespace pertence sempre a um único banco de dados. 2. Uma tablespace armazena apenas as tabelas de um banco de dados e seus respectivos índices. 3. Datafiles são sempre associados a somente uma tablespace. Somente está correto o que se afirma em: A) 1; B) 1 e 3; C) 2; D) 2 e 3; E) 3.
A opção correta é **B) 1 e 3**. Vamos analisar cada afirmativa: 1. **"Uma tablespace pertence sempre a um único banco de dados."** Esta afirmativa é **correta**. No Oracle, uma **tablespace** pertence a um único banco de dados e não pode ser compartilhada entre diferentes bancos de dados. Ela é uma estrutura lógica que organiza os dados armazenados no banco. 2. **"Uma tablespace armazena apenas as tabelas de um banco de dados e seus respectivos índices."** Esta afirmativa é **incorreta**. Embora uma tablespace possa armazenar tabelas e índices, ela também pode armazenar outros objetos, como **views, stored procedures, triggers, materialized views**, etc. Ou seja, não está limitada a armazenar apenas tabelas e índices. 3. **"Datafiles são sempre associados a somente uma tablespace."** Esta afirmativa é **correta**. Cada **datafile** no Oracle é associado a uma única tablespace. Os datafiles armazenam fisicamente os dados da tablespace no disco. Portanto, as afirmativas 1 e 3 estão corretas, e a resposta correta é **B) 1 e 3**. Gabarito: B
436
1. (MPU-TO - DBA - CESPE – 2024) Julgue os itens subsequentes, a respeito de administração de bancos de dados. As roles do PostgreSQL estão relacionadas com os usuários do sistema operacional onde o SGBD está instalado.
O item está incorreto. No PostgreSQL, as roles são semelhantes a usuários em outros sistemas de gerenciamento de banco de dados (SGBDs). Elas são usadas para controlar o acesso aos bancos de dados e aos objetos dentro deles. Embora as roles possam ser associadas a usuários do sistema operacional para fins de autenticação, elas são entidades separadas no PostgreSQL e não estão diretamente relacionadas aos usuários do sistema operacional onde o SGBD está instalado. Gabarito: Errada
437
2. (MPU-TO - DBA - CESPE – 2024) Julgue os itens subsequentes, a respeito de administração de bancos de dados. No PostgreSQL, o dump de uma base de dados, conhecido como becape lógico, gera um arquivo com os comandos para reconstruir a base, caso ocorra algum problema no becape.
O item está correto. No PostgreSQL, o comando pg_dump é usado para gerar um "backup" lógico de um banco de dados, que é um arquivo contendo os comandos SQL necessários para reconstruir o banco de dados. Este arquivo pode ser usado para restaurar o banco de dados em caso de problemas, como perda de dados ou corrupção. Portanto, o dump de uma base de dados, também conhecido como "becape lógico", realmente gera um arquivo com os comandos SQL para reconstruir a base, caso necessário. Gabarito: Certo
438
3. CESGRANRIO/IPEA/2024/Ciência de Dados Sistemas Gerenciadores de Bancos de Dados, SGBD, via de regra, permitem acesso às suas funcionalidades por meio de interfaces interativas e, também, por meio de programas de apoio ou comandos específicos. O SGBD PostgreSQL possui um conjunto de programas de apoio. O programa a ser utilizado para realizar o backup de um banco de dados ou de um esquema, no PostgreSQL, é o pg_dump. Nesse contexto, considere o seguinte comando: pg_dump -a -Fp Alfa > Beta Esse comando gera um backup (A) das definições (esquema) do banco de dados Alfa, apenas (B) das definições (esquema) dos bancos de dados Alfa e Beta, em formato proprietário, apenas (C) de todo o banco de dados Beta (esquema e dados) em formato proprietário (D) dos dados do esquema Beta do banco de dados Alfa em formato textual (comandos SQL) (E) dos dados do banco de dados Alfa em formato textual (comandos SQL)
O comando pg_dump -a -Fp Alfa > Beta realiza o backup de todo o banco de dados Alfa, incluindo definições de esquema e dados, e salva o backup no arquivo Beta no formato de texto puro. A opção -a indica que o backup deve incluir tanto definições de esquema quanto dados. Portanto, a alternativa correta é: (E) dos dados do banco de dados Alfa em formato textual (comandos SQL) Gabarito: E
439
4. CESGRANRIO/IPEA/2024/Infraestrutura Considere que, em um banco de dados, há uma tabela com dados de indústrias, contendo os seguintes atributos: INDUSTRIA (cnpj, razao-social, capital-social, qtd-alteracoes) Nessa tabela, a chave primária é o atributo cnpj. Foi criada a seguinte stored procedure, codificada segundo a sintaxe do PostgreSQL: Ao ser executada, essa procedure (A) altera o capital social de todas as indústrias. (B) busca as empresas com mais de uma alteração. (C) registra a quantidade de alterações realizadas em todas as indústrias. (D) incrementa a quantidade de alterações de todas as indústrias de São Paulo. (E) atualiza o capital social de uma indústria e registra quantas alterações foram realizadas nesse capital social.
A stored procedure fornecida tem o objetivo de atualizar o capital social de uma indústria específica no banco de dados. Vamos analisar cada uma das alternativas: (A) A procedure não altera o capital social de todas as indústrias, apenas daquela cujo CNPJ corresponde ao ID fornecido como parâmetro. (B) A procedure não busca as empresas com mais de uma alteração. Ela verifica se a indústria com o CNPJ especificado já está cadastrada e, se sim, atualiza seu capital social. (C) A procedure não registra a quantidade de alterações realizadas em todas as indústrias. Ela apenas atualiza o capital social e incrementa a quantidade de alterações da indústria específica. (D) A procedure não menciona nada sobre indústrias de São Paulo ou qualquer outra localidade específica. (E) A procedure atualiza o capital social de uma indústria específica (aquela cujo CNPJ corresponde ao ID fornecido como parâmetro) e incrementa a quantidade de alterações realizadas nesse capital social. Portanto, a resposta correta é a opção: (E) atualiza o capital social de uma indústria e registra quantas alterações foram realizadas nesse capital social. Gabarito: E
440
5. ISS São José dos Campos/FGV/2024 O PostgreSQL, versão 15, suporta 4 níveis de isolamento de transações. Com relação níveis de isolamento e aos fenômenos que eles isolam. Em relação ao tema, assinale V para a afirmativa verdadeira e F para a falsa. ( ) O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma. ( ) O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização. ( ) O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização. As afirmativas são, respectivamente, a) F–V–F. b) F–F–V. c) V–V–F. d) V–F–V. e) F–V–V.
Vamos analisar cada uma das afirmativas sobre os níveis de isolamento de transações no PostgreSQL: 1. **"O nível de isolamento leitura sem compromisso permite a ocorrência de leitura fantasma."** **Verdadeiro (V)**. O nível de isolamento **Read Uncommitted (Leitura Sem Compromisso)** permite a ocorrência de leitura fantasma, uma vez que ele não garante que os dados lidos não mudem durante a transação. No entanto, é importante observar que, no PostgreSQL, esse nível de isolamento não é suportado diretamente; ele considera sempre a leitura **Read Committed** como padrão. 2. **"O nível de isolamento leitura confirmada não admite leitura fantasma e anomalia de serialização."** **Falso (F)**. O nível de isolamento **Read Committed (Leitura Confirmada)** não permite leitura suja, mas ainda permite a ocorrência de leitura não repetível e leitura fantasma. Portanto, a afirmativa é falsa. 3. **"O nível de isolamento mais rigoroso é o serializável, ele não permite a ocorrência de leitura suja, leitura não repetitível, leitura fantasma e anomalia de serialização."** **Verdadeiro (V)**. O nível de isolamento **Serializable** é o mais rigoroso e garante que nenhuma das anomalias mencionadas (leitura suja, leitura não repetível, leitura fantasma e anomalia de serialização) ocorra. Com base na análise, as afirmativas são, respectivamente: **V – F – V**. Gabarito: D
441
6. FUNDATEC - ANC (PROCERGS) / PROCERGS / Análise de Sistemas /Gerencia de Projetos de TI /2023 Em PostgreSQL, um bloco de código de interação com o banco de dados, geralmente escrito em SQL, e que fica armazenado no próprio banco de dados é denominado: a) Stored procedure. b) SELECT procedure. c) PL/SQL. d) PL/pgSQL. e) SQL/PSM.
A resposta correta é: a) Stored procedure. Uma "Stored Procedure" (Procedimento Armazenado) é um bloco de código SQL que é armazenado e gerenciado pelo próprio banco de dados. Esses procedimentos podem aceitar parâmetros, realizar operações no banco de dados e retornar resultados. Eles oferecem uma maneira conveniente de reutilizar lógica de negócios complexa e executar tarefas específicas no banco de dados sem a necessidade de reescrever o código repetidamente. Stored Procedures também podem melhorar o desempenho e a segurança, reduzindo a quantidade de tráfego de rede e protegendo contra injeções de SQL, já que são pré-compilados e armazenados no banco de dados. Além disso, eles são amplamente utilizados em ambientes corporativos para encapsular regras de negócios e garantir consistência nos processos de banco de dados. Gabarito: A
442
7. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte /Bancos de Dados/2023 Considerando o sistema de banco de dados relacional PostgreSQL versão 14, em um banco de dados, existem duas tabelas, A e B, com alguns valores populados, conforme abaixo: Considere o resultado das duas seguintes queries em SQL: I. SELECT x FROM X UNION (SELECT y FROM Y LIMIT 1) II. SELECT x FROM X UNION SELECT y FROM Y LIMIT 1; Assinale a alternativa que representa o número de linhas resultantes das queries I e II, respectivamente. a) 1 – 1. b) 6 – 1. c) 6 – 6. d) 4 – 4. e) 4 – 1.
Vamos comentar cada uma das consultas: I. SELECT x FROM X UNION (SELECT y FROM Y LIMIT 1) ● Esta consulta seleciona todas as linhas da coluna "x" da tabela A (X) e, em seguida, realiza uma união com apenas uma linha da coluna "y" da tabela B (Y), limitada a apenas 1 linha pelo comando LIMIT. ● Como a tabela A (X) tem 3 linhas e a tabela B (Y) tem 3 linhas, mas estamos limitando a seleção da tabela B a apenas 1 linha, o resultado terá 4 linhas. II. SELECT x FROM X UNION SELECT y FROM Y LIMIT 1 ● Nesta consulta, primeiro é feita a união de todas as linhas da coluna "x" da tabela A (X) com todas as linhas da coluna "y" da tabela B (Y). Depois, o comando LIMIT 1 é aplicado ao conjunto resultante, limitando o resultado a apenas 1 linha. ● Como ambas as tabelas têm 3 linhas, a união inicial terá 6 linhas. Em seguida, o comando LIMIT 1 é aplicado, resultando em apenas 1 linha no resultado final. Portanto, o número de linhas resultantes das queries I e II, respectivamente, é: e) 4 - 1. Gabarito: E
443
8. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte / Bancos de Dados/2023 Considerando o sistema de banco de dados relacional PostgreSQL versão 14, em um banco de dados, existe uma tabela Funcionario. A tabela Funcionario tem quatro colunas: - id, uma chave serial - nome, do tipo string - endereco, do tipo string - contato, do tipo JSONB O objeto JSON contato tem um campo chamado email. Qual das seguintes queries retornariam todos os funcionários cujo endereço de email termine em @exemplo.com? a) SELECT * FROM Funcionario WHERE contato->>'email' LIKE '%@exemplo.com'; b) SELECT * FROM Funcionario WHERE contato->'email' LIKE '%@exemplo.com'; c) SELECT * FROM Funcionario WHERE contato->>'email' = '*@exemplo.com'; d) SELECT * FROM Funcionario WHERE contato->'email' = '%@exemplo.com'; e) SELECT * FROM Funcionario WHERE contato->'email' = '*@exemplo.com';
A opção correta é **a) SELECT * FROM Funcionario WHERE contato->>'email' LIKE '%@exemplo.com';**. Vamos analisar cada uma das opções: - **a) `SELECT * FROM Funcionario WHERE contato->>'email' LIKE '%@exemplo.com';`** Esta query utiliza `->>` para acessar o valor do campo `email` como texto, permitindo que a cláusula `LIKE` funcione corretamente. O uso de `%` na condição `LIKE` indica que o endereço de email deve terminar com `@exemplo.com`. Portanto, esta opção é **correta**. - **b) `SELECT * FROM Funcionario WHERE contato->'email' LIKE '%@exemplo.com';`** Aqui, `contato->'email'` retorna um objeto JSON, e não um texto. A cláusula `LIKE` não pode ser aplicada diretamente a um JSON, tornando essa query **incorreta**. - **c) `SELECT * FROM Funcionario WHERE contato->>'email' = '*@exemplo.com';`** Esta query compara o valor do email com a string literal `*@exemplo.com`, o que não corresponde ao uso de caracteres curinga. Portanto, esta opção é **incorreta**. - **d) `SELECT * FROM Funcionario WHERE contato->'email' = '%@exemplo.com';`** Assim como na opção b, esta query compara um JSON com uma string literal, o que é inválido. Além disso, o uso de `%` em um `=` não faz sentido. Portanto, esta opção é **incorreta**. - **e) `SELECT * FROM Funcionario WHERE contato->'email' = '*@exemplo.com';`** Novamente, esta comparação é feita com um JSON e com uma string literal, tornando esta query **incorreta**. Portanto, a única query correta que retornaria todos os funcionários cujo endereço de email termine em `@exemplo.com` é a opção **a)**. Gabarito: A
444
9. FUNDATEC - Tec (IFFAR) / IFFAR / Laboratório / Informática /2023 Assinale a alternativa que identifica uma linguagem procedural instalada por padrão em sistemas de banco de dados PostgreSQL (versão 9 ou posterior). a) P-SQL b) T-SQL c) PL/pgSQL d) PL/SQL e) pSQL
A resposta correta é: c) PL/pgSQL O PL/pgSQL é uma linguagem procedural instalada por padrão nos sistemas de banco de dados PostgreSQL a partir da versão 9. Essa linguagem é usada para escrever funções armazenadas e outros procedimentos que podem ser executados dentro do banco de dados. O PL/pgSQL é semelhante ao PL/SQL, que é usado no Oracle Database, mas foi desenvolvido especificamente para o PostgreSQL. Gabarito: C
445
10. FUNDATEC - ANC (PROCERGS) / PROCERGS / Análise de Sistemas /Gerencia de Projetos de TI/2023 Qual é o comando do PostgreSQL que analisa uma consulta e retorna o plano de execução para ela, através de uma listagem que identifica cada etapa da consulta com o seu tempo gasto e o custo percentual dela com relação ao custo da consulta? a) TRANSACTION. b) EXPLAIN. c) NODE TYPE. d) TIME SPENT. e) QUERY LIST.
A resposta correta é:b) EX PLAIN. O comando EXPLAIN no PostgreSQL é usado para analisar consultas e retornar o plano de execução detalhado para elas. Ele fornece uma listagem que identifica cada etapa da consulta, incluindo informações como o tipo de nó, estimativas de custo, número de linhas retornadas e métodos de acesso aos dados. Essas informações ajudam os desenvolvedores a entenderem como o PostgreSQL está executando a consulta e a identificar possíveis áreas de otimização. Gabarito: B
446
11. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte / Bancos de Dados/2023 Analise as assertivas abaixo sobre replicação, alta disponibilidade e balanceamento de carga do PostgreSQL 14 e assinale a alternativa correta. I. É possível particionar os dados entre múltiplos servidores de forma que queries podem ser executadas em paralelo, de forma distribuída entre esses servidores. II. A técnica de shared disk failover compartilha os recursos físicos de armazenamento de dados, o que simplifica a distribuição, mas fica vulnerável a falhas do sistema de banco de dados principal, já que não seria possível recuperar rapidamente e os dados seriam perdidos. III. SQL-Based Replication Middleware usa um programa que intercepta todas as queries SQL e envia para todos os servidores. Dessa forma, tanto escritas quanto leituras são executadas por todos os servidores, mantendo o sistema consistente entre servidores. a) Todas estão corretas. b) Todas estão incorretas. c) Apenas I está correta. d) Apenas II está correta. e) Apenas I e III estão corretas.
A alternativa correta é: c) Apenas I está correta. Vamos analisar cada uma das afirmativas: I. Correta. O PostgreSQL 14 oferece suporte a particionamento de dados entre múltiplos servidores (sharding), permitindo que as consultas sejam distribuídas e executadas em paralelo para melhorar o desempenho de consultas em grandes conjuntos de dados distribuídos. II. Incorreta. A técnica de failover de disco compartilhado (shared disk failover) não é uma abordagem típica para alta disponibilidade no PostgreSQL. Ela pode ser vulnerável a falhas no sistema de banco de dados principal, e a recuperação pode ser complicada, especialmente se os dados forem perdidos. III. Incorreta. O PostgreSQL não oferece um "SQL-Based Replication Middleware" como descrito na assertiva. Existem várias técnicas de replicação disponíveis no PostgreSQL, como replicação baseada em log (log-based replication) e replicação física (physical replication), mas elas não envolvem a interceptação de todas as consultas SQL para enviar para todos os servidores. Gabarito: C
447
12. FUNDATEC - ANC (PROCERGS) / PROCERGS / Suporte / Bancos de Dados/2023 Assinale a alternativa correta sobre otimização de código SQL (tuning) no PostgreSQL 14. a) Caso o número de trabalhadores livres não seja suficiente, o líder espera até que um número suficiente de trabalhadores esteja disponível para executar o plano. b) Em operações de merge join, o lado de dentro não pode executar em paralelo. c) O usuário precisa especificar que uma query deve ser executada em paralelo. d) Queries que modificam ou inserem dados não podem ser executadas em paralelo. e) Suporta agregação em paralelo, executada em dois níveis, o primeiro em paralelo, e o segundo individualmente pelo líder.
A alternativa correta é: e) Suporta agregação em paralelo, executada em dois níveis, o primeiro em paralelo, e o segundo individualmente pelo líder. No PostgreSQL 14, a otimização de código SQL (tuning) inclui a capacidade de realizar agregações em paralelo. Essa técnica permite dividir o processamento de agregação em dois níveis: o primeiro nível é executado em paralelo por vários trabalhadores, enquanto o segundo nível é realizado individualmente pelo líder (processo principal). Isso ajuda a melhorar o desempenho de consultas que envolvem operações de agregação em grandes conjuntos de dados. Gabarito: E
448
13. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Desenvolvedor/2023 Um analista necessitou atualizar o salário (salario_emp) do empregado de nome Claude Manaru (nome_emp) para 100, na tabela Empregado. No PostgreSQL 14 ele escreveu corretamente a expressão a) GET Empregado SET salario_emp BY 100 WHERE nome_emp = 'Claude Manaru'; b) UPDATE Empregado SET salario_emp = 100 WHERE nome_emp = 'Claude Manaru'; c) UPDATE Empregado WHERE nome_emp = 'Claude Manaru' ON salario_emp = 100; d) SET Empregado ALTER salario_emp = 100 WHERE nome_emp = 'Claude Manaru'; e) CHANGE Empregado WHERE nome_emp = 'Claude Manaru' ON salario_emp = 100;
Vamos analisar cada uma das opções para a atualização do salário do empregado "Claude Manaru" na tabela "Empregado" no PostgreSQL 14: a) **"GET Empregado SET salario_emp BY 100 WHERE nome_emp = 'Claude Manaru';"** **Análise**: **Incorreta.** Essa sintaxe não é válida em SQL. O comando `GET` não existe para a atualização de registros. b) **"UPDATE Empregado SET salario_emp = 100 WHERE nome_emp = 'Claude Manaru';"** **Análise**: **Correta.** Essa é a sintaxe correta para atualizar um registro no PostgreSQL. O comando `UPDATE` é utilizado para modificar dados, e a cláusula `WHERE` especifica qual registro deve ser atualizado. c) **"UPDATE Empregado WHERE nome_emp = 'Claude Manaru' ON salario_emp = 100;"** **Análise**: **Incorreta.** A cláusula `ON` não é utilizada na sintaxe do comando `UPDATE`. Além disso, falta a parte que define o que deve ser atualizado (`SET`). d) **"SET Empregado ALTER salario_emp = 100 WHERE nome_emp = 'Claude Manaru';"** **Análise**: **Incorreta.** A sintaxe `SET` não é utilizada dessa forma em SQL. O comando `ALTER` também não é apropriado para atualizar registros em uma tabela. e) **"CHANGE Empregado WHERE nome_emp = 'Claude Manaru' ON salario_emp = 100;"** **Análise**: **Incorreta.** O comando `CHANGE` não existe no PostgreSQL. Para atualizar, é necessário usar `UPDATE`. Conclusão A única opção correta é **b) UPDATE Empregado SET salario_emp = 100 WHERE nome_emp = 'Claude Manaru';**. Gabarito: B
449
14. FCC - AJ TRT18/TRT 18/Apoio Especializado/Tecnologia da Informação/2023 Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, deseja-se criar a tabela Tab_TRT18 utilizando o comando SELECT, com o valor 1 no campo Vara, o valor Juiz1 no campo NomeJuiz e o valor vt1goiania@trt18.jus.br no campo Email. O comando correto é: a) SELECT Vara AS 1, NomeJuiz AS 'Juiz1', Email AS 'vt1goiania@trt18.jus.br' INTO Tab_TRT18; b) SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email INTO Tab_TRT18; c) SELECT INTO Tab_TRT18 (1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email); d) SELECT INTO Tab_TRT18 Vara AS 1, NomeJuiz AS 'Juiz1', Email AS 'vt1goiania@trt18.jus.br'; e) SELECT VALUES (1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email) INTO Tab_TRT18;
O comando correto para criar a tabela Tab_TRT18 no PostgreSQL 13 com os valores especificados é: b) SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email INTO Tab_TRT18; Esta opção utiliza a cláusula SELECT INTO para criar a tabela Tab_TRT18 e inserir os valores específicos nas colunas correspondentes. Gabarito: B
450
15. FCC - TJ TRT18/TRT 18/Apoio Especializado / Tecnologia da Informação / 2023 Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, existe uma tabela denominada TRT18_temp. Um Técnico foi solicitado a esvaziar todos os dados dessa tabela. Para isso, ele utilizou o comando a) TRUNCATE TRT18_temp CASCADE; b) DROP TABLE IF_EXISTS TRT18_temp; c) DROP TABLE TRT18_temp; d) TRUNCATE TABLE TRT18_temp; e) EMPTY TABLE TRT18_temp;
O comando correto para esvaziar todos os dados de uma tabela no PostgreSQL 13 é: d) TRUNCATE TABLE TRT18_temp; Este comando remove todos os dados da tabela TRT18_temp, mantendo a estrutura da tabela intacta. Gabarito: D
451
16. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 No PostgreSQL, para conceder o privilégio de ser membro do papel analistas à usuária Paula, utiliza-se a instrução a) ENABLE ACCESS FOR analistas TO Paula; b) CREATE ROLE analistas TO Paula; c) GRANT ROLE('analistas') TO USER('root'); d) GRANT analistas TO Paula; e) ENABLE analistas TO Paula;
A instrução correta para conceder o privilégio de ser membro do papel (role) "analistas" à usuária "Paula" no PostgreSQL é: d) GRANT analistas TO Paula; Gabarito: D
452
17. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 Uma analista está trabalhando em ambiente Linux (Ubuntu), funcionando em condições ideais, e deseja conectar-se ao banco de dados PostgreSQL, bem como verificar a versão instalada. Para isso deve utilizar o(s) comando(s): a) sudo -su postgres psql SHOW postgre_version() b) sudo -u postgres psql -c "SELECT version();" c) sudo -su postgresql SELECT version() d) sudo -su postgresql -exec "SHOW version();" e) sudo -u postgres psql –-postgre_version();
A opção correta para conectar-se ao banco de dados PostgreSQL e verificar a versão instalada no ambiente Linux (Ubuntu) é: b) sudo -u postgres psql -c "SELECT version();" ● sudo -u postgres: Utiliza o comando sudo para executar o próximo comando como usuário postgres. O usuário postgres é frequentemente usado para administrar e interagir com o banco de dados PostgreSQL. ● psql: É o cliente de linha de comando do PostgreSQL, usado para interagir com o banco de dados. ● -c "SELECT version();": Este argumento -c permite que você forneça um comando SQL para ser executado imediatamente após o login. Neste caso, o comando SQL é SELECT version();, que retorna a versão do PostgreSQL instalada. Portanto, a combinação desses elementos permite que a analista se conecte ao banco de dados PostgreSQL como usuário postgres e execute imediatamente o comando SQL para obter a versão do PostgreSQL instalada no sistema. Gabarito: B
453
18. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 Um analista utilizou o comando Create Role na administração do banco de dados PostgreSQL 14. Dentre outras, são opções desse comando: a) INROLE, SYSDB, INGROUP e COMMIT. b) DESPITE, GET ROLE, INGROUP e SYSDB. c) NOLOGON, UNTIL VALIDATE, CREATEDBA e NOCREATEID. d) INHERIT, IN ROLE, IN GROUP e SYSID. e) INGROUP, INHERIT, PERMIT e XCUTEDB.
No PostgreSQL, o comando CREATE ROLE é usado para criar novos papéis (roles). Dentre as opções fornecidas, as opções comumente utilizadas neste contexto são: ● INHERIT: Permite que o novo papel herde as permissões do papel pai. ● IN ROLE: Permite especificar papéis aos quais o novo papel será associado. ● IN GROUP: Também relacionado à associação do papel a grupos. Portanto, a opção correta seria: d) INHERIT, IN ROLE, IN GROUP e SYSID. Gabarito: D
454
19. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 No PostgreSQL 14, as funções de controle de recuperação fornecem informações sobre o status atual de um servidor em espera e podem ser executadas tanto durante a recuperação quanto durante o funcionamento normal. É uma função de controle de recuperação: a) pg_current_wal_flush_lsn (). b) pg_last_wal_receive_lsn (). c) pg_reload_conf (). d) pg_export_snapshot (). e) pg_is_in_recovery.extension ().
A função correta de controle de recuperação no PostgreSQL 14 é: b) pg_last_wal_receive_lsn(). Essa função retorna o número de sequência do log de gravação (LSN) do ponto até o qual a última mensagem WAL foi recebida pelo servidor. Gabarito: B
455
20. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 Considere a prática de tuning no PostgreSQL 14. Na criação do banco de dados e especialmente na criação das consultas, é muito importante atentar para um bom planejamento, normalização e consultas otimizadas. Para tanto, é importante e adequada a orientação obtida com o uso do recurso combinado a) SELECT DISTINCT. b) EXPLAIN ANALYZE. c) ANALYZE WHEN. d) ORDER BY INDEX. e) EXPLAIN AVERAGE.
A prática de tuning no PostgreSQL 14 envolve o uso do recurso combinado: b) EXPLAIN ANALYZE. A instrução EXPLAIN ANALYZE é utilizada para analisar e otimizar consultas, fornecendo informações detalhadas sobre o plano de execução e o tempo de execução real. Isso ajuda na identificação de gargalos e no ajuste do desempenho das consultas. Portanto, a opção correta é a letra b. Gabarito: B
456
21. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Administrador de Banco de Dados/2023 Considere, por exemplo, que contadora seja um usuário e conta seja uma tabela. No PostgreSQL 14, a remoção do privilégio para atualizar conta dado à contadora é feita com o comando a) REVOKE ACCESS TO conta ON contadora; b) REVOKE UPDATE ON conta FROM contadora; c) DELETE PREVILEGES ON conta TO contadora; d) DELETE UPDATE TO conta FROM contadora; e) GRANT REVOKE TO conta UPDATE TO contadora;
No PostgreSQL 14, a remoção do privilégio para atualizar (UPDATE) na tabela "conta" dado à usuária "contadora" é feita com o comando: b) REVOKE UPDATE ON conta FROM contadora; Portanto, a opção correta é a letra b. Gabarito: B
457
22. FCC - AM (MPE PB)/MPE PB/Analista de Sistemas/Desenvolvedor/2023 No PostgreSQL 14, um novo proprietário chamado novoprop pode ser atribuído à tabela tabela1 com o comando a) GRANT TABLE tabela1 OWNER ON novoprop; b) UPDATE TABLE FOR tabela1 OWNER TO novoprop; c) ALTER TABLE tabela1 NEWOWNER novoprop; d) GRANT TABLE tabela1 NEWOWNER novoprop; e) ALTER TABLE tabela1 OWNER TO novoprop;
No PostgreSQL 14, um novo proprietário pode ser atribuído à tabela "tabela1" com o comando: e) ALTER TABLE tabela1 OWNER TO novoprop; Portanto, a opção correta é a letra e. No PostgreSQL, o comando ALTER TABLE é usado para fazer várias alterações em uma tabela, incluindo a alteração do proprietário da tabela. A sintaxe geral para alterar o proprietário de uma tabela é: ALTER TABLE nome_da_tabela OWNER TO novo_proprietario; Neste caso, o comando específico para alterar o proprietário da tabela "tabela1" para "novoprop" é: ALTER TABLE tabela1 OWNER TO novoprop; Isso define "novoprop" como o novo proprietário da tabela "tabela1". A propriedade de uma tabela no PostgreSQL inclui o controle sobre a tabela, como realizar alterações na estrutura da tabela, inserir, atualizar ou excluir registros, entre outras operações relacionadas à tabela. Gabarito: E
458
23. VUNESP - Ana (Pref Marília)/Pref Marília/Programador de Sistemas/2023 Considere a seguinte tabela presente em um sistema gerenciador de banco de dados PostgreSQL (v. 14): T1 (A, M, N) O comando para obter o atributo N, considerando apenas valores de M (inteiro) menores do que 20, restringindo o resultado a 20 linhas é: a) SELECT N FROM T1 WHERE M < 20 CUT IN 20; b) SELECT N (20) FROM T1 WHERE M < 20; c) SELECT 20 OF N FROM T1 WHERE M < 20; d) SELECT N FROM T1 WHERE M < 20 MAX OF 20; e) SELECT N FROM T1 WHERE M < 20 LIMIT 20;
A opção correta é: e) SELECT N FROM T1 WHERE M < 20 LIMIT 20; O comando SQL apresentado é uma consulta que busca informações na tabela T1. Vamos analisar cada parte do comando: SELECT N: Indica que queremos selecionar o atributo N da tabela. FROM T1: Especifica a tabela da qual queremos selecionar os dados, neste caso, a tabela T1. WHERE M < 20: Define uma condição de filtro, selecionando apenas as linhas onde o valor do atributo M seja menor que 20. LIMIT 20: Restringe o número de linhas retornadas pelo resultado da consulta para 20. Ou seja, estamos limitando a saída para exibir no máximo 20 linhas. Portanto, a consulta está pedindo para selecionar os valores do atributo N da tabela T1, mas apenas para as linhas em que o atributo M seja menor que 20, e limita o resultado a um máximo de 20 linhas. Gabarito: E
459
24. VUNESP - Ana (Pref Marília)/Pref Marília/Programador de Sistemas/2023 O sistema gerenciador de banco de dados PostgreSQL (v. 14) disponibiliza 3 tipos de inteiros, denominados a) tinyint, int e hugeint. b) integer, tinyint e mediumint. c) smallint, mediumint e hugeint. d) smallint, integer e bigint. e) minint, mediumint e maxint.
O PostgreSQL utiliza os seguintes tipos de dados inteiros: ● smallint: Representa inteiros de 2 bytes (16 bits). ● integer: Representa inteiros de 4 bytes (32 bits). ● bigint: Representa inteiros de 8 bytes (64 bits). Portanto, a opção correta é: d) smallint, integer e bigint. Gabarito: D
460
25. VUNESP - Tec (Pref Sorocaba)/Pref Sorocaba/Informática/2023 Considere o seguinte comando emitido por meio do sistema gerenciador de banco de dados PosgreSQL (v. 14): SELECT ‘teste de’ || ‘comando’; Tal comando terá como resultado a sequência: a) teste de comando b) teste decomando c) teste de comando d) teste de comando e) teste de comando
O comando SQL SELECT ‘teste de’ || ‘comando’; no PostgreSQL resultará na sequência: b) teste decomando. O operador de concatenação no PostgreSQL é representado pelo símbolo ||. Portanto, quando você executa o comando SELECT ‘teste de’ || ‘comando’;, ele concatena as duas strings, resultando em "teste decomando". A justificativa é baseada no uso comum desse operador para unir strings em SQL. Gabarito: B
461
26. VUNESP - Ana Sis (CM SBO)/CM SBO/2023 Considere o seguinte comando SQL emitido a partir do sistema gerenciador de banco de dados PostgreSQL 14.4: SELECT * FROM Tab1 LIMIT 25 OFFSET 10; Supondo que a tabela Tab1 tenha 100 registros, esse comando terá como resultado exibir a) 10 registros da tabela Tab1, desprezando os 25 primeiros registros dessa tabela. b) 25 registros da tabela Tab1, desprezando os 10 primeiros registros dessa tabela. c) 35 registros da tabela Tab1, desprezando os 10 primeiros registros dessa tabela. d) 90 registros da tabela Tab1, desprezando os 10 últimos registros dessa tabela. e) 90 registros da tabela Tab1, desprezando os 10 primeiros registros dessa tabela.
O comando LIMIT 25 OFFSET 10 no PostgreSQL significa que você deseja exibir 25 registros, começando do registro 11 (já que OFFSET é 10). Portanto, o comando terá como resultado exibir: registros de 11 a 35 (25 registros), desprezando os 10 primeiros registros da tabela. Assim, a opção correta é: b) 25 registros da tabela Tab1, desprezando os 10 primeiros registros dessa tabela. Gabarito: B
462
27. VUNESP - Ana Sis (CM SBO)/CM SBO/2023 Considere duas tabelas, m e n, inseridas em um banco de dados, por meio do sistema gerenciador de banco de dados PostgreSQL 14.4. Considere ainda o comando SQL emitido: SELECT * FROM m CROSS JOIN n Esse comando terá como resultado a exibição a) somente das colunas pertencentes à tabela m. b) somente das colunas pertencentes à tabela n. c) das colunas pertencentes a ambas as tabelas. d) dos registros da tabela m, exceto aqueles que aparecem na tabela n. e) dos registros da tabela n, exceto os que aparecem na tabela m.
O comando SELECT * FROM m CROSS JOIN n realizará uma junção cruzada (cross join) entre as tabelas m e n, resultando em um conjunto de dados que combina cada linha da tabela m com cada linha da tabela n. O resultado terá colunas pertencentes a ambas as tabelas, representando todas as combinações possíveis de linhas entre as duas tabelas. Portanto, a opção correta é: c) das colunas pertencentes a ambas as tabelas. Gabarito: C
463
28. VUNESP - ADP (DPE SP)/DPE SP/Analista Desenvolvedor/2023 Considere o seguinte comando emitido a partir do Sistema Gerenciador de Banco de Dados PostgreSQL v. 14.4. CREATE TABLE abc ( teste char(10) ) cláusula01 (xyz) O conteúdo de cláusula01 que faz com que a tabela abc seja formada pelo atributo teste, além dos atributos definidos na tabela xyz é: a) INHERITS b) FOLLOWS c) RECEIVES d) TAKES e) COLLECTS
A resposta correta é a letra **a) INHERITS**. No PostgreSQL, a cláusula **INHERITS** permite que uma tabela herde os atributos de outra tabela. Nesse caso, ao usar `INHERITS (xyz)`, a tabela `abc` será criada com o atributo `teste` e herdará os atributos da tabela `xyz`. As outras opções como **FOLLOWS**, **RECEIVES**, **TAKES** e **COLLECTS** não são cláusulas válidas no PostgreSQL para esse contexto. Gabarito: A
464
29. CEBRASPE (CESPE) - APO (SEPLAN RR)/SEPLAN RR/Tecnologia da Informação/2023 A respeito de banco de dados, julgue o próximo item. No PostgreSQL, as bases de dados são fisicamente separadas, apesar de estarem no mesmo servidor.
O item é **certo**. No PostgreSQL, as bases de dados são fisicamente separadas, o que significa que cada banco de dados tem seu próprio conjunto de arquivos no sistema de arquivos do servidor. Embora vários bancos de dados possam estar hospedados no mesmo servidor PostgreSQL, cada um opera de forma independente em relação aos outros, sem compartilhamento de dados ou estrutura de armazenamento. Gabarito: C
465
30. CEBRASPE (CESPE) - APO (SEPLAN RR)/SEPLAN RR/Tecnologia da Informação/2023 Julgue o item seguinte a respeito dos conceitos do PostgreSQL. O comando \dn é utilizado para listar todos os esquemas do banco de dados atualmente conectado em um ambiente PSQL no PostgreSQL.
O item está correto. O comando \dn é usado no ambiente PSQL (PostgreSQL Interactive Terminal) para listar todos os esquemas (schemas) do banco de dados atualmente conectado. Essa é uma maneira útil de visualizar os esquemas disponíveis em um banco de dados PostgreSQL e suas respectivas relações. Portanto, a afirmação é precisa. Gabarito: Certo
466
31. CEBRASPE (CESPE) - Ana Reg (AGER MT)/AGER MT/Ciências da Computação e Sistemas de Informação/2023 Um metacomando em PostgreSQL sempre começa com o seguinte caractere: a) arroba ( @ ). b) sinal de cifrão ( $ ). c) contrabarra ou barra invertida ( \ ). d) exclamação ( ! ). e) barra ( / ).
A resposta correta é a letra **c) contrabarra ou barra invertida ( \ )**. No PostgreSQL, os metacomandos (também conhecidos como comandos psql) sempre começam com o caractere de contrabarra ( \ ). Esses comandos são usados no terminal interativo psql para realizar operações específicas, como listar tabelas, descrever a estrutura de uma tabela, entre outros. Gabarito: C
467
32. CEBRASPE (CESPE) - AIS (EMPREL)/EMPREL/Banco de Dados/2023 Considerando que, em um banco de dados PostgreSQL 9.2, tenha sido identificado um lock causado por uma sessão com pid 13652, assinale a opção que apresenta o comando que deve ser executado para eliminar a sessão. a) select pg_terminate_backend(13652) from information_schema; b) execute pg_cancel_backend(13652); c) execute pg_terminate_backend(13652); d) execute immediate pg_terminate_backend(13652); e) select pg_terminate_backend(13652);
A resposta correta é a letra **e) select pg_terminate_backend(13652);**. O comando `pg_terminate_backend(pid)` é utilizado para encerrar uma sessão específica no PostgreSQL, onde `pid` é o identificador do processo da sessão a ser terminada. O comando deve ser executado dentro de uma instrução `SELECT` para ser aceito pelo PostgreSQL. As outras opções não estão corretas para encerrar uma sessão da forma esperada. Gabarito: E
468
33. CEBRASPE (CESPE) - Ana (MPE RO)/MPE RO/Suporte Computacional/2023 Assinale a opção que apresenta o arquivo do servidor de banco de dados que é utilizado para a autenticação do cliente PostgreSQL. a) pg_hba.conf b) sp_msx_enlist c) postgresql.conf d) pg_ident.conf e) pg_ctl.conf
A resposta correta é a letra **a) pg_hba.conf**. O arquivo `pg_hba.conf` (PostgreSQL Host-Based Authentication) é utilizado para configurar as regras de autenticação dos clientes que se conectam ao servidor PostgreSQL. Nele, é possível definir quais usuários podem acessar quais bancos de dados, a partir de quais endereços IP, e quais métodos de autenticação devem ser usados. As outras opções não são usadas especificamente para autenticação de clientes no PostgreSQL. Gabarito: A
469
34. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza / Geografia / 2023 Com relação ao aplicativo QGIS e ao banco de dados geográficos PostgreSQL/PostGIS, ambos de domínio público, julgue o item subsequente. O QGIS utiliza a biblioteca de acesso a dados geoespaciais denominada GDAL/OGR; a GDAL suporta dados em formato raster, ao passo que a OGR suporta modelos digitais de elevação.
O item é **incorreto**. A afirmação correta seria que a **GDAL** (Geospatial Data Abstraction Library) suporta dados em formato **raster**, enquanto a **OGR** é a parte da biblioteca que suporta dados em formato **vetorial**, não especificamente modelos digitais de elevação. Modelos digitais de elevação (MDE) são geralmente representados como dados raster, então a GDAL também pode ser utilizada para manipular MDEs, mas OGR não é a biblioteca responsável por isso. Portanto, a afirmação no item não está correta em sua descrição do que cada parte da GDAL/OGR suporta. Gabarito: Errado
470
35. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza / Geografia / 2023 Com relação ao aplicativo QGIS e ao banco de dados geográficos PostgreSQL/PostGIS, ambos de domínio público, julgue o item subsequente. O PostgreSQL corresponde a um sistema de gerenciamento de banco de dados incapaz de gerenciar dados espaciais, necessitando, para tanto, de uma extensão denominada PostGIS.
O item está correto. O PostgreSQL é um sistema de gerenciamento de banco de dados relacional (SGBDR), e, por padrão, não possui recursos específicos para lidar com dados espaciais. No entanto, o PostGIS é uma extensão para o PostgreSQL que adiciona suporte para dados espaciais, permitindo o armazenamento, consulta e análise de informações geográficas. A instalação do PostGIS estende as capacidades do PostgreSQL para suportar tipos de dados espaciais, índices espaciais e funções relacionadas à análise espacial. Dessa forma, o PostgreSQL, quando combinado com o PostGIS, torna-se uma poderosa plataforma para lidar com dados geoespaciais. Gabarito: Certo
471
36. CEBRASPE (CESPE) - AFM (Pref Fortaleza)/Pref Fortaleza / Geografia / 2023 No PostgreSQL, é possível criar diversas funções dos tipos geometry e geography. Acerca dessas duas funções, julgue o item a seguir. A função geometry lida com dados bidimensionais — como linhas e polígonos —, ao passo que a geography lida com dados tridimensionais — como modelos digitais de elevação.
O item é **incorreto**. No PostgreSQL/PostGIS: - A **tipo `geometry`** é usado para representar dados espaciais bidimensionais, como pontos, linhas e polígonos, mas também pode incluir dados tridimensionais (3D) se forem necessários. - O **tipo `geography`** é usado para representar dados geoespaciais em uma superfície curva, como a Terra, e é tipicamente usado para calcular distâncias e áreas em uma esfera, mas não lida especificamente com dados tridimensionais, como modelos digitais de elevação. Portanto, a afirmação de que o tipo `geography` lida com dados tridimensionais não é precisa. Ambos os tipos podem representar dados em duas ou três dimensões, mas o foco e a aplicação dos tipos são diferentes. Gabarito: Errado
472
37. CEBRASPE (CESPE) - Ana (MPE RO)/MPE RO/Programador/2023 No PostgreSQL 12, o pg_restore é um utilitário para restaurar um banco de dados de um arquivo criado pelo pg_dump. Assinale a opção que apresenta o argumento que deve ser inserido, ao fazer uso desse utilitário via linha de comando, para criar o banco de dados de destino, caso ele não exista, antes de restaurar nele. a) --data-only b) --create c) --schema d) --format e) --index
A resposta correta é a letra **b) --create**. O argumento `--create` no utilitário `pg_restore` é usado para indicar que o banco de dados de destino deve ser criado antes da restauração, caso ele não exista. Isso permite que você restaure um dump em um novo banco de dados sem precisar criá-lo manualmente antes do processo de restauração. As outras opções não têm a mesma função: - **--data-only**: restaura apenas os dados, não a estrutura do banco de dados. - **--schema**: especifica quais esquemas devem ser restaurados. - **--format**: especifica o formato do arquivo de dump. - **--index**: refere-se a índices, mas não cria um banco de dados. Assim, a opção correta para criar o banco de dados se ele não existir é **--create**. Gabarito: B
473
38. CESGRANRIO - Tec Cien (BASA)/BASA/Tecnologia da Informação / 2022 Uma das atividades regularmente executadas na administração de bancos de dados é a realização de cópias de segurança (backup). No PostgreSQL, uma das formas indicadas para a realização de backups é a) utilizar o programa pg_backup do PostgreSQL. b) realizar o backup dos arquivos utilizados pelo PostgreSQL no sistema de arquivos. c) configurar o PostgreSQL para backups automáticos por meio do parâmetro Database Backup. d) executar o comando VACUUM do PostgreSQL no banco de dados em que se deseja realizar backup. e) executar o comando CREATE BACKUP indicando o nome do banco de dados do qual se quer realizar backup.
A resposta correta é a letra **b) realizar o backup dos arquivos utilizados pelo PostgreSQL no sistema de arquivos.** Embora existam várias maneiras de realizar backups no PostgreSQL, uma abordagem comum é fazer uma cópia dos arquivos de dados diretamente do sistema de arquivos, especialmente quando o banco de dados está inativo. Isso pode ser feito enquanto o banco de dados está em modo "offline". As outras opções não estão corretas: - **a) utilizar o programa pg_backup do PostgreSQL**: Não existe um programa chamado `pg_backup`. - **c) configurar o PostgreSQL para backups automáticos por meio do parâmetro Database Backup**: Não há um parâmetro específico com esse nome. - **d) executar o comando VACUUM do PostgreSQL no banco de dados em que se deseja realizar backup**: O comando `VACUUM` é usado para limpeza e recuperação de espaço, não para realizar backups. - **e) executar o comando CREATE BACKUP indicando o nome do banco de dados do qual se quer realizar backup**: Não existe um comando `CREATE BACKUP` no PostgreSQL para essa finalidade. Portanto, a alternativa correta é a **b**. Gabarito: B
474
39. Cebraspe – Técnico Judiciário – Tecnologia da Informação (TRT-AP/PA)/2022 Considere-se que as tabelas Produto e Categoria, a seguir, tenham sido implementadas em um banco de dados SQL. Considere-se, ainda, que o script SQL a seguir tenha sido executado no Postgres12. Assinale a opção que contenha a tabela com o resultado correto do script supracitado.
O script SQL fornecido faz uma consulta que calcula a média dos valores dos produtos agrupados por categoria, usando uma junção externa esquerda (LEFT OUTER JOIN) entre as tabelas "Produto" e "Categoria". O resultado da consulta é filtrado para incluir apenas grupos cuja média seja maior que 7. Vamos calcular o resultado passo a passo: 1. O LEFT OUTER JOIN é usado para combinar as tabelas "Produto" e "Categoria" com base na coluna idCategoria. Isso incluirá todos os produtos, mesmo aqueles que não estão associados a uma categoria. 2. A consulta faz um GROUP BY na coluna idCategoria, o que significa que os produtos são agrupados por categoria. 3. Para cada grupo de produtos (por categoria), a consulta calcula a média dos valores dos produtos com a função AVG(P.ValorProduto). 4. O HAVING total > 7 filtra os grupos (categorias) cuja média seja maior que 7. Aqui está o resultado correto da consulta: DeCategoria | total Alimentos | 9 Neste caso, a consulta retorna apenas a categoria "Alimentos" (idCategoria = 2) porque a média dos valores dos produtos nessa categoria é maior que 7 (9). A categoria "Limpeza" não é incluída porque a média dos valores dos produtos nessa categoria é igual a 7 (que não é maior que 7). Logo, temos a nossa resposta na alternativa A. Gabarito: Letra A
475
40. Cebraspe – Analista Judiciário – Tecnologia da Informação (TRT-AP/PA)/2022 Considere os seguintes comandos SQL executados no PostgreSQL 14. 1 CREATE TABLE my_table(n int); 2 INSERT INTO my_table VALUES (1); 3 BEGIN; 4 INSERT INTO my_table VALUES (2); 5 SAVEPOINT my_savepoint; 6 INSERT INTO my_table VALUES (3); 7 ROLLBACK TO my_savepoint; 8 ROLLBACK; 9 SELECT * FROM my_table; Considere ainda que os números apresentados apenas mostram o número da linha em que se encontra cada comando e que todos os comandos, em todas as linhas, serão executados na sequência apresentada, exceto quando explicitado o contrário. A partir das informações anteriores, assinale a opção correta. a) Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir. 1 b) Caso seja comentada somente a linha 8, o resultado será o apresentado a seguir. 1 2 c) Caso seja comentada somente a linha 8, o resultado será o apresentado a seguir. 2 d) Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir. 1 2 e) Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir. null
Vamos analisar o que acontece com cada linha de comando: 1. CREATE TABLE my_table(n int); - Cria uma tabela chamada my_table com uma coluna n. 2. INSERT INTO my_table VALUES (1); - Insere o valor 1 na tabela my_table. 3. BEGIN; - Inicia uma transação. 4. INSERT INTO my_table VALUES (2); - Insere o valor 2 na tabela my_table dentro da transação. 5. SAVEPOINT my_savepoint; - Define um ponto de salvamento chamado my_savepoint dentro da transação. 6. INSERT INTO my_table VALUES (3); - Insere o valor 3 na tabela my_table dentro da transação. 7. ROLLBACK TO my_savepoint; - Faz um rollback para o ponto de salvamento my_savepoint, desfazendo a inserção do valor 3. 8. ROLLBACK; - Faz um rollback de toda a transação, desfazendo a inserção do valor 2. 9. SELECT * FROM my_table; - Seleciona todos os valores da tabela my_table. Agora, vejamos as opções: A. "Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir." ● Isso está correto. Se a linha 7 for comentada, o resultado será somente o valor 1. B. "Caso seja comentada somente a linha 8, o resultado será o apresentado a seguir." ● Isso não está correto. Se a linha 8 for comentada, a transação continuará e o resultado incluirá o valor 2. C. "Caso seja comentada somente a linha 8, o resultado será o apresentado a seguir." ● Isso não está correto. Se a linha 8 for comentada, a transação continuará e o resultado incluirá o valor 2. D. "Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir." ● Isso está correto. Se a linha 7 for comentada, o resultado será somente o valor 1. E. "Caso seja comentada somente a linha 7, o resultado será o apresentado a seguir." ● Isso não está correto. Se a linha 7 for comentada, a transação continuará e o resultado incluirá o valor 2. Portanto, as opções A e D estão correta, por isso a questão foi anulada pela banca. Gabarito: Anulado
476
41. (CESGRANRIO - Esc BB/BB/Agente de Tecnologia/2021) Para que fosse mais fácil entender um sistema em desenvolvimento, um desenvolvedor usou um modelo de dados relacional (protótipo) mais simples do que o do banco de dados do sistema corporativo original, sendo que ambos utilizavam o mesmo SGDB PostgreSQL. Cabe ressaltar que esse protótipo utilizava apenas um subconjunto dos dados do sistema corporativo original e realizava apenas consultas. Uma forma de garantir que os dados desse protótipo estejam sempre completamente atualizados em relação aos dados reais, com baixo impacto tanto na operação quanto no desempenho do sistema corporativo original, é a) criar apenas VIEWS no protótipo, definidas com consultas sobre as tabelas do sistema corporativo original. b) implantar TRIGGERS a cada INSERT, em todas as tabelas do sistema corporativo original, atualizando as tabelas do protótipo. c) implantar TRIGGERS de atualização a cada SELECT, em todas as tabelas do protótipo. d) particionar as tabelas da base do sistema corporativo original escolhendo um RANGE adequado ao trabalho do protótipo. e) utilizar DUMP da base do sistema corporativo original e PSQL para a base do protótipo, a cada seção de trabalho, para atualizar a base do protótipo.
A resposta correta é a letra **a) criar apenas VIEWS no protótipo, definidas com consultas sobre as tabelas do sistema corporativo original.** Justificativa: - **a)** **Criar apenas VIEWS no protótipo, definidas com consultas sobre as tabelas do sistema corporativo original.** Esta abordagem permite que o protótipo sempre consulte os dados mais recentes do sistema original sem a necessidade de duplicar os dados. As views atuam como uma "janela" para os dados reais, garantindo que as consultas reflitam as informações atualizadas, com baixo impacto no desempenho e na operação do sistema original. - **b)** **Implantar TRIGGERS a cada INSERT, em todas as tabelas do sistema corporativo original, atualizando as tabelas do protótipo.** Isso implicaria em um impacto significativo na performance do sistema original, já que a cada operação de inserção teria que haver uma atualização nas tabelas do protótipo. - **c)** **Implantar TRIGGERS de atualização a cada SELECT, em todas as tabelas do protótipo.** Isso não faz sentido, pois não é prático atualizar dados a cada consulta. Além disso, triggers não são geralmente usadas em selects. - **d)** **Particionar as tabelas da base do sistema corporativo original escolhendo um RANGE adequado ao trabalho do protótipo.** A partição de tabelas é uma técnica de otimização para grandes conjuntos de dados, mas não garantiria que os dados estivessem sempre atualizados no protótipo. - **e)** **Utilizar DUMP da base do sistema corporativo original e PSQL para a base do protótipo, a cada seção de trabalho, para atualizar a base do protótipo.** Isso exigiria operações manuais e seria muito trabalhoso, além de não garantir que os dados estivessem sempre atualizados em tempo real. Conclusão Assim, a melhor opção para manter os dados do protótipo sempre atualizados em relação ao sistema original, com baixo impacto, é **a)**. Gabarito: A
477
42. DIRENS Aeronáutica - Estágio de Adaptação à Graduação de Sargento (EEAR)/Informática/2019/EAGS 2020 Em se tratando do utilitário psql, para a criação de um banco de dados no PostgreSQL, devemos recorrer a esse utilitário para saber quais são os bancos de dados que já foram criados e quais são as tabelas e os índices existentes em cada um. Considerando essa proposição, relacione as colunas de acordo com cada definição e assinale a alternativa correta. 1 – \? 2 – \h 3 – \di 4 – \dt ( ) Para visualizar os índices. ( ) Para obter ajuda na sintaxe de comandos SQL. ( ) Para visualizar o nome das tabelas existentes. ( ) Para obter acesso a todas as opções oferecidas pelo gerenciador. a) 3 – 1 – 4 – 2 b) 2 – 1 – 4 – 3 c) 3 – 2 – 4 – 1 d) 4 – 1 – 2 – 3
Tudo o que você digita no psql que começa com uma barra invertida sem citação é um meta-comando psql que é processado pelo próprio psql. Esses comandos tornam o psql mais útil para administração ou script. Meta-comandos são frequentemente chamados de comandos barra ou barra invertida. Vamos analisar cada um dos meta comandos: - \? - lista os comandos disponíveis no PostgreSQL. Não são os comandos SQL, mas sim os comandos do próprio SGBD. - \h - é utilizado para ajudar com a sintaxe de um comando SQL. Funciona assim: \h [comando] Se não for especificado um comando, \h irá mostrar todos os comandos SQL que possuem ajuda com a sintaxe. - \di - lista todos os índices do banco. O "i" é para indicar que queremos informações sobre os indexes. - \dt - lista o nome das tabelas. O "t" é para indicar que queremos informações sobre as tables. Assim, temos a seguinte sequência: 3 – 2 – 4 – 1. Podemos encontrar o gabarito na alternativa C. Gabarito: C
478
43. CEBRASPE (CESPE) - Auxiliar Judiciário (TJ PA)/Programador de Computador/2020 No sistema de gerenciamento de banco de dados PostgreSQL, para criar uma tabela contendo uma coluna com um tipo de dados inteiro e com a propriedade de autoincremento, é correto o uso de dados dos tipos a) boolean e bigint. b) character varying e cidr. c) inet e integer. d) smallint e real. e) serial e bigserial.
A resposta correta é a letra **e) serial e bigserial**. Justificativa: - O tipo **`serial`** é um tipo de dados específico no PostgreSQL que é usado para criar uma coluna de inteiro que será autoincrementada automaticamente. Ele é equivalente a um **`integer`** com uma sequência associada. - O tipo **`bigserial`** é semelhante ao `serial`, mas permite armazenar um número maior, sendo equivalente a um **`bigint`** com uma sequência. Esses tipos são comumente usados para chaves primárias onde é necessário que o valor da coluna seja gerado automaticamente, como identificadores únicos para registros na tabela. As outras opções não são adequadas para a definição de uma coluna com autoincremento: - **a)** boolean e bigint: O tipo boolean não é numérico e não tem autoincremento. - **b)** character varying e cidr: Esses tipos não têm relação com números inteiros ou autoincremento. - **c)** inet e integer: O tipo inet é para endereços IP e não tem relação com autoincremento. - **d)** smallint e real: Smallint é um tipo numérico, mas não é usado para autoincremento, e real é um tipo de ponto flutuante. Portanto, a resposta correta é **e) serial e bigserial**. Gabarito: E
479
44. IBFC - Técnico Judiciário (TRE PA)/Apoio Especializado/Operação de Computadores/2020 Quanto às principais características do PostgreSQL, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F). ( ) não impõe limites no tamanho de armazenamento dos tipos de dados. ( ) suporta um único tipo de índice, denominado índice em cluster (clustered index). ( ) o PostgreSQL possui o maior TCO (Total Cost of Ownership) dos SGBD's. Assinale a alternativa que apresenta a sequência correta de cima para baixo. a) V, F, F b) V, V, F c) F, V, V d) F, F, V
Vamos analisar as afirmativas uma por uma: 1. **"Não impõe limites no tamanho de armazenamento dos tipos de dados."** Esta afirmativa é **verdadeira**. O PostgreSQL permite tipos de dados como `text`, `bytea`, e arrays, que podem armazenar grandes quantidades de dados sem um limite específico de tamanho, exceto pelo espaço total disponível no sistema de arquivos. 2. **"Suporta um único tipo de índice, denominado índice em cluster (clustered index)."** Esta afirmativa é **falsa**. O PostgreSQL suporta vários tipos de índices, como B-tree, Hash, GiST, GIN, entre outros. O termo "índice em cluster" refere-se a como os dados são fisicamente organizados, mas o PostgreSQL não limita os tipos de índices apenas a esse. 3. **"O PostgreSQL possui o maior TCO (Total Cost of Ownership) dos SGBDs."** Esta afirmativa é **falsa**. O PostgreSQL é um sistema de gerenciamento de banco de dados open-source, o que geralmente resulta em um TCO mais baixo em comparação com SGBDs proprietários, como Oracle ou Microsoft SQL Server, que têm custos de licenciamento elevados. Sequência correta: - **Verdadeiro, Falso, Falso** Alternativa correta: **a) V, F, F**.
480
45. NC-UFPR - Profissional Nível Universitário Jr (ITAIPU)/Gestão da Informação/2019 Considere a seguinte instrução SQL: WITH RECURSIVE cte(n) AS ( SELECT 1 UNION ALL SELECT n+1 FROM cte WHERE n<5 ) SELECT * FROM cte; Ao ser executada no PostgreSQL, ela produz como resultado: a) 0,1,2,3,4 b) 1,1,2,3,4 c) 1,2,3,4,5 d) 1,2,3,4 e) 1
Vamos analisar a instrução SQL fornecida: ```sql WITH RECURSIVE cte(n) AS ( SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 5 ) SELECT * FROM cte; ``` Análise da CTE: 1. **`WITH RECURSIVE cte(n) AS (...)`**: Esta parte define uma CTE (Common Table Expression) chamada `cte` com uma coluna `n`. 2. **`SELECT 1`**: A primeira parte da CTE (a base da recursão) retorna o valor 1. 3. **`UNION ALL`**: Este operador combina os resultados da consulta base com os resultados da consulta recursiva. 4. **`SELECT n + 1 FROM cte WHERE n < 5`**: Esta parte recursivamente incrementa o valor de `n` em 1, enquanto `n` for menor que 5. Execução da CTE: - A execução começa com a base da recursão, que retorna **1**. - Então, a consulta recursiva é chamada: - Para `n = 1`, a próxima iteração gera **2**. - Para `n = 2`, a próxima iteração gera **3**. - Para `n = 3`, a próxima iteração gera **4**. - Para `n = 4`, a próxima iteração gera **5**. - Quando `n` atinge 5, a condição `n < 5` não é mais satisfeita, e a recursão para. Resultados finais da CTE: Os valores gerados serão: **1, 2, 3, 4, 5**. Alternativa correta: **c) 1, 2, 3, 4, 5**.
481
46. NC-UFPR - Profissional Nível Universitário Jr (ITAIPU)/Gestão da Informação/2019 Em relação à busca por texto utilizando os operadores LIKE, SIMILAR TO, expressão regular, Full Text Search (FTS), funções e operadores relacionados à busca textual no PostgreSQL, é correto afirmar: a) O operador LIKE realiza busca por semelhança de palavras, resolvendo o problema de ortografia incorreta. b) O operador SIMILAR TO realiza busca baseada em expressões regulares, realizando o ranqueamento de semelhança entre as palavras do resultado em relação às palavras da busca. c) Erros de ortografia podem ser tratados pelo mecanismo de busca FTS, por semelhança entre os termos. d) O operador @@ do PostgreSQL é equivalente ao operador RLIKE do MySQL. e) Os tipos tsquery e tsvector, criados respectivamente pelas funções to_tsquery e to_tsvector, são conjuntos de trigrans das strings informadas, que são comparadas em ordem alfabética durante a busca.
Vamos analisar cada uma das afirmações sobre a busca textual no PostgreSQL: Análise das afirmativas: a) **"O operador LIKE realiza busca por semelhança de palavras, resolvendo o problema de ortografia incorreta."** **FALSO**. O operador `LIKE` é usado para buscar padrões em strings, mas não resolve problemas de ortografia. Ele compara a sequência de caracteres com base em curingas (como `%` e `_`), mas não considera semelhança fonética ou erros de ortografia. b) **"O operador SIMILAR TO realiza busca baseada em expressões regulares, realizando o ranqueamento de semelhança entre as palavras do resultado em relação às palavras da busca."** **FALSO**. O operador `SIMILAR TO` é uma combinação de `LIKE` e expressões regulares, mas não faz ranqueamento de semelhança. Ele compara padrões de maneira mais flexível que `LIKE`, mas não é projetado para ranquear resultados. c) **"Erros de ortografia podem ser tratados pelo mecanismo de busca FTS, por semelhança entre os termos."** **VERDADEIRO**. O Full Text Search (FTS) no PostgreSQL pode lidar com algumas variações e erros de ortografia através da normalização e stemming, e também pode utilizar o operador `ts_rank` para ranquear a relevância dos resultados. d) **"O operador @@ do PostgreSQL é equivalente ao operador RLIKE do MySQL."** **FALSO**. O operador `@@` em PostgreSQL é usado para verificar se uma consulta de texto (do tipo `tsquery`) corresponde a um vetor de texto (do tipo `tsvector`). O `RLIKE` do MySQL é usado para operações de expressões regulares, o que não é equivalente. e) **"Os tipos tsquery e tsvector, criados respectivamente pelas funções to_tsquery e to_tsvector, são conjuntos de trigrans das strings informadas, que são comparadas em ordem alfabética durante a busca."** **FALSO**. `tsquery` e `tsvector` são usados para representação e busca de texto completo, mas não são "conjuntos de trigrans" (trigrams). Eles são utilizados para indexação e busca de termos de texto, e a comparação não é simplesmente alfabética, mas sim baseada em relevância e presença de termos. Resumo das respostas: - a) F - b) F - c) V - d) F - e) F Alternativa correta: **c)** "Erros de ortografia podem ser tratados pelo mecanismo de busca FTS, por semelhança entre os termos."
482
47. VUNESP - Técnico de Tecnologia da Informação (UFABC)/2019 No Sistema Gerenciador de Bancos de Dados PostgreSQL (versão 9), há um comando que exibe o plano que o gerenciador irá utilizar para realizar uma determinada consulta. O comando descrito é o a) EXPLAIN. b) OFFSET. c) NOTIFY. d) LOCK. e) FETCH.
Vamos analisar cada uma das alternativas: a) CORRETA. O comando EXPLAIN é utilizado para exibir o plano de execução de uma determinada consulta. b) ERRADA. A cláusula OFFSET serve para retornar apenas uma parte do resultado de uma consulta, indicando quantas linhas a partir do início do resultado serão ignoradas. c) ERRADA. O comando NOTIFY envia uma notificação aos clientes que se inscreveram para receber notificações através do comando LISTEN. d) ERRADA. LOCK é um comando utilizado para travar uma tabela. e) ERRADA. O comando FETCH é utilizado para retornar linhas de uma consulta utilizando um cursor criado previamente. Gabarito: A.
483
48. CEBRASPE (CESPE) - Analista de Gestão de Resíduos Sólidos (SLU DF)/Informática/2019 No que diz respeito a ferramentas de desenvolvimento, julgue o item a seguir. O PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional (ORDBMS) que oferece suporte a tipos de dados especializados como o JSon e o JSonb.
O PostgreSQL é um sistema de banco de dados objeto-relacional, de código aberto, que usa a linguagem SQL, sendo altamente extensível, com suporte ao tipo de dados JSON desde a versão 9.2, permitindo a manipulação de dados no formato JSON de maneira eficiente, podendo armazenar documentos JSON no dois tipos de dados disponíveis: JSON e JSONB. A diferença entre eles é que os dados do tipo JSON são armazenados da mesma forma como são inseridos, em texto, o que causa lentidão nas consultas. Mas, com JSONB, o texto é processado no momento da inserção e armazenado em formato binário, com isso as consultas ficam mais rápidas. Gabarito: C
484
49. VUNESP - Analista de Tecnologia da Informação (Pref Olímpia)/2019 O sistema gerenciador de bancos de dados PostgreSQL (versão 9.5) possui os seguintes modos de desligamento (shutdown): a) Hard, Premium e Single. b) Hibernate, Full e Soft. c) Initial, Intermediate e Final. d) Partial, Permanent e Semi-permanent. e) Smart, Fast e Immediate.
Existem três modos de desligamento de um servidor PostgreSQL: Smart: o modo smart desabilita novas conexões, mas deixa as sessões existentes terminarem seu trabalho normalmente. O servidor é desligado após todas as sessões finalizarem seus trabalhos. Fast: o modo fast desabilita novas conexões e envia um sinal para que todos os processos abortem suas transações atuais e finalizem seus trabalhos. Immediate: o modo immediate é o menos "amigável". Ele envia um sinal para que todos os processos terminem. Se isso não ocorrer em até 5 segundos, é enviado um sinal de kill para finalizar o processo imediatamente. A única alternativa que traz os três modos é a letra e) Smart, Fast e Immediate. Gabarito: E.
485
50. CEBRASPE (CESPE) - Analista de Tecnologia da Informação (TCE- RO)/Desenvolvimento de Sistemas/2019 Em geral, a sintaxe para a criação de índice em banco de dados relacional segue uma estrutura-padrão, como demonstra, por exemplo, a seguinte estrutura no banco relacional PostgreSQL, em versão 9 ou superior. CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ name ] ON table [ USING method] Tendo como referência essas informações, assinale a opção correta. a) CREATE INDEX constrói uma linha de índice de acordo com uma coluna específica da tabela. b) O parâmetro method depende do tamanho da tabela e não deve ser utilizado se o tamanho da tabela for menor que 1 MB. c) Um campo de índice não pode ser uma expressão calculada a partir dos valores de uma ou mais colunas da tabela. d) O método de indexação btree armazena dados de forma que cada nó contenha chaves em ordem crescente. e) Quando a cláusula WHERE está presente, um índice total é criado, porque a cláusula já é restritiva na operação de selecionar dados ou de inserir dados.
Vamos analisar cada uma das opções apresentadas sobre a criação de índices no PostgreSQL: Análise das alternativas: a) **"CREATE INDEX constrói uma linha de índice de acordo com uma coluna específica da tabela."** **FALSO**. O comando `CREATE INDEX` pode criar um índice em uma ou mais colunas, ou até mesmo em expressões calculadas, não apenas em uma coluna específica. b) **"O parâmetro method depende do tamanho da tabela e não deve ser utilizado se o tamanho da tabela for menor que 1 MB."** **FALSO**. O parâmetro `USING method` no PostgreSQL é utilizado para especificar o método de indexação (como `btree`, `hash`, `gist`, `gin`, etc.). Ele não depende diretamente do tamanho da tabela, mas sim do tipo de dados e do tipo de consultas que serão realizadas. O tamanho da tabela não é um critério para a escolha de método. c) **"Um campo de índice não pode ser uma expressão calculada a partir dos valores de uma ou mais colunas da tabela."** **FALSO**. O PostgreSQL permite a criação de índices em expressões calculadas a partir dos valores de colunas, chamadas de índices de expressões. Por exemplo, você pode criar um índice com base em uma função aplicada a uma coluna. d) **"O método de indexação btree armazena dados de forma que cada nó contenha chaves em ordem crescente."** **VERDADEIRO**. O método `btree` (que é o método de indexação padrão no PostgreSQL) organiza os dados em uma estrutura de árvore, onde as chaves são armazenadas em ordem crescente dentro dos nós. Isso facilita a busca e a ordenação dos dados. e) **"Quando a cláusula WHERE está presente, um índice total é criado, porque a cláusula já é restritiva na operação de selecionar dados ou de inserir dados."** **FALSO**. Quando a cláusula `WHERE` está presente em um índice, isso cria um **índice parcial**, não um índice total. Um índice parcial armazena apenas as entradas que satisfazem a condição `WHERE`, o que pode melhorar a eficiência para determinadas consultas. Alternativa correta: **d) O método de indexação btree armazena dados de forma que cada nó contenha chaves em ordem crescente.** Gabarito: D
486
51. CEBRASPE (CESPE) - Analista Judiciário (TJ AM)/Analista de Sistemas/2019 A respeito de bancos de dados relacionais, julgue o item a seguir. Em um banco de dados PostgreSQL, a manipulação de ROLES é feita exclusivamente por comandos CREATE e DROP fornecidos com o banco de dados.
Um ROLE (papel) é um conjunto de permissões (ou privilégios) que pode ser atribuído aos usuários do banco. No PostgreSQL, a manipulação dos ROLES é feita através dos comandos CREATE ROLE, ALTER ROLE, SET ROLE e DROP ROLE. Note que a assertiva erra ao afirmar que a manipulação é feita exclusivamente pelos comandos CREATE e DROP. Gabarito: E.
487
52. IDECAN - Técnico (IF Baiano)/Tecnologia da Informação /2019 Sobre o PostgreSQL, assinale a alternativa correta. a) Só é possível instalar o PostgreSQL com privilégios de super usuário, ou seja, é necessário o acesso de usuário root do sistema. b) Existem três abordagens fundamentais de backup no PostgreSQL: SQL dump, backup a nível de arquivos e arquivamento contínuo. c) O comando para se efetuar um dump de um banco de dados chamado dbname gerando um arquivo dumpfile é o seguinte: psql dbname < dumpfile. d) O comando createdb mydb, considerando que o PostgreSQL está instalado corretamente, cria uma tabela de nome mydb. e) O comando dropdb mydb remove todos os arquivos associados a um banco de dados. No entanto, o PostgreSQL cria um backup antes.
Vamos analisar cada uma das alternativas sobre o PostgreSQL: Análise das alternativas: a) **"Só é possível instalar o PostgreSQL com privilégios de super usuário, ou seja, é necessário o acesso de usuário root do sistema."** **FALSO**. Embora seja comum instalar o PostgreSQL com privilégios de super usuário (root) para garantir permissões adequadas no sistema, é possível configurar o PostgreSQL em ambientes de usuários não root, especialmente em sistemas de desenvolvimento ou contêineres. b) **"Existem três abordagens fundamentais de backup no PostgreSQL: SQL dump, backup a nível de arquivos e arquivamento contínuo."** **VERDADEIRO**. O PostgreSQL oferece três principais abordagens de backup: - **SQL Dump**: Utilizando o utilitário `pg_dump`, gera um arquivo com os comandos SQL necessários para recriar o banco de dados. - **Backup a nível de arquivos**: Cópia dos arquivos de dados diretamente do sistema de arquivos. - **Arquivamento contínuo (PITR - Point-in-Time Recovery)**: Utiliza o registro de logs de transações para permitir a recuperação contínua. c) **"O comando para se efetuar um dump de um banco de dados chamado dbname gerando um arquivo dumpfile é o seguinte: psql dbname < dumpfile."** **FALSO**. O comando correto para realizar um dump de um banco de dados no PostgreSQL é `pg_dump dbname > dumpfile`. O comando `psql` é usado para restaurar o banco de dados a partir do dump, e não para criá-lo. d) **"O comando createdb mydb, considerando que o PostgreSQL está instalado corretamente, cria uma tabela de nome mydb."** **FALSO**. O comando `createdb mydb` cria um **banco de dados** chamado `mydb`, e não uma tabela. e) **"O comando dropdb mydb remove todos os arquivos associados a um banco de dados. No entanto, o PostgreSQL cria um backup antes."** **FALSO**. O comando `dropdb mydb` remove o banco de dados e seus arquivos associados, mas o PostgreSQL **não** cria um backup automaticamente antes de executar o comando. É responsabilidade do administrador realizar backups antes de excluir um banco. Alternativa correta: **b) Existem três abordagens fundamentais de backup no PostgreSQL: SQL dump, backup a nível de arquivos e arquivamento contínuo.** Gabarito: B
488
53. BANCA: CESPE ANO: 2014 ÓRGÃO: ANATEL PROVA: ANALISTA ADMINISTRATIVO - SUPORTE E INFRAESTRUTURA DE TI A respeito de banco de dados, julgue os itens que se seguem. O PostgreSQL 9.3, ao gerenciar o controle de concorrência, permite o acesso simultâneo aos dados. Internamente, a consistência dos dados é mantida por meio do MVCC (multiversion concurrency control), que impede que as transações visualizem dados inconsistentes.
O PostgreSQL 9.3 utiliza o **MVCC (Multiversion Concurrency Control)** para gerenciar a concorrência, permitindo o acesso simultâneo aos dados e garantindo que cada transação veja uma versão consistente, sem visualizar dados inconsistentes de transações em andamento. Gabarito: C
489
54. BANCA: FCC ANO: 2012 ÓRGÃO: TCE-AM PROVA: ANALISTA TÉCNICO DE CONTROLE EXTERNO - TECNOLOGIA DA INFORMAÇÃO Sobre os fundamentos arquiteturais do banco de dados PostgreSQL, considere: I. Utiliza um modelo cliente/servidor, consistindo de um processo servidor que gerencia os arquivos do banco de dados, controla as conexões dos clientes ao banco dados e efetua ações no banco de dados em favor dos clientes. II. A aplicação cliente, que irá efetuar as operações no banco de dados, poderá ser de diversas naturezas, como uma ferramenta em modo texto, uma aplicação gráfica, um servidor web que acessa o banco de dados para exibir as páginas ou uma ferramenta de manutenção especializada. III. A aplicação cliente pode estar localizada em uma máquina diferente da máquina em que o servidor está instalado. Neste caso, a comunicação entre ambos é efetuada por uma conexão TCP/IP. O servidor pode aceitar diferentes conexões dos clientes ao mesmo tempo. Está correto o que se afirma em A) I, II e III. B) I e II, apenas. C) I e III, apenas. D) II e III, apenas. E) III, apenas.
A alternativa correta é **A) I, II e III**. Todos os itens descritos estão corretos sobre os fundamentos arquiteturais do PostgreSQL: - **Item I**: O PostgreSQL segue o modelo cliente/servidor, onde um processo servidor gerencia os arquivos do banco, controla as conexões e realiza operações em nome dos clientes. - **Item II**: As aplicações clientes podem ser de diferentes tipos, como ferramentas de linha de comando, aplicações gráficas ou servidores web. - **Item III**: O PostgreSQL permite que o cliente e o servidor estejam em máquinas diferentes, com a comunicação feita via TCP/IP, e o servidor pode gerenciar múltiplas conexões simultâneas. Gabarito: A
490
55. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 12ª REGIÃO (SC) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Localização refere-se ao fato de uma aplicação respeitar as preferências culturais sobre alfabetos, classificação, formatação de números etc. PostgreSQL usa o padrão ISO C e POSIX fornecidos pelo sistema operacional do servidor para aplicar as regras de localização. O suporte à localização é automaticamente inicializado quando um cluster de banco de dados é criado usando o comando A) create cluster. B) create database. C) initdb. D) ccluster. E) locale init.
A alternativa correta é **C) initdb**. O comando **`initdb`** é utilizado para inicializar um novo cluster de banco de dados no PostgreSQL. Durante esse processo, o PostgreSQL configura automaticamente o suporte à localização (locale), respeitando as preferências culturais, como formatação de números, datas e alfabetos, com base no padrão ISO C e POSIX fornecidos pelo sistema operacional. Gabarito: C
491
56. BANCA: FCC ANO: 2014 ÓRGÃO: TJ-AP PROVA: ANALISTA JUDICIÁRIO - BANCO DE DADOS - DBA Um dos itens da administração do sistema gerenciador de bancos de dados PostgreSQL (V.9.3.4) refere-se a gerenciar informações sobre os bancos de dados por ele controlados. O PostgreSQL contém algumas visões que auxiliam nessa tarefa, dentre elas, a visão pg_settings que contém dados sobre A) os parâmetros run-time do servidor. B) estatísticas das tabelas do servidor. C) os usuários dos bancos de dados. D) a lista de bloqueios impostos. E) a lista das funções presentes no banco de dados.
A alternativa correta é **A) os parâmetros run-time do servidor**. A visão **pg_settings** no PostgreSQL contém informações sobre os parâmetros de configuração do servidor que podem ser ajustados em tempo de execução (run-time). Esses parâmetros controlam diversos aspectos do funcionamento do PostgreSQL, como desempenho, segurança, e comportamento das transações. Gabarito: A
492
57. BANCA: CESPE ANO: 2014 ÓRGÃO: ANATEL PROVA: ANALISTA ADMINISTRATIVO - SUPORTE E INFRAESTRUTURA DE TI Julgue o item abaixo: A conexão com o PostgreSQL 9.3 é realizada, por padrão, na porta TCP 5432. Uma das configurações de segurança permitida é o acesso por meio de SSL que é true, por padrão, e é aceito, neste caso, com o uso dos protocolos TCP, IP ou NTP.
A afirmação está **errada**. No PostgreSQL, a conexão padrão realmente ocorre pela porta **TCP 5432**, e o suporte a **SSL** pode ser habilitado para garantir uma comunicação segura. No entanto, a configuração de **SSL** não está habilitada por padrão; é algo que precisa ser configurado especificamente no arquivo de configuração do servidor (`postgresql.conf` e `pg_hba.conf`). Além disso, o PostgreSQL utiliza apenas os protocolos **TCP/IP** para comunicação, e **NTP** (Network Time Protocol) não é um protocolo usado para conexão de banco de dados, mas para sincronização de tempo em redes. Portanto, a parte sobre o SSL ser "true por padrão" e o uso de NTP está incorreta. Gabarito: E
493
58. BANCA: FCC - Analista em Gestão (DPE AM)/Especializado em Tecnologia da Informação de Defensoria/Analista de Sistema/2018 No PostgreSQL 9.0, para efetuar o backup e a restauração de um banco de dados utilizam-se, respectivamente, os comandos a) bman e rman. b) backup e restore. c) sqlbac e sqlrest. d) pg_dump e psql. e) sql_backup e sql_restore.
Para executarmos o backup de um banco de dados PostgreSQL, devemos usar o comando pg_dump ou pg_dumpall. Já para restauração podemos fazer uso dos comandos psql ou pg_restore. Logo, nossa resposta pode ser encontrada na alternativa D. Gabarito: D
494
59. BANCA: FCC ANO: 2014 ÓRGÃO: TRT - 13ª REGIÃO (PB) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Paulo utiliza o pg_dump do PostgreSQL para fazer cópia de segurança de um banco de dados. Normalmente faz cópias de segurança no formato tar e utiliza o pg_restore para reconstruir o banco de dados, quando necessário. O pg_restore pode selecionar o que será restaurado, ou mesmo reordenar os itens antes de restaurá-los, além de permitir salvar e restaurar objetos grandes. Certo dia Paulo fez uma cópia de segurança do banco de dados chamado trt13 para o arquivo tribunal.tar, incluindo os objetos grandes. Paulo utilizou uma instrução que permitiu a seleção manual e reordenação de itens arquivados durante a restauração, porém, a ordem relativa de itens de dados das tabelas não pôde ser alterada durante o processo de restauração. Paulo utilizou, em linha de comando, a instrução A) pg_dump -Ec -h trt13 > tribunal.tar B) pg_dump -Ft -b trt13 > tribunal.tar C) pg_dump -tar -a trt13 > tribunal.tar D) pg_dump -tar -c trt13 > tribunal.tar E) pg_dump -Fp -b trt13 > tribunal.tar
A opção correta é **B) pg_dump -Ft -b trt13 > tribunal.tar**. Aqui está o porquê: - O utilitário **pg_dump** é utilizado para fazer backup de um banco de dados no PostgreSQL. - O parâmetro **-Ft** especifica o formato **tar**, que permite salvar a cópia em um arquivo tar. - O parâmetro **-b** inclui objetos grandes (**blobs**) no backup, o que é relevante para o cenário descrito. - A opção de reordenar itens e selecionar manualmente o que será restaurado ocorre no **pg_restore** quando o backup está no formato tar, mas a ordem dos dados das tabelas em si não pode ser alterada. Outras opções: - **A) -Ec**: este parâmetro não é válido. - **C) e D)**: o formato **-tar** não existe. O correto é **-Ft** para especificar o formato tar. - **E) -Fp**: indica o formato **plain**, que não suporta reordenamento de itens na restauração. Portanto, a correta é a opção B. Gabarito: B
495
60. BANCA: FCC ANO: 2013 ORGÃO: TRT - 12ª Região (SC) PROVA: Analista Judiciário - Tecnologia da Informação O comando em SQL capaz de serializar dados de uma tabela para um arquivo em disco, ou efetuar a operação contrária, transferindo dados de um arquivo em disco para uma tabela de um banco de dados, é o comando: (a) COPY. (b) TRANSFER. (c) SERIALIZE. (d) FILE TRANSFER. (e) EXPORT.
A opção correta é **a) COPY**. O comando **COPY** no PostgreSQL é utilizado para transferir dados entre uma tabela e um arquivo em disco. Ele pode ser usado tanto para exportar dados de uma tabela para um arquivo quanto para importar dados de um arquivo para uma tabela. A sintaxe básica do comando é: - Para exportar dados: `COPY table_name TO 'file_path';` - Para importar dados: `COPY table_name FROM 'file_path';` As demais opções não correspondem a comandos SQL válidos no PostgreSQL: - **TRANSFER** e **FILE TRANSFER** não são comandos SQL. - **SERIALIZE** também não existe como comando SQL. - **EXPORT** não é o comando correto, embora se refira ao conceito de exportação, o comando utilizado no PostgreSQL é **COPY**. Portanto, a alternativa correta é **a) COPY**. Gabarito: A
496
61. BANCA: CESPE - Oficial Técnico de Inteligência/Área 9/2018 Julgue o próximo item, a respeito de conceitos e comandos PostgreSQL e MySQL. No programa psql do PostgreSQL, a instrução \h permite mostrar o histórico de comandos SQL na sessão atual.
A afirmação é **falsa**. No programa **psql** do PostgreSQL, a instrução `\h` não é utilizada para mostrar o histórico de comandos SQL na sessão atual. Em vez disso, a instrução `\h` ou '\help'é usada para obter ajuda sobre a sintaxe de comandos SQL específicos. Para visualizar o histórico de comandos, normalmente utiliza-se as teclas de seta para cima e para baixo no terminal, ou pode-se utilizar o comando `\s` para listar o histórico de comandos executados na sessão. Portanto, a afirmativa está incorreta. Gabarito: Errado
497
62. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 12ª REGIÃO (SC) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO A instrução SQL em PostgreSQL abaixo está mal formulada. CREAT VIEW vista AS SELECT 'Hello World'; Isto aconteceu, porque A a criação de uma visualização requer a utilização da cláusula WHERE para a restrição dos dados. B não é possível criar uma VIEW sem a identificação do tipo de dado e sem a determinação da quantidade de registros selecionados. C o comando CREATE VIEW deve utilizar a cláusula FROM para o nome da tabela. D a criação de uma visualização (VIEW) requer a definição de um gatilho (trigger) correspondente ao nome da coluna. E por padrão, o tipo de dado será considerado indefinido (unknown) e a coluna irá utilizar o nome padrão ?column?.
A opção correta é: **E** por padrão, o tipo de dado será considerado indefinido (unknown) e a coluna irá utilizar o nome padrão `?column?`. Justificativa: A instrução SQL está mal formulada porque, ao criar uma VIEW sem especificar explicitamente um nome para a coluna, o PostgreSQL atribui automaticamente o tipo de dado como `unknown` e utiliza `?column?` como o nome padrão para a coluna resultante. Assim, a VIEW não pode ser criada sem uma definição adequada para o nome da coluna, levando à confusão sobre o tipo de dado. Portanto, a criação de uma VIEW sem uma especificação clara resulta em uma definição de tipo de dado indefinido. Gabarito: E
498
63. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 12ª REGIÃO (SC) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Considere o trecho em PostgreSQL abaixo. INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99), (2,'Bread',1.99), (3,'Milk', 2.99); Considerando a existência prévia da tabela products contendo as colunas product_no, name e price, e desconsiderando os tipos de dados, esse trecho irá resultar: A na adição de 3 novas colunas na tabela products. B na adição de 3 novas linhas na tabela products. C em erro, pois não é possível múltiplas inserções em um único comando SQL. D em erro, pois para se realizar múltiplas inserções é necessário a utilização da cláusula SELECT. E em erro, pois múltiplas inserções são possíveis somente com a utilização de colchetes para a limitação dos registros.
Para respondermos a essa questão, precisaríamos de mais detalhes sobre a tabela. Mas, considerando que ela só possui essas três colunas e que os tipos de dados não são relevantes, podemos avaliar que o comando INSERT criará linhas na tabela products. Desta forma, podemos marcar nossa resposta na alternativa B. Gabarito: B
499
64. BANCA: FCC - Analista Judiciário (TRT 23ª Região)/Apoio Especializado/Tecnologia da Informação/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 auto incremento.
A questão trata dos tipos de dados numéricos no PostgreSQL. Vamos analisar cada alternativa: **a) smallint tem tamanho de armazenamento de 1 byte, que permite armazenar a faixa de valores inteiros de −128 a 127.** - **Errado.** O tipo `smallint` no PostgreSQL ocupa 2 bytes e armazena valores na faixa de -32.768 a 32.767. O tipo que ocupa 1 byte é o `smallserial`, mas não tem a faixa de -128 a 127 como descrito. **b) bigint é a escolha usual para números inteiros, pois oferece o melhor equilíbrio entre faixa de valores, tamanho de armazenamento e desempenho.** - **Errado.** O tipo `bigint` ocupa 8 bytes e armazena valores inteiros muito grandes, mas não é a escolha usual. O tipo `integer` (ou `int`) é geralmente o tipo padrão por causa do seu equilíbrio entre tamanho (4 bytes) e desempenho. **c) integer tem tamanho de armazenamento de 4 bytes e pode armazenar valores na faixa de −32768 a 32767.** - **Errado.** O tipo `integer` realmente ocupa 4 bytes, mas a faixa de valores que ele armazena é de -2.147.483.648 a 2.147.483.647. A faixa mencionada na questão é correspondente ao tipo `smallint`. **d) numeric pode armazenar números com precisão variável de, no máximo, 100 dígitos.** - **Errado.** O tipo `numeric` no PostgreSQL pode armazenar números com precisão arbitrária (ou seja, mais de 100 dígitos), e não é limitado a esse número. **e) serial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento.** - **Correto.** O tipo `serial` é um atalho conveniente no PostgreSQL para colunas de identificadores únicos, pois cria uma sequência de números inteiros automaticamente incrementados. Portanto, a alternativa correta é **e**. Gabarito: E
500
65. BANCA: FCC - Técnico Judiciário (TRE PB)/Apoio Especializado/Programação de Sistemas/2015 No PostgreSQL, o tipo de dados numérico considerado meramente uma notação conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento em alguns Sistemas Gerenciadores de Banco de Dados, é o tipo a) serial. b) smallint. c) byte. d) bit. e) blob.
O gabarito da questão é a letra a). Novamente a banca FCC cobrou uma questão sobre o tipo numérico serial. Conforme vimos na questão anterior, o tipo serial é utilizado para definir colunas identificadoras únicas, semelhante à propriedade auto incremento. Gabarito: A
501
66. BANCA: FCC ANO: 2014 ÓRGÃO: TRT - 1ª REGIÃO (RJ) PROVA: TÉCNICO DO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO No sistema gerenciador de Banco de Dados PostgreSQL (v. 9.1), a forma para se declarar um atributo com o tipo de dados Array, com duas dimensões, tendo o nome teste é A . . . teste [ [ ] ] . . . B . . . teste 2 [ ] . . . C . . . teste [ 2 ] . . . D . . . teste [ ] [ ] . . . E . . . teste [ ] x [ ] . . .
Pelo que conhecemos da sintaxe do comando utilizado para criação de atributos de tabela como arrays, podemos marcar como resposta a alternativa D. Vamos agora conhecer um pouco sobre os BLOBs ou Binary Large Objects. Gabarito: D
502
67. BANCA: FCC ANO: 2012 ÓRGÃO: TCE-AM PROVA: ANALISTA TÉCNICO DE CONTROLE EXTERNO - TECNOLOGIA DA INFORMAÇÃO Em PostgreSQL, a função que converte a primeira letra da string informada em letra maiúscula, alterando todas as letras subsequentes dessa string para minúsculas se chama A chgstr. B altertext. C initcap. D upper. E toupper.
No PostgreSQL, a função que converte a primeira letra de cada palavra de uma string para maiúscula e as letras subsequentes para minúsculas é a **`initcap`**. Analisando as alternativas: **A) chgstr** – Não existe essa função no PostgreSQL. **B) altertext** – Não existe essa função no PostgreSQL. **C) initcap** – **Correto.** A função `initcap` realiza exatamente o que foi descrito, ou seja, converte a primeira letra de cada palavra para maiúscula e as letras subsequentes para minúsculas. **D) upper** – Converte todas as letras da string para maiúsculas, mas não realiza a alteração apenas na primeira letra. **E) toupper** – Não existe essa função no PostgreSQL. Portanto, a resposta correta é **C) initcap**. Gabarito: C
503
68. BANCA: FCC ANO: 2012 ORGÃO: MPE-PE - Analista Ministerial PROVA: Informática No banco de dados PostgreSQL, a função COALESCE A) retorna verdade ou falso conforme o padrão corresponda ou não à cadeia de caracteres fornecida. Este operador é muito semelhante ao LIKE, exceto por interpretar o padrão utilizando a definição de expressão regular do padrão SQL. B) é uma expressão condicional genérica, semelhante às declarações if/else de outras linguagens. C) é uma declaração SELECT arbitrária, ou uma subconsulta. A subconsulta é processada para determinar se retorna alguma linha. D) retorna o primeiro de seus argumentos que não for nulo. Só retorna nulo quando todos os seus argumentos são nulos. E) permite a conversão do carimbo do tempo (time stamp) para uma zona horária diferente.
A função **`COALESCE`** no PostgreSQL é usada para retornar o primeiro de seus argumentos que não for nulo. Se todos os argumentos forem nulos, ela retorna nulo. Analisando as alternativas: **A) retorna verdade ou falso conforme o padrão corresponda ou não à cadeia de caracteres fornecida. Este operador é muito semelhante ao LIKE, exceto por interpretar o padrão utilizando a definição de expressão regular do padrão SQL.** - **Errado.** A descrição aqui se refere ao operador `SIMILAR TO`, que trabalha com expressões regulares. **B) é uma expressão condicional genérica, semelhante às declarações if/else de outras linguagens.** - **Errado.** Essa descrição se refere à função `CASE` e não à `COALESCE`. **C) é uma declaração SELECT arbitrária, ou uma subconsulta. A subconsulta é processada para determinar se retorna alguma linha.** - **Errado.** Esta descrição corresponde à função `EXISTS`, que verifica a existência de linhas em uma subconsulta. **D) retorna o primeiro de seus argumentos que não for nulo. Só retorna nulo quando todos os seus argumentos são nulos.** - **Correto.** Esta é a definição exata da função `COALESCE`. **E) permite a conversão do carimbo do tempo (timestamp) para uma zona horária diferente.** - **Errado.** A função que lida com a conversão de carimbos de tempo para diferentes zonas horárias é `AT TIME ZONE`. Portanto, a resposta correta é **D) retorna o primeiro de seus argumentos que não for nulo. Só retorna nulo quando todos os seus argumentos são nulos.** Gabarito: D
504
69. BANCA: CESPE - Analista Judiciário (STM)/Apoio Especializado/Análise de Sistemas/2018 Julgue o item subsequente, a respeito do Postgres 9.6. Ao se criar uma trigger, a variável especial TG_OP permite identificar que operação está sendo executada, por exemplo, DELETE, UPDATE, INSERT ou TRUNCATE.
A afirmação está **correta**. No PostgreSQL, ao se criar uma **trigger**, a variável especial **`TG_OP`** é utilizada para identificar qual operação disparou a trigger. Ela pode conter os seguintes valores: - **`INSERT`**: quando a trigger é disparada por uma operação de inserção. - **`UPDATE`**: quando a trigger é disparada por uma operação de atualização. - **`DELETE`**: quando a trigger é disparada por uma operação de exclusão. - **`TRUNCATE`**: quando a trigger é disparada por uma operação de truncamento. Portanto, a variável **`TG_OP`** realmente permite identificar se a operação que está sendo executada é um **DELETE**, **UPDATE**, **INSERT** ou **TRUNCATE**, como descrito na questão. Resposta: **Certo**. Gabarito: C
505
70. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Analista de Sistemas Questão: 71 e 72 Um sistema gerenciador de banco de dados (SGBD) instalado no Linux deve ser configurado de modo a permitir os seguintes requisitos: I no máximo, 1000 conexões simultâneas; II somente conexões originadas a partir do servidor de aplicação com IP 10.10.10.2. Tendo como referência essas informações, julgue os seguintes itens. 71. Caso o SGBD instalado seja o Postgres 9.6, para atendimento do requisito I, deve- se modificar o arquivo postgres.conf para o referido cluster; alterar o parâmetro max_connections para 1000; e reiniciar o serviço do SGBD. 72. Caso o SGBD instalado seja o Postgres 9.6, para atendimento do requisito II, deve- se modificar o arquivo pg_hba.conf para o referido cluster; alterar o parâmetro listen_addresses para o IP fornecido; e reiniciar o serviço do SGBD.
71. O parâmetro max_connections determina o número máximo de conexões simultâneas para o servidor de banco de dados. O padrão geralmente é 100 conexões, mas pode ser menor se as configurações do kernel não o suportarem. Este parâmetro só pode ser configurado no início do servidor. Ou seja, para alterar esse valor, precisamos reiniciar o SGBD. Contudo, a afirmação apresenta o nome do arquivo de configuração incorreto. O certo seria postgresql.conf. Sendo assim, a alternativa está incorreta! (A banca inicialmente tinha dado o gabarito como correto e, em seguida anulou a questão por conta deste equívoco.) 72. O arquivo pg_hba.conf indicará ao PostgreSQL como autenticar usuários que fazem acesso ao banco de dados. Em geral, as entradas do arquivo pg_hba.conf têm o seguinte layout: local DATABASE USER METHOD [OPTIONS] # host DATABASE USER ADDRESS METHOD [OPTIONS] # hostssl DATABASE USER ADDRESS METHOD [OPTIONS] # hostnossl DATABASE USER ADDRESS METHOD [OPTIONS] O termo local diz que todos os usuários usando sockets Unix locais devem ser confiáveis para todos os bancos de dados. O método trust significa que nenhuma senha deve ser enviada para o servidor e as pessoas podem fazer login diretamente. As outras duas regras dizem que o mesmo se aplica às conexões do localhost 127.0.0.1 e ::1/128, que é um endereço IPv6. Perceba que até agora não falamos do parâmetro listen_addresses. É porque ele não está no arquivo pg_hba.conf. Ele é configurado no arquivo postgresql.conf. Desta forma, a alternativa está incorreta. Gabarito: E E
506
71. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Analista de Sistemas Questão: 82 Julgue os itens subsequentes, a respeito do Postgres 9.6. 82 Nas instruções seguintes, a palavra-chave IMMUTABLE indica que a função criada não pode modificar o banco de dados. CREATE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT;
A palavra-chave **`IMMUTABLE`** no PostgreSQL é usada para indicar que uma função é **imutável**, ou seja, ela sempre retornará o mesmo resultado para os mesmos parâmetros de entrada e **não modifica o banco de dados**. Funções marcadas como **`IMMUTABLE`** são usadas em contextos onde o PostgreSQL pode otimizar o desempenho, pois sabe que os resultados não mudam, permitindo, por exemplo, que o resultado seja armazenado em cache. Na instrução fornecida: ```sql CREATE FUNCTION add(integer, integer) RETURNS integer AS 'select $1 + $2;' LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT; ``` A função **`add`** é definida como uma função **`IMMUTABLE`**, o que significa que ela: - Sempre retornará o mesmo resultado quando os mesmos valores de entrada forem fornecidos. - **Não pode modificar o banco de dados**, já que uma função **`IMMUTABLE`** não pode executar comandos que alterem o estado do banco de dados, como inserções, atualizações ou exclusões. A palavra-chave **`RETURNS NULL ON NULL INPUT`** também é válida e indica que, se qualquer um dos argumentos for nulo, a função deve retornar nulo automaticamente. Portanto, a afirmação está **correta**, pois a palavra-chave **`IMMUTABLE`** realmente indica que a função não pode modificar o banco de dados. **Resposta: Certo.** Gabarito: C
507
72. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Programação de Sistemas Questão: 66 a 70 Julgue os próximos itens, que dizem respeito aos SGBDs Oracle, MySQL e PostgreSQL. 69 Uma desvantagem do PostgreSQL em relação aos demais SGBDs é que ele não oferece recursos necessários para se realizar a replicação de dados.
A partir da versão 9.0 do PostgreSQL, foi adicionado um recurso de Streaming Replication (SR) nativamente ao PostgreSQL, permitindo a replicação de transações, assim que concluídas sem necessidade de aguardar que um segmento seja completado. A replicação por meio de streaming funciona através de uma conexão comum. Sendo assim, observamos que o SGBD em questão de fato implementa mecanismos de replicação de dados. Logo, a alternativa está errada. Gabarito: E
508
73. Ano: 2018 Banca: CESPE Órgão: STM Cargo: Analista de Sistemas Questões: 86 e 88 Julgue os itens que se seguem, a respeito do processamento de transações e otimização de desempenho do SGBD e de consultas SQL. 86. O controle de nível de isolamento de transações é importante para gerenciar a forma como as transações concorrentes se comportarão no SGBD. No Postgres 9.6, o nível de isolamento padrão é READ COMMITTED, mas pode ser alterado para SERIAZABLE por meio do comando SET TRANSACTION ISOLATION LEVEL SERIAZABLE. 88. No Oracle 12C, a Automatic Workload Repository (AWR) é uma funcionalidade similar ao autovacuum no Postgres 9.6, haja vista que ambos processam e mantêm estatísticas de desempenho para detecção de problemas e manutenção automática do banco de dados, por exemplo, reusando, ajustando e excluindo dados temporários e reusando espaço em blocos por linhas excluídas.
Vamos analisar os dois itens. **Item 86:** A afirmação diz que o controle de nível de isolamento de transações é importante para gerenciar o comportamento das transações concorrentes no SGBD e que o nível de isolamento padrão no PostgreSQL 9.6 é **`READ COMMITTED`**, podendo ser alterado para **`SERIALIZABLE`** usando o comando **`SET TRANSACTION ISOLATION LEVEL SERIALIZABLE`**. - O PostgreSQL 9.6 realmente utiliza **`READ COMMITTED`** como o nível de isolamento padrão, o que significa que cada transação só vê mudanças confirmadas no banco de dados e não pode ver alterações feitas por transações ainda em andamento. - O nível **`SERIALIZABLE`** é o nível mais restritivo e garante que as transações são isoladas como se fossem executadas uma após a outra, sem interferência de outras. - O comando **`SET TRANSACTION ISOLATION LEVEL SERIALIZABLE`** é correto para alterar o nível de isolamento de uma transação específica para **`SERIALIZABLE`**. Portanto, o **item 86 está correto**. **Resposta: Certo.** --- **Item 88:** A comparação entre a **Automatic Workload Repository (AWR)** no Oracle 12c e o **autovacuum** no PostgreSQL 9.6 está equivocada. - A **AWR** no Oracle 12c é uma funcionalidade que coleta e processa estatísticas de desempenho do sistema, ajudando a identificar gargalos e otimizar o desempenho do banco de dados. A AWR armazena essas estatísticas para análises de carga e histórico de desempenho. - O **autovacuum** no PostgreSQL 9.6 é um processo que limpa registros mortos (tuples) e recupera espaço, além de atualizar as estatísticas de desempenho para consultas otimizadas. O autovacuum é principalmente uma ferramenta de manutenção automática para gerenciar o uso de espaço e a coleta de estatísticas para o **query planner**, mas seu foco não está no monitoramento de desempenho como o AWR. Esses dois mecanismos têm propósitos distintos: o **AWR** é voltado para a coleta e análise de estatísticas de desempenho, enquanto o **autovacuum** se concentra na manutenção do banco de dados, como a limpeza de tuples mortos. Portanto, o **item 88 está errado**. **Resposta: Errado.** Gabarito: Certo Errado
509
74. BANCA: CESPE - Oficial Técnico de Inteligência/Área 8/2018 A respeito de sistemas gerenciadores de banco de dados, julgue o próximo item. No arquivo pg_hba.conf de configuração do PostgreSQL, as diretivas são avaliadas a partir da linha superior, para a linha inferior.
A afirmação está **correta**. No PostgreSQL, o arquivo **`pg_hba.conf`** (PostgreSQL Host-Based Authentication) é utilizado para controlar o acesso ao banco de dados, definindo quais clientes podem se conectar e quais métodos de autenticação serão usados. As diretivas desse arquivo são avaliadas **de cima para baixo**, ou seja, a partir da primeira linha até a última. Quando o PostgreSQL recebe uma tentativa de conexão, ele examina as linhas do **`pg_hba.conf`** na ordem em que aparecem. A primeira regra que corresponde à tentativa de conexão será aplicada, e as regras subsequentes serão ignoradas, mesmo que também correspondam. Portanto, a avaliação das diretivas no **`pg_hba.conf`** ocorre exatamente como descrito na questão. **Gabarito: Correto.**
510
75. BANCA: FCC - Técnico Judiciário (TRT 2ª Região)/Apoio Especializado / Tecnologia da Informação/2018 Considere que um Técnico de TI deseja criar as tabelas abaixo em um banco de dados PostgreSQL 8 aberto e em condições ideais. Para que codDep na tabela funcionario seja definido como chave estrangeira com relação à tabela departamento, a lacuna I deve ser preenchida com a) foreign key departamento(codDep) b) constraint foreign key REF departamento(codDep) c) foreign key IN departamento(codDep) d) constraint departamento(codDep) e) references departamento(codDep)
Veja a sintaxe do PostgreSQL para criação de chave estrangeira: CREATE TABLE orders ( order_id integer PRIMARY KEY, product_no integer REFERENCES products (product_no), quantity integer ); Você também pode encurtar o comando acima para: CREATE TABLE orders ( order_id integer PRIMARY KEY, product_no integer REFERENCES products, quantity integer ); Temos, então, a resposta na letra e). Gabarito: E
511
76. BANCA: CESPE - Analista Judiciário (TRT 7ª Região)/Apoio Especializado / Tecnologia da Informação/2017 No sistema gerenciador de banco de dados PostgreSQL, a restrição de acesso pelo endereço IP do cliente é feita mediante alteração do arquivo de configuração a) pg_subtrans. b) pg_hba.conf. c) postmaster.opts. d) pg_ctl.
A restrição de acesso pelo endereço IP do cliente no PostgreSQL é feita através do arquivo **`pg_hba.conf`**. Esse arquivo controla quais hosts (endereços IP) podem se conectar ao banco de dados, além de especificar o método de autenticação que será usado. Analisando as opções: - **a) pg_subtrans**: Esse arquivo está relacionado ao controle de transações no PostgreSQL e não à restrição de acesso por IP. - **b) pg_hba.conf**: **Correto.** Esse arquivo é responsável pelo controle de acesso baseado em endereço IP e autenticação no PostgreSQL. - **c) postmaster.opts**: Esse arquivo armazena opções de inicialização do PostgreSQL, mas não controla o acesso por IP. - **d) pg_ctl**: Esse é um comando usado para iniciar, parar ou controlar o servidor PostgreSQL, mas não está relacionado à restrição de acesso por IP. Portanto, a resposta correta é **b) pg_hba.conf**. Gabarito: B
512
77. BANCA: FCC - Técnico de Nível Superior (PGM Teresina)/Analista de Sistemas/2016 Uma das recomendações na prática do tuning no PostgreSQL como forma de melhorar o desempenho das tabelas com grandes quantidades de registros e especialmente com muitos acessos é a inserção de a) índices em todos os campos das tabelas. b) valores nulos em campos que compõem a cláusula WHERE ou que fazem parte de cláusulas ORDER BY, GROUP BY. c) valores nulos em campos que compõem o statement SELECT sem cláusula WHERE. d) índices em campos que compõem a cláusula WHERE ou que fazem parte de cláusulas ORDER BY, GROUP BY. e) índices em todos os campos que compõem um statement SELECT DISTINCT e/ou cláusula CONSTRAINT.
Para melhorar o desempenho em tabelas com grandes quantidades de registros no PostgreSQL, uma das práticas recomendadas é o uso de **índices**. Os índices ajudam a acelerar as consultas, especialmente aquelas que utilizam as cláusulas **`WHERE`**, **`ORDER BY`**, e **`GROUP BY`**. Analisando as opções: - **a) índices em todos os campos das tabelas.** - **Errado.** Embora os índices melhorem o desempenho de consultas, criar índices em **todos** os campos pode ser contraproducente, pois pode degradar o desempenho em operações de inserção, atualização e exclusão. - **b) valores nulos em campos que compõem a cláusula WHERE ou que fazem parte de cláusulas ORDER BY, GROUP BY.** - **Errado.** Inserir valores nulos não é uma prática recomendada para melhorar o desempenho. - **c) valores nulos em campos que compõem o statement SELECT sem cláusula WHERE.** - **Errado.** Novamente, valores nulos não são uma estratégia para otimizar desempenho. - **d) índices em campos que compõem a cláusula WHERE ou que fazem parte de cláusulas ORDER BY, GROUP BY.** - **Correto.** Criar índices nesses campos é uma prática recomendada, pois ajuda a acelerar as consultas que utilizam essas cláusulas. - **e) índices em todos os campos que compõem um statement SELECT DISTINCT e/ou cláusula CONSTRAINT.** - **Errado.** Embora índices possam ajudar, criar índices em **todos** os campos de um **`SELECT DISTINCT`** ou **`CONSTRAINT`** não é uma prática eficiente. Portanto, a resposta correta é **d) índices em campos que compõem a cláusula WHERE ou que fazem parte de cláusulas ORDER BY, GROUP BY.** Gabarito: D
513
78. BANCA: FCC - Analista de Sistemas (DPE RR)/2015 Um Analista de Sistemas deseja fazer uma cópia de segurança consistente de um banco de dados PostgreSQL, mesmo que ele esteja sendo utilizado por outros usuários, gerando um arquivo texto contendo comandos SQL. Estes comandos, ao serem processados pelo servidor, recriam o banco de dados no mesmo estado em que este se encontrava quando o arquivo foi gerado. O Analista deve usar o utilitário a) pg_dump. b) psql. c) pgbackup. d) gunzip. e) sql_backup.
Para realizar uma cópia de segurança consistente de um banco de dados PostgreSQL, mesmo quando ele está em uso, o utilitário apropriado é o **`pg_dump`**. Vamos analisar as opções: - **a) pg_dump.** - **Correto.** O `pg_dump` é a ferramenta de backup do PostgreSQL que permite criar uma cópia de segurança do banco de dados em um formato que pode ser facilmente restaurado. Ele gera um arquivo com comandos SQL que, quando executados, recriam o banco de dados no estado em que estava no momento do backup. - **b) psql.** - **Errado.** O `psql` é o cliente de linha de comando do PostgreSQL usado para executar comandos SQL interativamente, mas não é utilizado para realizar backups. - **c) pgbackup.** - **Errado.** Não existe um utilitário chamado `pgbackup` no PostgreSQL. A ferramenta correta para backup é `pg_dump`. - **d) gunzip.** - **Errado.** O `gunzip` é uma ferramenta para descompactar arquivos e não tem relação com backup de banco de dados. - **e) sql_backup.** - **Errado.** Não existe uma ferramenta nativa chamada `sql_backup` no PostgreSQL. Portanto, a resposta correta é **a) pg_dump.** Gabarito: A
514
79. BANCA: CESPE ANO: 2015 ÓRGÃO: CGE-PI PROVA: AUDITOR GOVERNAMENTAL - TECNOLOGIA DA INFORMAÇÃO Acerca de bancos de dados, julgue os itens a seguir. No PostgreSQL 9.3, os arquivos de WAL (write-ahead logging), que armazenam as transações do SGBD na forma de segmentos de log, são gravados por padrão no diretório pg_wal abaixo do diretório data.
A afirmação está **incorreta**. No PostgreSQL 9.3, os arquivos de **WAL (Write-Ahead Logging)** são armazenados no diretório **`pg_wal`**, localizado dentro do diretório de dados do PostgreSQL. A localização do diretório está correta, mas o uso do termo "por padrão" pode gerar confusão, pois pode sugerir que não há possibilidade de configuração. Portanto, a resposta seria considerada **errada** em um contexto mais amplo, mesmo que a localização em si seja correta. Gabarito: E
515
80. Ano: 2018 Banca: FCC Órgão: DPE-AM Cargo: Analista Área: Banco de Sistemas Questão: 46 Considere as instruções SQL a seguir, digitadas no PostgreSQL 9.0, em condições ideais. CREATE TABLE processo (proc_num character(24)); INSERT INTO processo SELECT '0000125–40.' || '1981.403.6100'; SELECT proc_num, octet_length(proc_num) FROM processo; Será exibido na tela (A) 0000125–40.1981.403.6100 e 24. (B) uma mensagem de erro, pois para concatenar valores, no lugar de || deve ser usado &&. (C) 1981.403.6100 e 24. (D) uma mensagem de erro, já que o comando octet_length não existe. (E) uma mensagem de buffer overflow.
A questão envolve a criação de uma tabela no PostgreSQL, inserção de um valor concatenado e a consulta do comprimento da string armazenada. 1. **Tabela criada**: `CREATE TABLE processo (proc_num character(24));` 2. **Inserção**: `INSERT INTO processo SELECT '0000125–40.' || '1981.403.6100';` resulta na string `0000125–40.1981.403.6100`, que tem **24 caracteres**. 3. **Consulta**: `SELECT proc_num, octet_length(proc_num) FROM processo;` retornará a string e seu comprimento. A resposta correta é **(A) 0000125–40.1981.403.6100 e 24.** as outras opções são incorretas.
516
81. Ano: 2018 Banca: FCC Órgão: TRT-06 Cargo: Analista Judiciário Área: Tecnologia da Informação Questão: 34 Em um banco de dados PostgreSQL aberto e em condições ideais, um Analista especializado em Tecnologia da Informação executou as instruções abaixo em uma tabela chamada funcionario. BEGIN; UPDATE funcionario SET salario = salario - 1000.00 WHERE nome = 'João'; SAVEPOINT ps1; UPDATE funcionario SET salario = salario + 1000.00 WHERE nome = 'Paulo'; I UPDATE salario SET salario = salario + 1000.00 WHERE nome = 'Marcos'; COMMIT; Na segunda instrução UPDATE, o Analista aumentou o salário do funcionário Paulo em 1000.00, quando deveria aumentar o salário do funcionário Marcos nesse valor. Para cancelar a operação realizada, a lacuna I deve ser preenchida pela instrução (A) ROLLBACK -1; (B) ROLLBACK TO ps1; (C) CANCEL OPERATION; (D) RESTORE TO ps1; (E) CANCEL UPDATE;
O comando ROLLBACK TO SAVEPOINT reverte todos os comandos que foram executados depois que o ponto de salvamento especificado no parâmetro foi estabelecido. O ponto de salvamento permanece válido e pode ser revertido novamente mais tarde, se necessário. Devemos perceber ainda que o ROLLBACK TO SAVEPOINT destrói, implicitamente, todos os savepoints que foram estabelecidos após o savepoint nomeado. Desta forma, podemos marcar nossa resposta na alternativa B. Gabarito: B
517
82. Ano: 2017 Banca: FCC Órgão: TRT-11 Cargo: Técnico Judiciário de TI – Q. 46 Um comando SQL, cuja sintaxe é válida no PostgreSQL 9.3, está apresentado em: (A) SELECT nome1, nome2, nome 3 FROM tab2TRT ORDER FOR nome1 AFTER nome2; (B) DELETE FROM tabTRT WHERE data processo= “13-AGO-2013”; (C) UPDATE trabTRT SETTING mes = 10 INSTEAD mes = 5; (D) CREATE TABLE tab2 TRT { id integer, nome texts, salario numerical}; (E) INSERT INTO tabTRT DEFAULT VALUES;
Vamos analisar cada uma das opções para identificar qual comando SQL tem sintaxe válida no PostgreSQL 9.3: - **(A)** `SELECT nome1, nome2, nome 3 FROM tab2TRT ORDER FOR nome1 AFTER nome2;` - **Errado.** A cláusula **`ORDER BY`** deve ser usada em vez de **`ORDER FOR`** e não é permitido ter espaços em nomes de colunas, como `nome 3`. - **(B)** `DELETE FROM tabTRT WHERE data processo= “13-AGO-2013”;` - **Errado.** As aspas utilizadas são as aspas curvas (“”), que não são válidas em SQL. Deveriam ser aspas simples ('') ou duplas ("") para delimitar strings. - **(C)** `UPDATE trabTRT SETTING mes = 10 INSTEAD mes = 5;` - **Errado.** A palavra **`SETTING`** deve ser **`SET`**, e **`INSTEAD`** não é uma palavra-chave válida no contexto do comando `UPDATE`. - **(D)** `CREATE TABLE tab2 TRT { id integer, nome texts, salario numerical};` - **Errado.** Os tipos de dados **`texts`** e **`numerical`** estão incorretos; o correto seria **`text`** (sem "s") e **`numeric`**. Além disso, a sintaxe para criar tabelas utiliza parênteses **()`**, não chaves **`{}`**. - **(E)** `INSERT INTO tabTRT DEFAULT VALUES;` - **Correto.** Esta é uma sintaxe válida para inserir uma nova linha na tabela `tabTRT` utilizando os valores padrão definidos para as colunas. Portanto, a resposta correta é **(E) INSERT INTO tabTRT DEFAULT VALUES.** Gabarito: E
518
83. BANCA: FCC ANO: 2017 ÓRGÃO: TST PROVA: ANALISTA JUDICIÁRIO – SUPORTE EM TECNOLOGIA DA INFORMAÇÃO [70] Um Analista de Suporte que utiliza o PostgreSQL possui uma tabela chamada employee, com os campos id, name e salary. Deseja executar uma consulta que exiba todos os nomes e salários dos funcionários, de forma que, se o salário for nulo, exiba o valor 0 (zero). Para realizar a consulta terá que utilizar a instrução SELECT name, a) NVDL(salary, 0) FROM employee; b) IFNL(salary, 0) FROM employee; c) COALESCE(salary, 0) FROM employee; d) IFNULL(salary; '0') FROM employee; e) NVL(salary; 0) FROM employee;
Para realizar uma consulta que exiba todos os nomes e salários dos funcionários, substituindo os valores nulos do salário por 0, a função correta a ser utilizada no PostgreSQL é a **`COALESCE`**. Vamos analisar as opções: - **a) NVDL(salary, 0) FROM employee;** - **Errado.** Não existe uma função chamada `NVDL` no PostgreSQL. - **b) IFNL(salary, 0) FROM employee;** - **Errado.** Não existe uma função chamada `IFNL` no PostgreSQL. - **c) COALESCE(salary, 0) FROM employee;** - **Correto.** A função `COALESCE` retorna o primeiro valor não nulo em sua lista de argumentos. Portanto, `COALESCE(salary, 0)` irá retornar o salário se não for nulo, ou 0 se for nulo. - **d) IFNULL(salary; '0') FROM employee;** - **Errado.** A função `IFNULL` não existe no PostgreSQL. Além disso, a sintaxe é incorreta; o correto seria usar vírgula ao invés de ponto e vírgula. - **e) NVL(salary; 0) FROM employee;** - **Errado.** A função `NVL` é uma função do Oracle, não do PostgreSQL. Além disso, a sintaxe é incorreta pela mesma razão da opção anterior. Portanto, a resposta correta é **c) COALESCE(salary, 0) FROM employee.** Gabarito: C
519
84. BANCA: FCC ANO: 2017 ÓRGÃO: DPE-RS PROVA: ANALISTA – BANCO DE DADOS [49] No sistema gerenciador de banco de dados PostgreSQL 8 (versão 8.3) há duas bases de dados padrão utilizadas quando se cria uma nova base de dados. Se o objetivo for utilizar a base de dados padrão denominada template0, o comando a ser empregado na criação da base de dados teste, é CREATE DATABASE a) USEDB template0 b) STANDARDDB template0 c) WITH template0 d) HAVING template0 e) teste TEMPLATE template0
Para criar uma nova base de dados no PostgreSQL utilizando uma base de dados padrão específica, você deve usar a palavra-chave **`TEMPLATE`**. Vamos analisar as opções: - **a) USEDB template0** - **Errado.** Não existe a palavra-chave `USEDB` no PostgreSQL. - **b) STANDARDDB template0** - **Errado.** Não existe a palavra-chave `STANDARDDB` no PostgreSQL. - **c) WITH template0** - **Errado.** Embora `WITH` possa ser uma palavra usada em outros contextos, não é a forma correta para especificar um template ao criar uma nova base de dados. - **d) HAVING template0** - **Errado.** A palavra-chave `HAVING` é usada em consultas SQL, mas não na criação de bancos de dados. - **e) teste TEMPLATE template0** - **Correto.** A sintaxe correta para criar um banco de dados utilizando `template0` é: ```sql CREATE DATABASE teste TEMPLATE template0; ``` Portanto, a resposta correta é **e) teste TEMPLATE template0.** Gabarito: E
520
85. BANCA: FCC ANO: 2017 ÓRGÃO: DPE-RS PROVA: ANALISTA – BANCO DE DADOS [53] Alguns sistemas gerenciadores de bancos de dados, como o PostgreSQL versão 8 permitem a definição de parâmetros de armazenamento de tabelas e de índices. Um desses parâmetros é o FILLFACTOR, sendo que no caso de a) índices B-Tree, seu valor padrão é 50. b) tabelas, pode variar entre os valores 50 e 100. c) índices pouco atualizados, o melhor valor é 10. d) tabelas muito atualizadas seu valor mais indicado é 100. e) tabelas, seu valor padrão é 70.
O FILLFACTOR de uma tabela é uma porcentagem entre 10 e 100. 100 é o padrão. Quando um fator de preenchimento menor é especificado, as páginas de tabela somente são preenchidas até a porcentagem indicada. O espaço restante em cada página é reservado para atualização das linhas nessa página. Isso dá ao UPDATE a chance de colocar a cópia atualizada de uma linha na mesma página que a original, o que é mais eficiente do que colocá-la em uma página diferente. Para uma tabela cujas entradas nunca são atualizadas, definir o valor 100 (completa) é a melhor opção. Mas em tabelas fortemente atualizadas, FILLFACTORS menores são apropriados. Veja que a alternativa B fala que os valores podem variar entre 50 e 100, que é um intervalo contido entre 10 e 100. Logo essa é a nossa resposta. Gabarito: B
521
86. BANCA: FCC ANO: 2016 ÓRGÃO: TRT - 14ª REGIÃO (RO E AC) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO [34] Para conceder, a todos os usuários de um banco de dados PostgreSQL, o privilégio de inserção na tabela Clientes utiliza-se a instrução a) SET GRANT INSERT ON Clientes ALL; b) SET ROLE ALL PRIVILEGES TO INSERT ON Clientes; c) SET GRANT ALL TO Clientes ON INSERT; d) GRANT INSERT ON Clientes TO ALL GROUP; e) GRANT INSERT ON Clientes TO PUBLIC;
Para conceder privilégios de inserção a todos os usuários em uma tabela no PostgreSQL, a instrução correta é: - **a) SET GRANT INSERT ON Clientes ALL;** - **Errado.** A palavra-chave `SET` não é utilizada dessa forma. - **b) SET ROLE ALL PRIVILEGES TO INSERT ON Clientes;** - **Errado.** Essa sintaxe é incorreta; `SET ROLE` é usado para mudar o papel ativo, e não para conceder privilégios. - **c) SET GRANT ALL TO Clientes ON INSERT;** - **Errado.** A sintaxe está incorreta; não existe o comando `SET GRANT`. - **d) GRANT INSERT ON Clientes TO ALL GROUP;** - **Errado.** A palavra-chave correta é `GROUP`, mas a sintaxe está incorreta; `ALL` não é reconhecido nesse contexto. - **e) GRANT INSERT ON Clientes TO PUBLIC;** - **Correto.** Essa é a sintaxe correta para conceder o privilégio de inserção a todos os usuários do banco de dados, onde `PUBLIC` representa todos os usuários. Portanto, a resposta correta é **e) GRANT INSERT ON Clientes TO PUBLIC.** Gabarito: E
522
87. BANCA: FCC ANO: 2016 ÓRGÃO: TRT - 23ª REGIÃO (MT) PROVA: TÉCNICO JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO [33] Um Técnico digitou as instruções abaixo. No PostgreSQL: SELECT TRIM (0 FROM 0004872348400) AS "Exemplo"; No Oracle: SELECT TRIM (0 FROM 0004872348400) "Exemplo" FROM sys.dual; O valor exibido foi a) 4872348400 b) 0048432784000 c) 48432784 d) 48723484 e) 00048723484
A função TRIM é utilizada para remover caracteres especificados. No caso da questão acima, o técnico especificou o numeral '0', e esse número foi removido de ambos os lados da variável. O TRIM permite que você recorte caracteres à esquerda (leading) ou à direita (trailing), ou ambos (both) de uma sequência de caracteres. Se você não especificar um caractere, o default é um espaço em branco. No caso da questão, foi especificado o “O”. Já no Postgres, a função faz a mesma coisa, remove a cadeia mais longa contendo apenas os caracteres (um espaço por padrão) do início/fim/ambas as extremidades da string. Assim, podemos marcar nossa resposta na alternativa D. Gabarito: D.
523
88. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 5ª REGIÃO (BA) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO No PostgreSQL, a função utilizada para obter informações sobre arquivos é chamada A pg_header_info B pg_file_info C pg_stat_file D pg_read_file E pg_file_access.
No PostgreSQL, a função utilizada para obter informações sobre arquivos é: - **C) pg_stat_file** - **Correto.** A função `pg_stat_file` fornece informações sobre um arquivo no sistema de arquivos, como tamanho, data de modificação e permissões. Análise das Outras Opções: - **A) pg_header_info** - **Errado.** Essa função não existe no PostgreSQL. - **B) pg_file_info** - **Errado.** Essa função também não existe no PostgreSQL. - **D) pg_read_file** - **Errado.** Essa função é usada para ler o conteúdo de um arquivo, mas não para obter informações sobre o arquivo em si. - **E) pg_file_access** - **Errado.** Essa função verifica se o arquivo pode ser acessado, mas não fornece informações detalhadas sobre o arquivo. Portanto, a resposta correta é **C) pg_stat_file.** Gabarito: C
524
89. BANCA: FCC ANO: 2013 ÓRGÃO: TRT - 12ª REGIÃO (SC) PROVA: ANALISTA JUDICIÁRIO - TECNOLOGIA DA INFORMAÇÃO Em PostgreSQL, se uma função de um gatilho (trigger) executar comandos SQL, existe a possibilidade destes comandos também executarem outros gatilhos. Este processo é conhecido como A cascading triggers. B recursive triggers. C sub-triggers. D indented triggers. E multi-trigger.
Sabemos que uma função de gatilho executa comandos SQL, então estes comandos podem disparar outros gatilhos. Isto é conhecido como gatilhos em cascata ou cascading triggers. Não há nenhuma limitação para o número de níveis desta cascata. É possível que as cascatas provoquem uma invocação recursiva do mesmo gatilho; por exemplo, um INSERT pode executar um comando que insere uma linha adicional na mesma tabela, fazendo com que o gatilho INSERT possa ser disparado mais uma vez. É responsabilidade do desenvolvedor evitar recursão infinita em tais cenários. Dica: Também é possível escrever uma função de gatilho em C, embora a maioria das pessoas ache que é mais fácil usar uma das linguagens procedurais. Gabarito: A.
525
90. BANCA: FCC ANO: 2007 ORGÃO: MPU PROVA: Analista de Informática - Banco de Dados NÃO é um tipo de junção suportado pelos gerenciadores de banco de dados PostgreSQL: A INNER OUTER JOIN ON. B LEFT OUTER JOIN ON. C RIGHT OUTER JOIN ON. D NATURAL JOIN. E CROSS JOIN.
A junção que **NÃO** é suportada pelos gerenciadores de banco de dados PostgreSQL é: - **A) INNER OUTER JOIN ON.** - **Correto.** Essa expressão não é válida em PostgreSQL, pois não se pode combinar "INNER" e "OUTER" dessa forma. As junções devem ser especificadas como "INNER JOIN", "LEFT JOIN", "RIGHT JOIN", etc. Análise das Outras Opções: - **B) LEFT OUTER JOIN ON.** - **Correto.** Essa é uma junção válida em PostgreSQL. - **C) RIGHT OUTER JOIN ON.** - **Correto.** Essa também é uma junção válida em PostgreSQL. - **D) NATURAL JOIN.** - **Correto.** O PostgreSQL suporta junções naturais. - **E) CROSS JOIN.** - **Correto.** O PostgreSQL também suporta a junção cruzada. Portanto, a resposta correta é **A) INNER OUTER JOIN ON.** Gabarito: A
526
91. BANCA: FCC ANO: 2013 ORGÃO TRT - 12ª Região (SC) PROVA: Técnico Judiciário - Tecnologia da Informação No banco de dados PostgreSQL, após uma operação de CROSS JOIN entre uma determinada tabela 1 e uma determinada tabela 2, a tabela resultante irá conter A) ambas as linhas das tabelas 1 e 2, porém somente as colunas que possuam correspondência em ambas as tabelas. B) as colunas da tabela 1 que possuam uma correspondência na tabela 2. O número de linhas será determinado pelas colunas que tenham ocorrência em uma das duas tabelas. C) apenas as linhas da tabela 1 e ambas as colunas da tabela 1 e da tabela 2. D) apenas as colunas da tabela 1 e ambas as linhas da tabela 1 e da tabela 2. E) todas as colunas da tabela 1, seguidas por todas as colunas da tabela 2. Caso as tabelas possuam N e M linhas, respectivamente, a tabela resultante irá conter o produto de N e M (N × M) linhas.
A operação de **CROSS JOIN** no PostgreSQL resulta em: - **E) todas as colunas da tabela 1, seguidas por todas as colunas da tabela 2. Caso as tabelas possuam N e M linhas, respectivamente, a tabela resultante irá conter o produto de N e M (N × M) linhas.** - **Correto.** O CROSS JOIN produz um produto cartesiano entre as duas tabelas, resultando em uma nova tabela que contém todas as combinações possíveis de linhas entre as tabelas envolvidas. Análise das Outras Opções: - **A)** ambas as linhas das tabelas 1 e 2, porém somente as colunas que possuam correspondência em ambas as tabelas. - **Errado.** Essa descrição se aplica a um **INNER JOIN**, não a um CROSS JOIN. - **B)** as colunas da tabela 1 que possuam uma correspondência na tabela 2. O número de linhas será determinado pelas colunas que tenham ocorrência em uma das duas tabelas. - **Errado.** Também se aplica a uma junção, mas não ao CROSS JOIN. - **C)** apenas as linhas da tabela 1 e ambas as colunas da tabela 1 e da tabela 2. - **Errado.** Esta descrição não é precisa para a operação de CROSS JOIN. - **D)** apenas as colunas da tabela 1 e ambas as linhas da tabela 1 e da tabela 2. - **Errado.** Isso não reflete o resultado de um CROSS JOIN. Portanto, a resposta correta é **E) todas as colunas da tabela 1, seguidas por todas as colunas da tabela 2.** Gabarito: E
527
92. BANCA: FCC ANO: 2013 ORGÃO: TRT - 12ª Região (SC) PROVA: Técnico Judiciário - Tecnologia da Informação Em PostgreSQL, uma função permite que o processamento da query seja interrompido por um determinado número de segundos. Este comando é chamado de A until B delay C wait D pg_sleep E stop
A função que permite interromper o processamento da query por um determinado número de segundos em PostgreSQL é chamada de: - **D) pg_sleep** - **Correto.** A função `pg_sleep(seconds)` pausa a execução da query pelo número de segundos especificado. Análise das Outras Opções: - **A) until** - **Errado.** Não existe um comando com esse nome em PostgreSQL. - **B) delay** - **Errado.** Também não é um comando reconhecido no PostgreSQL. - **C) wait** - **Errado.** Essa palavra não se refere a uma função em PostgreSQL. - **E) stop** - **Errado.** Novamente, não é um comando ou função no PostgreSQL. Portanto, a resposta correta é **D) pg_sleep.** Gabarito: D
528
93. BANCA: FCC ANO: 2013 ORGÃO: TRT - 12ª Região (SC) PROVA: Analista Judiciário - Tecnologia da Informação Considere o trecho do comando em SQL abaixo. CREATE USER MAPPING FOR Este comando é utilizado para a criação de um mapeamento do usuário para A um trecho de pesquisa específico. B uma tabela remota. C um banco de dados do tipo cluster. D uma visualização ( VIEW ). E um servidor estrangeiro ( foreign server ).
O comando `CREATE USER MAPPING FOR` é utilizado para criar um mapeamento do usuário para: - **E) um servidor estrangeiro (foreign server).** - **Correto.** O mapeamento de usuário é utilizado para definir como um usuário do banco de dados PostgreSQL deve ser autenticado e como ele se conecta a um servidor estrangeiro, permitindo que o usuário acesse objetos remotos em bancos de dados externos. Análise das Outras Opções: - **A) um trecho de pesquisa específico.** - **Errado.** Não se refere a um trecho de pesquisa, mas sim a um mapeamento de usuário. - **B) uma tabela remota.** - **Errado.** Embora o mapeamento possa permitir o acesso a tabelas remotas, ele não é especificamente para a criação de uma tabela remota. - **C) um banco de dados do tipo cluster.** - **Errado.** O mapeamento de usuário não está relacionado diretamente a um cluster de bancos de dados. - **D) uma visualização (VIEW).** - **Errado.** O mapeamento de usuário não é usado para criar ou referenciar visualizações. Portanto, a resposta correta é **E) um servidor estrangeiro (foreign server).** Gabarito: E
529
94. BANCA: FCC ANO: 2012 ORGÃO: MPE-AP – Prova: Analista Ministerial - Tecnologia da Informação No banco de dados PostgreSQL, o comando MOVE é utilizado para reposicionar A uma tabela em um banco de dados. B uma linha em uma tabela. C uma coluna em uma linha. D o cursor sem trazer dados. E uma view em uma tabela
No banco de dados PostgreSQL, o comando `MOVE` é utilizado para reposicionar: - **D) o cursor sem trazer dados.** - **Correto.** O comando `MOVE` é usado em conjunto com cursores para reposicionar a posição atual do cursor em relação às linhas retornadas pela consulta, sem retornar nenhuma linha. Análise das Outras Opções: - **A) uma tabela em um banco de dados.** - **Errado.** O comando `MOVE` não é utilizado para reposicionar tabelas. - **B) uma linha em uma tabela.** - **Errado.** O comando `MOVE` não movimenta linhas em uma tabela, mas sim reposiciona o cursor. - **C) uma coluna em uma linha.** - **Errado.** Não existe um comando `MOVE` para reposicionar colunas em uma linha. - **E) uma view em uma tabela.** - **Errado.** O comando `MOVE` não está relacionado a views. Portanto, a resposta correta é **D) o cursor sem trazer dados.** Gabarito: D
530
95. BANCA: FCC ANO: 2012 ORGÃO: MPE-AP - Analista Ministerial PROVA: Tecnologia da Informação No banco de dados PostgreSQL, o comando utilizado para efetivar a transação corrente é chamado A END. B ROLLBACK. C TRANSFER. D EFFECTIVE. E SELECT.
**A) END.** No PostgreSQL, o comando **COMMIT** é utilizado para finalizar uma transação, enquanto **END** é um sinônimo que provoca o mesmo resultado. Gabarito: A
531
96. BANCA: FCC ANO: 2012 ORGÃO: MPE-AP - Técnico Ministerial PROVA: Informática Em bancos de dados PostgreSQL, o comando DECLARE é utilizado para A criar uma classe de operadores que define como um determinado tipo de dado pode ser usado em um índice. B criar cursores, que podem ser utilizados para retornar, de cada vez, um pequeno número de linhas em uma consulta. C criar uma tabela, inicialmente vazia, no banco de dados corrente. D registrar um novo tipo de dado para uso no banco de dados corrente. E registrar uma nova linguagem procedural a ser utilizada em consultas ao banco de dados.
**B) criar cursores, que podem ser utilizados para retornar, de cada vez, um pequeno número de linhas em uma consulta.** O comando **DECLARE** é usado para declarar um cursor em PostgreSQL, permitindo que você processe um conjunto de resultados linha por linha. Gabarito: B
532
97. BANCA: FCC ANO: 2012 ORGÃO: MPE-AP - Técnico Ministerial PROVA: Informática Quando o nível de isolamento de uma transação em SQL no banco de dados PostgreSQL é definido como serializável (Serializable), o comando SELECT enxerga apenas os dados efetivados A durante a transação, desde que as transações concorrentes tenham feito COMMIT. B por transações simultâneas. C após o início da transação, desde que as transações simultâneas tenham efetivado as alterações no banco de dados. D antes de a transação começar. E durante a transação, desde que as transações concorrentes não tenham feito COMMIT.
Sabemos que o nível de isolamento serializável faz as operações serem executadas isoladamente. Nestes casos, só podemos visualizar dados efetivados antes de a transação começar. Gabarito: D.
533
98. BANCA: FCC ANO: 2012 ORGÃO: MPE-PE - Técnico Ministerial PROVA: Informática Em PostgreSQL, um conjunto de funções e expressões estão disponíveis para a geração de arquivos XML. A função, similar a função xmlconcat, que concatena as colunas xml entre linhas de uma tabela é denominada de A xmllist. B xmlrowcat. C xmlgrep. D xmlagg. E xmlconcr.
**D) xmlagg.** A função **xmlagg** é usada em PostgreSQL para concatenar valores XML de várias linhas em uma única expressão XML. Gabarito: D
534
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
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
535
2. (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.
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
536
3. (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 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.
537
4. (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.
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
538
5. (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).
O conjunto de programas responsável pelo gerenciamento de uma base de dados é o Sistema Gerenciador de Bancos de Dados (SGBD). Gabarito: E
539
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
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
540
2. (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;
O Modelo Entidade-Relacionamento (MER) é o resultado de um Projeto Conceitual. Gabarito: B
541
3. (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.
No Diagrama Entidade-Relacionamento, uma entidade é representada por meio de um retângulo com seu nome dentro. Gabarito: C
542
4. (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.
(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
543
5. (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).
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
544
6. (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) 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
545
7. (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.
(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
546
8. (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 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)**
547
9. (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) 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
548
10. (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 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).
549
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
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.
550
2. 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
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.
551
552
4. 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.
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.
553
3. 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.
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.
554
5. 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.
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.
555
6. 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.
Gabarito: D No modelo ER, um relacionamento representa um vínculo lógico entre duas entidades, indicando a forma como elas estão associadas.
556
7. 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.
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.
557
8. 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
Gabarito: D Um atributo derivado é aquele que pode ser calculado a partir de outros atributos, e não é armazenado diretamente no banco de dados.
558
9. 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.
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.
559
10. 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.
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.
560
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.
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
561
2. (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 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
562
3. (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.
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
563
4. (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) 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
564
5. (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.
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
565
6. (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.
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
566
7. (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
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.**
567
8. (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 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).**
568
9. (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 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.**
569
10. (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
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
570
11. (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 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
571
12. (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) 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
572
13. (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.
O comando DCL responsável por outorgar privilégios sobre objetos de um banco de dados é o comando GRANT. Gabarito: B
573
14. (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;
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
574
15. (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.
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
575
16. (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) 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
576
17. (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
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
577
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.
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
578
2. (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.
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
579
3. (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.
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
580
4. (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 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**.
581
5. (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 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**.
582
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
Gabarito: C O comando CREATE TABLE é usado para criar uma nova tabela no banco de dados, especificando suas colunas e tipos de dados.
583
2. 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
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.
584
3. 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
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.
585
6. 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
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.
586
7. 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
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.
587
8. 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
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.
588
9. 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
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.
589
10. 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
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'.
590
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 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
591
2. (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 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
592
3. (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 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
593
4. (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 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
594
5. (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 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
595
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) 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
596
3. (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 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.
597
4. (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 letra E representa um intervalo de tempo. Os outros tipos não existem. Gabarito: Letra E
598
5. (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 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.**
599
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
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.
600
2. 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
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.
601
3. 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
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.
602
4. 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
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.
603
6. 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
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.
604
7. 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
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.
605
8. 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
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.
606
9. 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
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.
607
10. 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
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.
608
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 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
609
3. (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 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
610
4. (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.
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
611
5. (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
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
612
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
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
613
2. (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
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
614
3. (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 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**.
615
4. (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 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**.
616
5. (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 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.**
617
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
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.
618
2. 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
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.
619
3. 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
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.
620
4. 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
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.
621
5. 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.
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.
622
6. 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
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.
623
7. 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
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.
624
8. 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
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.
625
9. 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
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.
626
10. 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 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**.
627
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) 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
628
2. (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.
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
629
3. (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.
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
630
4. (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) 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
631
5. (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
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
632
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.
O Big Data pode ser rapidamente identificado através das premissas: Variedade, Velocidade e Volume. Gabarito: C
633
2. (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.
(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
634
3. (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.
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
635
4. (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.
(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
636
5. (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.
(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
637
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
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.
638
2. 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
Gabarito: E Um data mart é um subconjunto de um data warehouse projetado para atender às necessidades de uma área de negócio específica, como finanças, marketing ou vendas. 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.
639
3. 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
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.
640
4. 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
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.
641
5. 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
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.
642
6. 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
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.
643
7. 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
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.
644
8. 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
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.
645
9. Qual é uma das principais características do Big Data? A) Volume B) Amplitude C) Comprimento D) Largura E) Peso
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.
646
10. 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
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.
647
05. (CEBRASPE/TCE RJ/2022) Julgue o item subsequente, referentes a Big Data e visualização e análise exploratória de dados. Conhecimentos representados em banco de dados ajudam a descobrir padrões em um conjunto de regras, em equações associando diferentes variáveis ou em modelos.
Os conhecimentos, em banco de dados, são obtidos a partir da análise de um conjunto de dados. Eles são essenciais para descobrir padrões, tendências, entre outros, analisando deferentes variáveis ao mesmo tempo. Nesse sentido, está correta a afirmativa. Gabarito: Correto
648
12. (FGV/TJ RJ/2024) Com relação às três fases de um projeto de um novo banco de dados, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F). ( ) O modelo conceitual pode ter a forma de um diagrama entidade-relacionamentos e captura as necessidades de uma organização em termos de armazenamento de dados independentemente da sua implementação. ( ) O projeto lógico tem como objetivo transformar o modelo conceitual obtido na primeira fase em um modelo lógico que definirá como o banco de dados será implementado em um SGBD. ( ) Na etapa do projeto físico, o modelo de banco de dados é enriquecido com detalhes que influenciam no desempenho do banco mas interferem em suas funcionalidades. As afirmativas são, respectivamente, a) V – F – F. b) V – V – F. c) F – F – F. d) F – V – V. e) F – F – V.
Vamos analisar cada uma das afirmativas. ( ) O modelo conceitual pode ter a forma de um diagrama entidade-relacionamentos e captura as necessidades de uma organização em termos de armazenamento de dados independentemente da sua implementação. Verdadeiro. Conforme vimos na aula, o modelo conceitual é um ponto intermediário, entre as necessidades da organização e a implementação técnica dos bancos de dados. É nesse modelo que fazemos os diagramas entidade-relacionamento. ( ) O projeto lógico tem como objetivo transformar o modelo conceitual obtido na primeira fase em um modelo lógico que definirá como o banco de dados será implementado em um SGBD. Verdadeiro. Na modelagem de bancos de dados, temos o modelo lógico como um ponto intermediário entre o modelo físico e o modelo conceitual. Ele transforma as informações que estão no modelo conceitual em implementações um pouco mais tangíveis. ( ) Na etapa do projeto físico, o modelo de banco de dados é enriquecido com detalhes que influenciam no desempenho do banco mas interferem em suas funcionalidades. Falso. A afirmativa começa muito bem - de fato enriquecemos com detalhes de implementação no projeto físico, que interferem no desempenho do banco de dados. Porém, o item erra em dizer que eles interferem nas funcionalidades, já que temos uma independência entre as funcionalidades e a implementação física. Temos, portanto, V-V-F. Gabarito: Letra B
649
19. (CEBRASPE/DATAPREV/2023) A respeito de modelagem de dados, julgue o item a seguir. A modelagem conceitual representa o negócio sob a perspectiva dos dados, e, em projetos de TI, o principal objetivo de um modelo de dados conceitual é fornecer uma visão geral dos requisitos de informação envolvidos no projeto.
Perfeito! O nível conceitual é nosso nível mais abstrato, tendo como objetivo fornecer uma visão geral do que precisa ser colocado no projeto, através de entidades, atributos e relacionamentos. Gabarito: Correto
650
22. (VUNESP/PREF. MARÍLIA/2023) A necessidade de que haja o controle de concorrência em bancos de dados relacionais tem como objetivo básico a) proibir o armazenamento de valores nulos nas tabelas do banco de dados. b) não permitir a existência de atributos do tipo booleano nas tabelas do banco de dados. c) limitar o número de atributos em cada tabela do banco de dados. d) limitar o tamanho máximo de armazenamento do banco de dados. e) permitir que haja mais de um usuário acessando, simultaneamente, um objeto do banco de dados.
O controle de concorrência serve para que possamos ter múltiplos usuários atuando no mesmo momento em um banco de dados, sem que tenhamos nenhum problema de leitura nos dados. Isso garante o princípio da multiplicidade de transações e usuários num banco de dados. A alternativa que melhor traz a descrição desse mecanismo é a letra E. Gabarito: Letra E
651
24. (CEBRASPE/PREF. FORTALEZA / 2023) A respeito de propriedades e transações de bancos de dados, julgue o item subsequente. Sistemas gerenciadores de banco de dados (SGBD) utilizam o recurso do bloqueio como forma de controlar a concorrência aos dados armazenados, porém esses bloqueios podem gerar deadlocks, que precisarão ser tratados.
De fato, os SGBDs usam o bloqueio para controlar a concorrência, de forma que apenas um usuário, ou um grupo deles, consiga ter acesso àquele arquivo. E isso realmente acaba resultando em deadlocks eventualmente. Mas, o que é um deadlock? Na computação, um deadlock é uma situação em que dois ou mais processos ou transações estão aguardando recursos que foram bloqueados por outros processos, impedindo que qualquer um deles prossiga. Isso cria um impasse, onde nenhum dos processos pode ser concluído, pois cada um está esperando que o outro libere o recurso que precisa. Por exemplo, suponha que o Processo A tenha bloqueado o Recurso 1 e esteja tentando acessar o Recurso 2, enquanto o Processo B tenha bloqueado o Recurso 2 e esteja tentando acessar o Recurso 1. Nesse caso, ambos os processos ficarão em espera indefinida, pois nenhum deles pode liberar o recurso que o outro precisa. Gabarito: Correto
652
27. (CONSULPLAN/CM PARAUAPEBAS / 2022) Para que uma empresa ou instituição consiga armazenar dados de seus clientes com o objetivo posterior de gerar informações úteis de forma eficiente, é necessário criar um banco de dados. Assinale, a seguir, a definição correta de banco de dados. a) Conjunto de dados não integrados que tem como objetivo atender a uma comunidade de usuários. b) Coleção de dados que, tipicamente, descreve as atividades de uma ou mais organizações relacionadas. c) Repositório único de dados de uma organização, o qual somente lhe é permitido inserir dados numéricos. d) Conhecido, também, como um conjunto de arquivos armazenados em disco, em que cada dado inserido no banco é transformado em um arquivo com a extensão *.bd.
Vamos analisar cada afirmativa: a) Errado, o conjunto de dados, em um banco de dados, deve ser integrado. b) Correto, conforme vimos nas definições da aula de hoje. c) Errado, podemos inserir dados numéricos, em texto, símbolos, imagens, não temos essa limitação dos dados serem apenas numéricos. d) Errado, nada nessa afirmativa faz sentido, a banca foi bem longe. Portanto, correta a letra B. Gabarito: Letra B
653
28. (CEBRASPE/TCE-SC/2022) Julgue o próximo item, com relação à segurança e arquitetura de banco de dados e administração de dados e de banco de dados. O role contém as definições de permissões, privilégios e garantias de acesso aos objetos do banco e aos dados.
Um role, ou papel, contém as definições de um conjunto de regras que versam sobre permissões de acesso, privilégios, garantias, entre outros, aplicados a um conjunto específico de usuários. Nesse sentido, correta a afirmativa. Apenas a título de curiosidade, veja algumas das roles padrão trazidas pelo SQL Server: * db_owner - Esta role possui controle total sobre um banco de dados específico, incluindo a capacidade de executar qualquer operação no banco de dados, criar e excluir objetos e gerenciar permissões. * db_accessadmin - Esta role pode adicionar ou remover logons de banco de dados e atribuir permissões para acessar um banco de dados. * db_securityadmin - Esta role pode gerenciar permissões de segurança no nível do banco de dados, como conceder, negar ou revogar permissões. * db_ddladmin - Esta role pode executar operações de linguagem de definição de dados (DDL), como criar, alterar ou excluir objetos no banco de dados. * db_backupoperator - Esta role pode fazer backups de um banco de dados, bem como restaurar backups existentes. Gabarito: Correto
654
29. (FGV/SEFAZ BA/2022) Nos Sistemas de Gerenciadores de Bancos de Dados relacionais (SGBDr), o módulo que se preocupa com o rearranjo e a possível reordenação de operações com a eliminação de redundâncias e uso de algoritmos e índices corretos durante a execução de uma consulta SQL, é denominado a) gerenciador de dados armazenados. b) pré-interpretador semântico. c) interpretador de consultas. d) catálogo de estatísticas. e) otimizador de consultas.
O SGBD possui alguns módulos, componentes da sua arquitetura, que possuem responsabilidades específicas. Essa parte de rearranjo e reordenação das operações, retratada na questão, faz parte de um processo de otimização das consultas, de forma a garantir um melhor resultado na recuperação dos dados. Sendo assim, o módulo responsável pelas ações expostas na questão é o otimizador de consultas. Gabarito: Letra E
655
30. (VUNESP/CM OLÍMPIA/2022) Considerando os sistemas gerenciadores de bancos de dados, a maioria deles contém um módulo denominado otimizador, cuja função principal é a) implementar mecanismos de segurança dos dados contidos no banco de dados. b) realizar a conexão mais eficiente com a rede de comunicação de dados. c) duplicar o conteúdo dos dados a serem utilizados em uma consulta. d) determinar a forma mais adequada para que os dados do banco de dados ocupem menos espaço de armazenamento permanente. e) determinar o(s) modo(s) mais eficiente(s) para que o sistema gerenciador execute a consulta solicitada pelo usuário.
Galera, o otimizador usa mecanismos diversos, como reorganização da ordem da execução das consultas, eliminação de redundância, aplicação de indexações, entre outros, de forma a determinar o modo mais eficiente para a execução de uma consulta solicitada pelo usuário. Nesse sentido, a afirmativa que melhor descreve seu funcionamento é a letra E. Gabarito: Letra E
656
31. (FCC/PGE AM/2022) A principal utilidade de um Dicionário de Dados é a) armazenar os valores de dados, desde que textuais (não numéricos) em uma base de dados operacional. b) controlar os parâmetros que são recebidos e enviados a uma base de dados por um processo qualquer. c) armazenar metadados ou seja, dados sobre os dados, tais como restrições de uso de um dado, suas nomenclaturas, sua semântica, suas características, os valores que podem assumir, dentre outros. d) controlar o tamanho e/ou o valor de um dado de acordo com definições previamente estabelecidas, desde que estes estejam registrados em modo não estruturado. e) controlar os metadados organizacionais, ou seja, dados sobre os dados de negócio, e somente estes, tais como restrições de uso, nomenclaturas, semântica, características, valores que podem assumir, dentre outros.
Os dicionários de dados são componentes de um SGBD que armazenam um conjunto de metadados sobre os diversos dados gerenciados por ele. Ele é usado pelo Sistema Gestor justamente para poder interpretar os diferentes conjuntos de dados e retornar o resultado adequado, com a estrutura devida. Nesse sentido, a alternativa que melhor explica a definição do calendário de dados é a letra C. Gabarito: Letra C
657
32. (VUNESP/EsFCEx/2021) Um dos componentes presentes em um sistema gerenciador de bancos de dados é o dicionário de dados, cuja função é a) armazenar definições de objetos do sistema, como as tabelas do banco de dados. b) bloquear o acesso de usuários não autorizados ao banco de dados. c) conter uma biblioteca completa de gráficos passíveis de serem utilizados. d) servir de backup completo a todos os dados do banco de dados. e) servir como link para a rede de comunicação ligada ao banco de dados.
Vamos analisar cada uma das alternativas. a) Certo. É justamente isso que o dicionário de faz, através dos metadados armazenados nele. b) Errado. O bloqueio de acesso faz parte dos roles de um SGBD. c) Errado. Não temos biblioteca de gráficos como um componente relevante nos SGBDs. d) Errado. O dicionário não auxilia em nada nos backups dos bancos de dados. e) Errado. Essa também não é uma função dos dicionários de dados. Sendo assim, nosso gabarito é a letra A. Gabarito: Letra A
658
33. (FGV/CGE SC/2023) Sistemas Gerenciadores de Bancos de Dados (SGBD) relacionais que seguem o padrão SQL implementam objeto chamado VIEW. Segundo Ramakrishnan, em seu livro Sistemas Gerenciador de Banco de Dados, VIEW é definida como tabelas cujas linhas não são armazenadas explicitamente no banco de dados, mas calculadas conforme necessário, com base na definição de visão. Com relação à VIEW no Microsoft SQL Server, analise as afirmativas a seguir. I. A view é utilizada para tornar a percepção do usuário mais simplificada e focalizada. II. Visões são instrumentos de segurança, pois permitem restringir o acesso aos dados, ou seja, usuários não possuem permissões para acessar as tabelas base. III. O Objeto view é utilizado para simular versões anteriores de tabelas que teve seu esquema transformado e assim garantir o pleno funcionamento dos sistemas. IV. As instruções de SQL UPDATE, DELETE e INSERT são permitidas desde que realizadas utilizando colunas de uma única tabela base. Está correto o que se afirma em a) I, II, III e IV. b) I, II e IV, apenas. c) III e IV, apenas. d) I, III e IV apenas. e) I, II e III, apenas.
Questão que cobra alguns assuntos relacionados às views. Vamos analisar os itens. I. Certo. Cada view, ou visão, vai trazer um pequeno recorte do todo dos bancos de dados. Com isso, podemos tornar a visão do usuário mais simples, englobando apenas a parte que lhe interessa. II. Certo. Por retornar apenas um recorte dos dados, a visão pode trazer mais segurança ao banco de dados, já que o usuário não terá acesso a dados que ele não deva acessar. III. Certo. Como alterações nas tabelas originais, como adição de novas colunas e outros, não são refletidas na view, ela serve como uma espécie de "janela para o passado", representando versões anteriores dos dados. Esse conceito é ainda mais ressaltado quando usamos views materializadas. IV. Certo. Esse item fica um pouco difícil para vocês, já que não vimos as instruções apontadas por ele, oriundas da linguagem SQL. Mas saibam que podemos, sim, fazer essas operações em views, mas sob uma condição: ela tem que ser criada envolvendo apenas uma tabela do banco de dados. Se tivermos mais de uma tabela usada para criar esse objeto, não poderemos manipulá-lo. Sendo assim, temos como corretos os itens I, II, III e IV. Gabarito: Letra A
659
34. (FGV/DPE RS/2023) Sobre a utilização de views, em bancos de dados como MySQL, SQL Server, analise as afirmativas a seguir. I. Views servem para construir e armazenar o conteúdo de consultas complexas de uso frequente. II. Os principais SGBD não permitem o uso de operações de update/delete sobre views. III. Em geral, as views não podem ser referenciadas na cláusula FROM em outras consultas SQL. Está correto somente o que se afirma em: a) I; b) II; c) III; d) I e II; e) II e III.
Vamos analisar cada um dos itens. I. Certo. Quando temos consultas frequentes, de forma a otimizar o processo delas, podemos criar as visões. II. Errado. Podemos ter sim operações de update e delete sobre as views, conforme vimos na questão anterior. Só temos algumas limitações, como a criação de views sobre apenas uma tabela. III. Errado. Novamente uma questão que envolve SQL, mas a trouxe para você entender uma coisa - as views são tratadas como tabelas no banco de dados, então podemos sim referenciá-las em consultas. Correto apenas o item I. Gabarito: Letra A
660
35. (CEBRASPE/FUB/2023) Julgue o item subsecutivo, a respeito de administração de banco de dados. Views são visões de tabelas de banco de dados e são armazenadas em disco, com as informações de condições e situações que necessitem de atualização constante.
Lembrem, as visões, por padrão, são não materializadas - isso é, não são armazenadas fisicamente no banco de dados e, consequentemente, não são armazenadas no disco. São criadas apenas de forma virtual. Se quisermos uma view registrada no disco, teremos que criar uma materializada - e, para isso, a questão deveria ter trazido de forma expressa que é uma view materializada. Da forma como está, a afirmativa é incorreta. Gabarito: Errado
661
36. (VUNESP/PREF. PERUÍBE/2023) Em sistemas de bancos de dados, a propriedade caracterizada pela garantia de que uma série de operações em uma transação serão executadas por completo (em caso de sucesso), ou então que nenhuma dessas operações irá ocorrer (em caso de falha), não sendo possível que ocorram parcialmente, é chamada de a) consistência. b) atomicidade. c) isolamento. d) durabilidade. e) idempotência.
Temos 4 princípios, ou propriedades, que movem as transações em um SGBD - Atomicidade, Consistência, Isolamento e Durabilidade. É o nosso acrônimo ACID. A propriedade responsável por garantir que uma operação seja realizada com sucesso em sua completude, anulando qualquer transação que tiver um erro, por menor que ele seja, é a atomicidade. Gabarito: Letra B
662
38. (FGV/TJ RN/2023) Em banco de dados, uma transação é composta por diversas operações sobre os dados, como leitura, alteração, inserção e remoção. Contudo, a transação é percebida como uma operação lógica única sobre os dados. Com isso, para garantir a consistência de um banco de dados, as transações devem satisfazer algumas propriedades, como: (i) todas as operações da transação são executadas em caso de sucesso; ou (ii) em caso de falhas, todas as operações são desfeitas e o banco de dados deve voltar ao mesmo estado em que estava antes do início da transação. A propriedade de uma transação de banco de dados descrita é a: a) atomicidade; b) consistência; c) isolamento; d) durabilidade; e) redundância
A propriedade dos bancos de dados que define que, ao realizarmos uma transação, todas as operações relacionadas a ela devem ser concluídas com sucesso, caso contrário a transação deve ser desfeita, é a atomicidade. Gabarito: Letra A
663
39. (CEBRASPE/PREF. FORTALEZA / 2023) A respeito de propriedades e transações de bancos de dados, julgue o item subsequente. No processamento de transações em um sistema de banco de dados, o uso de bloqueios (locks) tem o objetivo de garantir a propriedade da atomicidade das transações.
Quando usamos os bloqueios, estamos trabalhando para que diferentes usuários acessando um mesmo banco de dado não interfiram nas operações uns dos outros. Portanto, os locks objetivam garantir o princípio do isolamento, e não da atomicidade - questão incorreta. Gabarito: Errado
664
40. (CESGRANRIO/TRANSPETRO/2023) Gatilhos (triggers) e procedimentos armazenados (stored procedures) são componentes fundamentais em sistemas de gerenciamento de banco de dados (SGBDs) relacionais. Tanto os gatilhos quanto os procedimentos armazenados desempenham papéis vitais e, muitas vezes, complementares em aplicações baseadas em banco de dados relacionais, sendo escolhidos de acordo com as necessidades específicas de uma aplicação ou de um sistema. A respeito de gatilhos e de procedimentos armazenados, tem-se que a) tanto os gatilhos quanto os procedimentos armazenados são executados manual e explicitamente por um usuário ou por um programa de aplicação, e não podem ser disparados automaticamente por eventos de atualização em um banco de dados. b) tanto os gatilhos quanto os procedimentos armazenados são disparados automaticamente por eventos de atualização em um banco de dados, e não podem ser ativados manual e explicitamente por um usuário ou por um programa de aplicação. c) gatilhos, ao contrário dos procedimentos armazenados, não podem expressar a lógica de regras de negócios, e são utilizados exclusivamente para validação de dados. d) gatilhos são disparados automaticamente em resposta a eventos de atualização em um banco de dados, enquanto procedimentos armazenados precisam ser chamados explicitamente. e) gatilhos e procedimentos armazenados não podem coexistir em um mesmo sistema de banco de dados, pois possuem funcionalidades idênticas e redundantes.
Vamos analisar cada afirmativa. a) Errado. Os gatilhos são executados automaticamente, baseados no acontecimento de determinados eventos. b) Errado. Os gatilhos são disparados automaticamente, mas os procedimentos armazenados devem ser chamados explicitamente pelos usuários. c) Errado. Não temos essas limitações nos gatilhos. Nós podemos expressar regras de negócio dentro dos gatilhos, a principal diferença entre os gatilhos e procedimentos armazenados é que os gatilhos são disparados automaticamente, enquanto os procedimentos necessitam de uma chamada explícita. d) Certo. Vide comentário da letra C. e) Errado. Muito pelo contrário, muitas vezes temos gatilhos e procedimentos armazenados ocorrendo conjuntamente, com os gatilhos chamando justamente os procedimentos. Portanto, correta a letra D. partiu aula 01
665
01. (FGV/MPE SC/2023) (FGV/MPE SC/2023) A modelagem de bancos de dados passa pela análise das relações e comportamento dos dados que futuramente constituirão o conteúdo desses bancos. Para bancos de dados relacionais, essa modelagem passa pelo levantamento das dependências funcionais que eventualmente possam ser depreendidas em cada caso. Como um exemplo, considere um banco de dados que armazena a data de nascimento, o CPF (Cadastro de Pessoas Físicas) e a CNH (Carteira Nacional de Habilitação) de um grupo de pessoas, no qual todas possuem CPF e CNH. Dado que no Brasil o CPF e a CNH são individualizados, as dependências funcionais que devem ser consideradas, em conjunto, são: a) CPF → DataNascimento CNH → DataNascimento CPF → CNH CNH → CPF b) CPF → DataNascimento DataNascimento → CNH CNH → CPF c) CPF → DataNascimento DataNascimento → CPF CPF → CNH d) CPF → CNH CNH → CPF e) CPF → DataNascimento CNH → DataNascimento
No banco de dados descrito, o CPF e a CNH são chaves únicas de identificação das pessoas, o que significa que cada pessoa tem apenas um CPF e uma CNH. Portanto, existe uma dependência funcional entre CPF e CNH, e vice-versa. Além disso, cada pessoa tem apenas uma data de nascimento, o que significa que existe uma dependência funcional entre o CPF e a data de nascimento, e também entre a CNH e a data de nascimento. Assim, a opção A é a única que considera todas as dependências funcionais necessárias para modelar corretamente esse banco de dados. Gabarito: Letra A
666
02. (FCC/TRT 23/2022) Considere que uma organização possui um banco de dados com os registros de cidadãos identificados pelo CPF, endereços residenciais identificados pelo CEP e habilidades profissionais pré-determinadas. Os dados dos cidadãos, além dos pessoais, incluem a situação empregatícia atual que pode ser uma das três: empregado contratado, empregado temporário ou desempregado. O banco completo, então, é formado pelas tabelas de cidadãos (cadastro de pessoas), endereços (tabela de CEP), habilidades (tabela de habilidades), tabela cidadão-habilidade e tabela cidadão-endereço. No modelo entidade-relacionamento normalizado até a 3FN, identifica-se como relacionamento, entidade e atributo, correta e respectivamente, a) cidadão-habilidade, cidadão e situação empregatícia. b) cidadão, cidadão-endereço e habilidade. c) situação empregatícia, cidadão e endereço. d) habilidade, endereço e cidadão-endereço. e) cidadão-endereço, situação-empregatícia e habilidade.
O modelo entidade-relacionamento normalizado até a 3FN permite a identificação das entidades, atributos e relacionamentos presentes no banco de dados. Cidadão-Habilidade representa o relacionamento entre a entidade cidadão e a entidade habilidade, pois um cidadão pode ter várias habilidades e uma habilidade pode ser compartilhada por vários cidadãos. Cidadão é uma entidade, representada por uma tabela que contém seus atributos, incluindo a situação empregatícia – permitindo que marquemos a alternativa A como correta. Sobre as demais alternativas: b) A tabela cidadão-endereço não representa um relacionamento, e sim uma entidade associativa, pois ela é criada para associar o cidadão a um endereço de sua residência. c) A situação empregatícia não é uma entidade, e sim um atributo da entidade cidadão. d) A tabela cidadão-endereço representa uma entidade associativa, e não uma entidade separada. e) A tabela cidadão-endereço não é uma entidade, e sim uma entidade associativa, e a situação empregatícia é um atributo da entidade cidadão. A habilidade é uma entidade e deve estar representada em uma tabela própria. Gabarito: Letra A
667
03. (CEBRASPE/ANP/2022) O diagrama de entidade relacionamento a seguir representa a relação entre colaboradores e sua chefia, em que cada chefe pode ter n colaboradores e cada colaborador pode ter muitos chefes.
A cardinalidade indicada na questão “ter como chefe 1”, indica que cada colaborador tem um, e somente um, chefe – na notação numérica, teríamos a cardinalidade 1:1. Outro detalhe interessante nessa questão é que temos um relacionamento recursivo entre pessoa. Gabarito: Errado
668
04. (FCC/TRT 5/2022) O Modelo Entidade-Relacionamento abaixo deve ser utilizado para responder à questão Observando o Modelo Entidade-Relacionamento apresentado, é possível concluir corretamente que: a) O atributo nomeDepartamento é chave estrangeira na entidade Departamento. b) A entidade Login não tem chave estrangeira nem primária. c) A cardinalidade do relacionamento entre as entidades Funcionario e Login é um-para-um. d) O atributo telefoneFuncionario é adequado para ser chave primária na entidade Funcionario. e) A chave primária da entidade Login é composta, pois emailFuncionario é chave primaria e chave estrangeira ao mesmo tempo
Vamos analisar alternativa por alternativa: a) Errado. nomeDepartatamento, por estar inserida dentro da entidade Departamento, é sua chave primária, não estrangeira. b) Errado. Login tem chave estrangeira, a chave emailFuncionario, que referencia a entidade Funcionário. Além disso, por somente ter chave estrangeira, a entidade Login é considerada uma entidade fraca. c) Certo. A notação utilizada (pé de galinha) nos aponta que a cardinalidade é, de fato, 1:1. d) Errado. Lembrem que a chave primária deve ser única, e não há nenhuma restrição garantindo que telfoneFuncionario o seja. e) Errado. Para ser uma chave composta, a entidade necessitaria de mais de uma chave – e ela só tem uma, estrangeira. Gabarito: Letra C
669
05. (FGV/TCU/2022) Para a questão a seguir, considere uma tabela relacional R, com atributos W, X, Y, Z, e o conjunto de dependências funcionais identificadas para esses atributos. X → Y X → Z Z → X Z → W Com referência à tabela R, definida anteriormente, considere o esboço de um comando SQL para a criação da tabela. create table R ( X int not null, Y int not null, W int not null, Z int not null, constraint … ) De acordo com as dependências funcionais de R, e com a Forma Normal de Boyce-Codd, a definição correta das chaves (por meio de constraints) aplicáveis e necessárias para essa tabela deveria ser: a) constraint c1 unique (X) constraint c2 unique (Z) b) constraint c1 unique (X, Z) c) constraint c1 unique (X, Y, W) d) constraint c1 unique (X, Y, Z) e) constraint c1 unique (X) constraint c2 unique (Y) constraint c3 unique (Z)
Aqui temos um caso da Forma Normal de Boyce-Codd(FNBC) aplicada à prática. Com elas, temos uma superchave. Nossa superchave será definida pelo conjunto de colunas (X, Y, Z ou W) que definir todas as demais colunas. Para encontrar quais são, vamos às regras de associação apresentadas pelo enunciado: X → Y, X → Z, Z → W, portanto, pela regra da transitividade, temos que X → W. E como Z → X, consequentemente, Z define Y e Z. Assim, temos nossas duas chaves concorrentes: Z e X. Para definir uma restrição de domínio em SQL, usamos o comando CONSTRAINT. É necessário que a atribuição de UNIQUE se dê a cada elemento em separado, não ao conjunto de elementos X e Z (conforme a afirmativa B), pois, nesse caso, o que seria único seria o par de chaves A, B, e não as chaves A e B em si. Portanto, nosso gabarito é a letra A. Gabarito: Letra A
670
07. (FGV/TCE TO/2022) Considere um banco relacional com duas tabelas declaradas como abaixo. CREATE TABLE T1(A1 int not null UNIQUE, B1 int not null) CREATE TABLE T2(A2 int not null UNIQUE, B2 int, FOREIGN KEY (B2) references T1(A1)) Para n >= 1, está correto concluir que: a) cada linha de T1 está relacionada a exatamente 1 linha de T2; b) cada linha de T1 está relacionada a 0 ou 1 linha de T2; c) cada linha de T2 está relacionada a exatamente 1 linha de T1; d) cada linha de T2 está relacionada a 0 ou 1 linha de T1; e) cada linha de T2 está relacionada a n linhas de T1.
Essa é uma questão recorrente da FGV e, como ela é um pouco mais complexa, vou ensinar direitinho como vocês podem encontrar a resposta. A sintaxe SQL apresentada cria duas tabelas, uma tabela T1 e outra T2. A tabela T1 tem dois atributos: * A1: uma coluna do tipo INT (números inteiros), que só recebe valores não nulos (not null) e únicos (UNIQUE). Ela é, portanto, uma chave primária. * B1: uma coluna do tipo INT, que só recebe valores não nulos. Já a tabela T2 também possui 2 atributos: * A2: também do tipo INT, que recebe valores não nulos e únicos - a chave primária dessa tabela. * B2: um atributo qualquer, do tipo INT Só que temos um pequeno detalhe - a coluna B2 é uma chave estrangeira na tabela T2, ligada à coluna A1 da tabela T1. Isso define um relacionamento entre as duas tabelas. O grande cerne dessa questão é definir qual a cardinalidade dessa ligação. Para esse tipo de questão, temos dois casos: * A chave estrangeira se liga à chave primária * A chave estrangeira se liga a um atributo qualquer Se a chave estrangeira se ligar à chave primária, já sabemos uma coisa - que a cardinalidade máxima será de 1. A cardinalidade mínima será definida pela própria chave estrangeira. Se tivermos o atributo NOT NULL, a cardinalidade mínima será 1, já que não poderemos ter campos vazios. Se não tivermos esse atributo, a cardinalidade mínima é igual a 0. Já se a chave estrangeira se ligar a um atributo qualquer, a cardinalidade mínima seguirá o mesmo padrão que vimos no caso acima. Porém a cardinalidade máxima é definida pela chave estrangeira - se tivermos o atributo UNIQUE, a cardinalidade máxima será de 1, caso contrário, será ilimitada (n). Então, de forma resumida: Na questão em análise, o atributo B2 se liga à coluna A1, que é chave primária na coluna T1. Portanto, já sabemos que a cardinalidade máxima dessa relação será 1. O segundo ponto é analisar a cardinalidade mínima - para isso, verificamos a presença do atributo "NOT NULL". Como não temos esse atributo na construção de B2, podemos afirmar que a cardinalidade mínima é 0. Ficamos, portanto, com a cardinalidade (0, 1) - ou seja, cada linha da tabela T2 irá se relacionar a 0 ou 1 linhas da tabela T1. Gabarito: Letra D
671
08. (FCC/TRT 14/2022) Considere o Modelo Entidade-Relacionamento (MER). Uma entidade desse modelo que só pode ser identificada por meio da associação com uma outra entidade, ou seja, sua chave primária é composta pela chave proveniente dessa outra entidade, concatenada a um identificador de si própria, é classificada como a) Relação Dependente. b) Entidade Associativa. c) Relação por Associação. d) Entidade Fraca. e) Entidade subordinada.
Quando uma entidade é “derivada” de outra – isso é, sua chave primária é composta por uma chave estrangeira, essa entidade é chamada de entidade fraca. Gabarito: Letra D
672
09. (FCC/MPE PB/2023) Em um modelo relacional de dados, a restrição de chave serve para garantir que as tuplas de uma relação sejam únicas. Para isso, identifica um conjunto mínimo de atributos que devem ter valores diferentes em todas as tuplas de uma instância da relação. Este conjunto de atributos denomina-se a) chave estrangeira da relação. b) chave candidata da relação. c) chave primária permanente, mas não única. d) tupla-mãe da relação. e) tupla-primária da relação.
A questão nos pede o conceito de chave candidata, que é a chave que tem a capacidade, por ser única e não nula, de se tornar a chave primária de uma tabela. Gabarito: Letra B
673
10. (FGV/TJ RN/2023) Supondo que no Brasil - todo brasileiro tem um, e somente um, CPF; - alguns brasileiros têm um, mas somente um, passaporte válido; - alguns brasileiros têm uma, mas somente uma, carteira de motorista (CNH) válida. A definição correta desses atributos numa tabela relacional normalizada seria: a) CPF varchar(11) not null CNH varchar(9) UNIQUE Passaporte varchar(9) UNIQUE b) CPF varchar(11) not null UNIQUE CNH varchar(9) UNIQUE Passaporte varchar(9) UNIQUE c) CPF varchar(11) UNIQUE CNH varchar(9) not null Passaporte varchar(9) not null d) CPF varchar(11) not null CNH varchar(9) null Passaporte varchar(9) null e) CPF varchar(11) null CNH varchar(9) UNIQUE Passaporte varchar(9) UNIQUE
Pelas restrições apresentadas no enunciado, temos o seguinte: * Cada brasileiro tem 1 e somente 1 CPF – portanto, deve ser único (unique) e não nulo (not null) * Alguns brasileiros tem 0:1 passaporte – portanto, deve ser único (unique), mas não precisa ser não nulo (not null). O mesmo é aplicado à CNH. Pelo apresentado acima, está correto o apontado na letra B. Gabarito: Letra B
674
12. (FGV/SEMSA MANAUS/2022) Para a próximas questões, considere do banco de dados relacional happyhour, que contém três tabelas, a saber. frequencia (cliente, bar) preferencia (cliente, cerveja) oferta (bar, cerveja) A relação frequencia registra o(s) bar(es) que cada cliente frequenta, e tem dois atributos: nome do cliente e nome do bar; A relação preferencia armazena a(s) cerveja(s) preferida(s) por cada cliente e tem dois atributos: nome do cliente e nome da cerveja; A relação oferta relaciona a(s) cerveja(s) que cada bar serve, também com dois atributos: nome do bar e nome da cerveja. É dado que todo cliente frequenta pelos menos um bar, que nem todos os clientes têm preferências, que todo bar oferece pelo menos uma cerveja e que toda cerveja é oferecida pelo menos por um bar. Assinale o esquema correto para a definição de chaves/identificadores para as tabelas do banco de dados happyhour. a) Em cada tabela, cada coluna é declarada como identificador pela cláusula unique. b) Em cada tabela, as duas colunas em conjunto formam a primary key. c) Nenhuma tabela com especificação de identificador ou primary key. d) Em cada tabela, cada coluna é declarada como identificador pela cláusula unique e declarada como chave estrangeira para as demais tabelas. e) Em cada tabela, as duas colunas em conjunto formam a primary key e são declaradas, em conjunto, chaves estrangeiras para as demais tabelas.
A questão quer saber, em suma, qual será nossa chave primária. Percebam que não existe nenhum atributo que, por si só, pode ser considerado chave primária, tendo em vista que eles se repetem em todas as tabelas – cliente está em frequência e preferência, bar está em frequência e oferta, e cerveja está em preferência e bar. Portanto, para identificarmos uma chave corretamente, devemos adotar a forma normal BCFN, criando uma superchave com ambos os atributos da tabela. Sendo assim, está correto o apontamento da afirmativa B. Vamos apontar os erros das demais alternativas: a) Não é possível usar unique, tendo em vista que tanto bar, quanto cerveja e cliente podem se repetir em uma mesma tabela – o que é único é a associação entre ambos. c) Não é possível uma tabela sem chave primária. d) Conforme a explicação da afirmativa A, a chave primária é o conjunto das colunas. e) Não são chaves estrangeiras, tendo em vista que cada tabela é composta apenas por sua chave primária. Gabarito: Letra B
675
13. (FCC/SEFAZ AP/2022) Para responder à questão utilize as informações abaixo. Considere as seguintes tabelas relacionais e seus respectivos campos: Tabela1: CPF-Contribuinte, Nome-Contribuinte, Idade-Contribuinte Tabela2: CNPJ-Contribuinte, RazaoSocial, UF, CPF-Contribuinte CPF-Contribuinte e CNPJ-Contribuinte são definidos como Primary-Key, Unique. O campo a) CNPJ-Contribuinte é considerado chave estrangeira na Tabela1. b) CPF-Contribuinte é considerado chave estrangeira na Tabela2. c) CPF-Contribuinte não é considerado chave estrangeira na Tabela2 porque é Unique na Tabela1. d) CPF-Contribuinte é considerado chave estrangeira na Tabela1. e) CNPJ-Contribuinte é considerado chave estrangeira na Tabela2.
Podemos definir como chave primária CPF-Contribuinte na tabela 1, e CNPJ-Contribuinte na tabela 2, e como chave estrangeira CPF-Contribuinte na tabela 2. Com essas informações em mente, podemos concluir que a letra B faz um apontamento correto. Sobre as demais alternativas: a) Não há CNPJ-Contribuinte na tabela 1 c) Não existe essa relação derivada da cláusula unique d) Ela é a chave primária da tabela 1 e) Ela é a chave primária da tabela 2 Gabarito: Letra B
676
18. (VUNESP/DPE SP/2023) Os diagramas entidade-relacionamento representam uma maneira gráfica para a modelagem de bancos de dados relacionais. Um dos símbolos utilizados nesses diagramas é um retângulo desenhado com linhas duplas, que representa um a) atributo do tipo derivado. b) atributo de valores múltiplos. c) conjunto de entidades forte. d) conjunto de entidades fraco. e) conjunto de relacionamentos.
Os objetos representados por retângulos são as entidades. Quando possuímos linhas simples, temos entidades fortes. Quando as linhas são duplas, temos entidades fracas. Mas atenção! É possível adotar também a notação IDEF1X para as entidades - nesse caso, as entidades fracas serão representadas por retângulos de canto arredondado. Gabarito: Letra D
677
19. (CEBRASPE/EMPREL/2023) Na notação IDEF1X, uma entidade é dependente sempre que sua chave (também conhecida como chave primária) contém a chave completa de pelo menos outra entidade. Nesse contexto, a entidade dependente é representada por a) retângulos com os cantos vivos (90 graus). b) retângulos com os cantos arredondados. c) uma linha pontilhada. d) linhas rotuladas com um verbo ou uma frase verbal. e) uma linha dupla.
Como acabei de falar para vocês, por padrão a notação de uma entidade fraca (que é o que a questão descreve) é feita por retângulos de bordas duplas. Porém, na notação IDEF1X, essas entidades fracas são identificadas através de retângulos com bordas arredondadas. Gabarito: Letra B
678
21. (CEBRASPE/DATAPREV/2023) A respeito de banco de dados, julgue o item a seguir. O modelo entidade relacionamento (MER) representa a estrutura física de um banco de dados relacional.
Cuidado, galera! Essa é uma questão que vocês não podem errar. O MER é uma representação do modelo conceitual, não apontando nada da estrutura física do banco de dados. Incorreta a afirmativa. Gabarito: Errado
679
22. (CEBRASPE/DATAPREV/2023) Com relação a banco de dados, julgue o item a seguir. No MER, a entidade associativa é utilizada para representar um relacionamento entre relacionamentos.
As entidades associativas são criadas quando temos dois relacionamentos muitos-para-muitos (ou seja, (0, n) ou (m, n)) - o que cria uma necessidade de individualização para cada relacionamento, com seus atributos específicos. Elas não são usadas para representar relacionamentos entre relacionamentos - incorreta a afirmativa, portanto. Gabarito: Errado
680
23. (CEBRASPE/DATAPREV/2023) No que se refere à representação do diagrama entidade-relacionamento (ER) precedente, julgue o item a seguir. Várias vendas contêm 1 mercadoria.
A construção da afirmativa não é das melhores - ela, basicamente, pergunta se podemos ter vendas com apenas 1 mercadoria. A cardinalidade VENDA → MERCADORIA é (1, n), então sim, podemos ter vendas com apenas 1 mercadoria. Entretanto, por algum motivo, a banca não entendeu assim e, sinceramente, não sei justificar o porquê. Gabarito da banca: Errado Gabarito do professor: Correto
681
24. (CEBRASPE/DPE RO/2022) Quando um relacionamento entre duas entidades passa a ser tratado também como uma entidade, é gerada uma entidade a) associativa. b) por especialização. c) herança. d) por generalização. e) de cardinalidade.
Quando transformamos um relacionamento em entidade, esse objeto recebe o nome de entidade associativa. Gabarito: Letra A
682
26. (CEBRASPE/PETROBRAS/2022) Acerca de gerência de transações, modelagem entidade relacionamento e abordagem relacional, julgue o item subsecutivo. Considere que, para uma instância da entidade A, existe zero, uma ou muitas instâncias da entidade B; mas para uma instância da entidade B, existe zero ou uma instância da entidade A. Nesse caso, trata-se de um relacionamento 1:n da entidade A para entidade B.
Então, no relacionamento A → B, a cardinalidade é (0, n). Acontece que a notação A:B representa a cardinalidade máxima de cada um dos relacionamentos. Temos o relacionamento A → B com cardinalidade (0, n) - sendo a cardinalidade máxima, portanto, n - e o relacionamento B → A, com a cardinalidade (0, 1) - o máximo, aqui, é 1. Assim, como a notação A:B anota a cardinalidade máxima de cada um dos lados, de forma conjunta, teremos um relacionamento 1:n, conforme a questão aponta. Gabarito: Certo
683
27. (CEBRASPE/PETROBRAS/2022) Com referência ao modelo entidade-relacionamento (ER) precedente e à SQL (structured query language), julgue o seguinte item. No modelo ER apresentado, uma PLATAFORMA possui apenas um TIPO e está localizada em apenas um CAMPO.
A cardinalidade apresentada entre PLATAFORMA → CAMPO e PLATAFORMA → TIPO é (1, 1), o que indica que, de fato, só podemos ter um TIPO para cada PLATAFORMA, e cada PLATAFORMA localizada em um único CAMPO. Gabarito: Certo
684
28. (CEBRASPE/PETROBRAS/2022) Com referência ao modelo entidade-relacionamento (ER) precedente e à SQL (structured query language), julgue o seguinte item. Para que o modelo ER atenda aos padrões de modelagem de dados, o atributo CAPACIDADE_PRODUTIVA deve ser representado na entidade TIPO e não na entidade PLATAFORMA, conforme apresentado no diagrama.
Galera, a CAPACIDADE_PRODUTIVA é inerente à plataforma, e não ao tipo de plataforma que ela é. Portanto, devemos manter esse atributo em PLATAFORMA, não em TIPO. Portanto, incorreta a afirmativa. Gabarito: Errado
685
29. (CEBRASPE/PGE RJ/2022) Julgue o item subsecutivo, a respeito da normalização de dados e da SQL (ANSI). A normalização não visa obter um modelo entidade-relacionamento (MER); seu objetivo consiste em, a partir do MER, eliminar redundâncias de dados que possam estar contidas no modelo.
De fato, a normalização não visa obter um MER, e sim eliminar redundâncias. Mas perceba que não conseguimos identificar a redundância já no MER, pois ele é um esquema do nível externo, um modelo conceitual. Precisamos ter dados mais concretos para verificar a redundância e aí sim poderemos partir para a normalização. Gabarito: Errado
686
30. (CEBRASPE/SECONT ES/2022) Julgue o item a seguir, a respeito de modelagem de dados. A restrição de disjunção específica que as subclasses da especialização devem ser conjuntos disjuntos, isto é, uma entidade pode ser membro de, no máximo, uma das subclasses da especialização.
Perfeito, galera! Na disjunção específica, cada uma das subclasses da especialização é exclusiva - isso é, só podemos especializar a entidade em uma delas derivadas, de forma exclusiva. Gabarito: Correto
687
31. (VUNESP/PRES. PRUDENTE/2022) O modelo entidade-relacionamento, utilizado no desenvolvimento de bancos de dados relacionais, possui a propriedade de que a) um conjunto de entidades não pode possuir, simultaneamente, atributos simples e compostos. b) um mesmo modelo entidade-relacionamento não admite dois tipos diferentes de cardinalidade (por exemplo, um para muitos e muitos para muitos). c) um conjunto de relacionamentos sempre envolve dois conjuntos de entidades em sua formação. d) os conjuntos de relacionamentos não podem possuir atributos descritivos próprios. e) os conjuntos de entidades podem representar tanto objetos físicos (como veículos), quanto abstratos (como contas bancárias).
Vamos analisar cada alternativa. a) Errado. Não temos essa restrição no MER. b) Errado. Novamente, não temos essa restrição. Podemos ter várias cardinalidades num mesmo MER - o que não podemos é ter várias cardinalidades para um mesmo relacionamento. c) Errado. Podemos ter uma, duas, três ou mais entidades num relacionamento. d) Errado. Podemos ter relacionamentos com atributos e, quando for relevante, elevar esses relacionamentos ao patamar de entidades associativas, funcionando como uma entidade. e) Certo. As entidades representam, de fato, tanto objetos tangíveis, concretos, quanto objetos abstratos, intangíveis. Gabarito: Letra E
688
33. (FCC/TRT 14/2022) No Modelo Entidade-Relacionamento − MER, considere a hipótese de uma entidade denominada Cidadão que necessita ser modelada sob dois aspectos: Pessoa Física ou Pessoa Jurídica, cada um deles com atributos específicos. Em relação à entidade Cidadão, cada um desses aspectos é a) um auto relacionamento. b) um atributo multivalorado. c) um relacionamento de grau três. d) uma especialização. e) uma entidade associativa.
A questão está nos apontando a seguinte situação: Trata-se, portanto, de uma especialização. Gabarito: Letra D
689
34. (CEBRASPE/ISS ARACAJU/2021) O modelo entidade-relacionamento não permite estabelecer relacionamentos entre relacionamentos, apenas entre entidades. Para atender a situações em que seja necessário associar uma entidade com a ocorrência de um relacionamento, utiliza-se a) dado temporal. b) cardinalidade 1:N. c) atributo multivalorado. d) tabela especializada. e) entidade associativa.
A questão descreve a ocorrência das entidades associativas. Elas podem surgir em dois casos: * Relacionamentos entre entidades do tipo m:n (ou seja, (0,n) de cada um dos lados), o que gera uma necessidade de identificar e dar atributos aos relacionamentos * Relacionamentos que ligam outros relacionamentos No caso da questão, como precisamos criar associações entre relacionamentos, usamos essas entidades associativas. Gabarito: Letra E
690
35. (FCC/DETRAN AP/2022) Considere a entidade Motorista identificada pelo CPF. Dependendo da categoria, essa mesma entidade pode ter atributos distintos, ou seja, um motorista da categoria A pode ter atributos unicamente pertencentes a ele como, por exemplo, a pontuação obtida no exame psicotécnico, enquanto um motorista da categoria B pode não ter esse atributo. Para solucionar essa distinção em um Modelo Entidade-Relacionamento (MER), um analista projetou essa entidade como a) entidade forte com entidades associativas distintas. b) superclasse com subclasses por tipo de categoria. c) entidade múltipla com subclasses por tipo de categoria. d) subclasse com superclasse por tipo de categoria. e) entidade fraca com subclasses por tipo de categoria.
Temos um problema apontado - cada motorista terá atributos diferentes conforme o tipo de CNH que ele possui. Para solucionarmos esse problema, já que não conseguimos alterar isso diretamente na entidade MOTORISTA, podemos tratá-la como uma superclasse, e criar especializações separadas por tipo de categoria, cada uma com suas propriedades. A alternativa que traz essa abordagem é a letra B. Gabarito: Letra B
691
36. (FCC/TRT 5/2022) Considere os seguintes requisitos aplicáveis a um Modelo Entidade × Relacionamento: I. Tribunal se relaciona com Funcionário. II. Os funcionários só podem pertencer a um dado tribunal. III. Um tribunal tem muitos funcionários. IV. Os funcionários podem ter ou não dependentes. V. Um tribunal é reconhecido unicamente por seu código e tem vários dados associados a esse código. VI. Um funcionário é reconhecido unicamente por seu registro funcional e tem vários dados associados a esse registro. Ao observar os requisitos do modelo, um técnico definiu, corretamente, que a) o relacionamento entre tribunal e funcionário é de grau binário, cardinalidade 1:N no sentido tribunal-funcionário e que funcionário se relaciona com uma entidade fraca denominada Dependente. b) o atributo identificador de Tribunal é composto por código concatenado com registro funcional visando a unicidade de chave e que funcionário tem como atributos multivalorados na 3FN a relação de todos os seus dependentes, quando couber. c) o relacionamento entre tribunal e funcionário é de grau unário, cardinalidade N:1 no sentido tribunal-funcionário e que funcionário se relaciona com uma entidade-associativa denominada Dependente. d) o atributo identificador de Tribunal é composto por registro funcional e como chave estrangeira o código, visando a unicidade de registro e que funcionário tem como atributos multivalorados na 3FN a relação de todos os seus dependentes, quando couber, complementados unitariamente com o código do tribunal. e) o relacionamento entre tribunal e funcionário é de grau ternário em razão da existência de uma entidade Dependente relacionada a funcionário, cardinalidade 1:N no sentido tribunalfuncionário e que funcionário se relaciona com uma entidade opcional denominada Dependente.
a) Certo. A afirmativa descreve corretamente o que acontece. b) Errado. O atributo identificador de TRIBUNAL é apenas Código, sem concatenação. c) Errado. O relacionamento liga duas entidades, então é um relacionamento binário. Além disso, a cardinalidade é (1, n) no sentido TRIBUNAL → FUNCIONÁRIO. Por último, DEPENDENTE é uma entidade fraca, não uma entidade associativa. d) Errado. Como vimos na letra B, o atributo identificador de TRIBUNAL é apenas Código. Além disso, não temos como falar de normalização e formais normais num MER. e) Errado. O erro está no grau do relacionamento, que é binário, o restante está correto. Gabarito: Letra A
692
37. (VUNESP/PREF. PIRACICABA/2022) No modelo entidade-relacionamento, as entidades possuem atributos, sendo certo que um atributo de uma entidade que tem seus valores determinados ou calculados a partir de outros atributos contidos no modelo, denomina-se atributo a) múltiplo. b) dominante. c) derivado. d) distribuído. e) restritivo.
Quando um atributo tem seu valor determinado a partir de outro, temos o que chamamos de atributos derivados. O principal tipo de atributo derivado é a idade - pense que, a cada ano, teríamos que atualizar a idade de todos registados no banco de dados. Para resolver esse problema, usamos um atributo derivado, calculado a partir da diferença entre a data atual e a data de nascimento. Gabarito: Letra C
693
38. (CEBRASPE/CODEVASF/2021) Julgue o item a seguir, a respeito de banco de dados. De acordo com o diagrama de entidade- relacionamento a seguir, cada Multa deve ser de um e somente um automóvel, e cada Automóvel pode ter uma ou muitas multas.
Perfeito! A cardinalidade MULTA → AUTOMÓVEL é (1, 1), que indica que cada multa pertence a 1 e somente 1 automóvel. Já a cardinalidade AUTOMÓVEL → MULTA é (1, N), o que indica que um automóvel pode ter 1 ou múltiplas multas. Gabarito: Correto
694
39. (CEBRASPE/TCE RJ/2021) Julgue o item que se segue, a respeito de bancos de dados relacionais. Os relacionamentos entre os elementos de um sistema podem ser expressos por meio de diagramas como o modelo entidade-relacionamento (MER), que permite organizar o sistema de banco de dados em entidades, atributos, relacionamentos e associações.
Perfeito! Lembrem-se do nosso esquema: Só um adendo, a questão cita associações. As associações são criadas pelos relacionamentos, então acaba sendo um pouco redundante aparecer na afirmativa - mas não a torna errada. Gabarito: Correto
695
40. (CEBRASPE/AGENTE PF/2021) No que diz respeito a modelagem conceitual, julgue o item que se seguem. No modelo de entidade-relacionamento, entidade normalmente representa um objeto do mundo real.
Isso mesmo, galera. As entidades representam objetos do mundo real, sejam objetos tangíveis, como pessoas, sejam objetos intangíveis, como contas de banco, órgãos públicos, entre outros. Então, correta a afirmativa. Gabarito: Correto
696
01. (FGV/PGM NITERÓI/2023) Considere o comando SQL a seguir. SELECT a.X, b.Y FROM T1 a, T2 b WHERE a.R = b.S Dado que essa consulta pode ser expressa usando as operações primitivas da Álgebra Relacional, a lista que contém as operações necessárias e suficientes para essa conversão é, em ordem alfabética: a) Diferença, Produto, Projeção; b) Produto, Projeção, União; c) Projeção, União; d) Produto, Projeção, Seleção; e) Seleção, União.
Pode ser que você tenha alguma dificuldade em entender alguns elementos dessa questão, por não termos vistos todas as cláusulas de SQL - mas vamos tentar entender cada trecho da sintaxe e associar as operações SQL e as operações algébricas. A primeira operação algébrica é o SELECT faz uma filtragem de colunas, portanto, representa uma projeção. Em seguida, a próxima operação algébrica está no FROM. Ele, em si, não faz operação nenhuma - mas quando selecionamos, no FROM, duas tabelas distintas, temos um produto cartesiano entre as tabelas. Por fim, o WHERE faz uma filtragem de linhas. Ele faz, portanto, uma seleção. SELECT →PROJEÇÃO FROM A, B → PRODUTO WHERE → SELEÇÃO A afirmativa correta é, portanto, a letra D.
697
02. (VUNESP/TJ RS/2023) Considere a seguinte tabela de um banco de dados relacional: Veículo (RENAVAM, Modelo, Marca, Ano) O comando da álgebra relacional que proporciona a exibição do modelo e ano de veículos, comano maior do que 2018 é: a) πModelo, Ano (σ (Veículo.Ano>2018)) b) πModelo, Ano σ(Veículo) (Ano>2018)) c) πModelo and Ano>2018 (Veículo)) d) πModelo, Ano (σAno > 2018 (Veículo)) e) πModelo, Ano, Ano > 2018 (Veículo))
Queremos: * Exibir o modelo e o ano, ou seja, filtrar colunas → seleção (π) * Exibir linhas específicas (de carros com ano > 2018) → projeção (σ) Portanto, devemos fazer uma seleção das colunas ANO e MODELO, dentro de uma tabela resultante da projeção aplicada na tabela Veículo, onde Ano > 2018. Na notação algébrica: πModelo, Ano (σAno > 2018 (Veículo)) Gabarito: Letra D
698
03. (VUNESP/DPE SP/2023) As duas operações da álgebra relacional denominadas unárias (que operam sobre uma única relação) são denominadas a) união e diferença. b) interseção e divisão. c) junção natural e seleção. d) seleção e projeção. e) união e junção natural.
Operações unárias são aquelas que envolvem somente uma tabela. Temos duas operações desse gênero: a seleção, que retorna linhas, e a projeção, que retorna colunas. Gabarito: Letra D
699
04. (CESGRANRIO/TRANSPETRO/2023) A Álgebra Relacional possui vários operadores binários. Dentre os operadores listados abaixo, o único NÃO binário é a(o) a) divisão b) projeção c) junção natural d) junção externa esquerda e) produto cartesiano
Novamente, lembre que temos duas operações unárias - projeção e seleção. Nesse sentido, a única que não apresenta uma operação binária é a letra B. Gabarito: Letra B
700
05. (VUNESP/PREF. PRES. PRUDENTE/2022) Considere a seguinte tabela de um banco de dados relacional: T (A, B, C, D) A consulta da álgebra relacional para obter a coluna C da tabela T, para valores de C maiores do que 12 é: a) σ(T)C>12 (πC) b) (πC>12(T)) σ(T) c) σ (πC(T C>12)) d) σC>12 (πC(T)) e) σT.C.>12 (πT)
Queremos: * Obter a coluna C da tabela T → projeção (π) * Filtrar linhas com C > 12 → seleção (σ) Nessa questão, a Vunesp optou por primeiro fazer a seleção, e posteriormente a projeção. Não temos impeditivos nisso. A sintaxe ficará, portanto: σC>12 (πC(T)) Gabarito: Letra D
701
06. (CEBRASPE/BANRISUL/2022) No que se refere à álgebra relacional e a SQL, julgue o item a seguir. Em álgebra relacional, a operação que produz uma combinação das linhas de uma relação com as linhas correspondentes de outra relação é conhecida como interseção.
Cuidado, meu aluno! A operação que faz uma combinação entre duas tabelas é o produto cartesiano, nunca esqueça disso. A Cespe adora fazer pegadinha com isso. Gabarito: Errado
702
07. (CEBRASPE/BANRISUL/2022) No que se refere à álgebra relacional e a SQL, julgue o item a seguir. Na álgebra relacional, a operação projeção, representada pela letra grega π (pi), é classificada como uma operação unária, por operar sobre apenas um conjunto de entrada.
Perfeito! A projeção, que é representada pelo Pi (lembrem-se, **P**rojeção - **P**i), filtra linhas em determinada tabela. Gabarito: Certo
703
09. (FGV/TCE TO/2022) Analise o comando SQL a seguir. SELECT T1.A, T1.C FROM T1, T2 WHERE T1.A = T2.A AND NOT EXISTS (SELECT * FROM T3 WHERE T1.B=T3.B) Dado que as operações primitivas da Álgebra Relacional (A.R.) são a Seleção, a Projeção, o Produto, a Diferença e a União, as operações necessárias para construir por meio da A.R. uma expressão equivalente ao comando acima são, apenas: a) Projeção, Produto, Diferença, União; b) Seleção, Produto, Diferença, União; c) Seleção, Projeção, Diferença, União; d) Seleção, Projeção, Produto, Diferença; e) Seleção, Projeção, Produto, União
Vamos, novamente, fazer uma relação entre a sintaxe SQL e as operações de álgebra relacional. Vou “desenhar” para ficar mais fácil. Então, ignorando a subconsulta, que repete as operações, conseguimos construir a sintaxe com a projeção, produto, seleção e diferença. Caso tenha ficado com alguma dúvida por não conhecer as cláusulas, não se preocupe que tudo ficará mais claro na próxima aula. Gabarito: Letra D
704
10. (VUNESP/PREF. PIRACICABA/2022) Considere a seguinte consulta a um banco de dados relacional, expressa em álgebra relacional: A execução dessa consulta tem como resultado a exibição a) do atributo tipo da tabela frutas, para o caso em que os atributos cor, acidez ou tipo tenham o valor igual a ʹmaçãʹ. b) do atributo tipo da tabela frutas, para o caso em que os atributos cor ou acidez tenham o valor igual a ʹmaçãʹ. c) dos atributos cor, acidez e tipo, da tabela frutas, para o valor do atributo tipo igual a ʹmaçãʹ. d) dos atributos cor e acidez da tabela tipo, para o valor do atributo frutas igual a ʹmaçãʹ. e) dos atributos cor e acidez, da tabela frutas, para o valor do atributo tipo igual a ʹmaçãʹ.
Questão interessante, que faz o caminho oposto do que a Vunesp normalmente traz. Precisamos ler a sintaxe da direita para a esquerda, para fazer mais sentido. Estamos fazendo uma seleção na tabela frutas, retornando as linhas onde tipo = maçã e, em cima dessa seleção, fazemos uma projeção, retornando as colunas (atributos) cor e acidez. Nesse sentido, a alternativa que melhor descreve o que acontece é a letra E. Gabarito: Letra E
705
11. (FGV/SEFAZ MT/2023) No contexto da concessão de privilégios/permissões na administração de bancos de dados relacionais, assinale a opção que indica dois dos comandos básicos disponíveis na maior parte dos SGDB. a) ADD e DELETE. b) ALLOW e CONSTAINT. c) ATTACH e DETACH. d) GRANT e REVOKE. e) INSERT e REMOVE.
Os comandos básicos de controle de nível de acesso, abrigados na sublinguagem DCL, são o GRANT e REVOKE. Usualmente, também temos o DENY acompanhando esses comandos. Gabarito: Letra D
706
12. (FGV/DPE RS/2023) Júlia é a administradora do banco de dados da empresa KASA, onde será implantado o novo sistema estratégico da empresa, para fornecimento de relatórios gerenciais em tempo real. No sistema antigo, o perfil GERENTE permitia acesso aos dados operacionais, para que eles fossem tratados em planilhas, mas agora os relatórios serão gerados a partir de visualizações específicas, diretamente na nova ferramenta. Para impedir o acesso aos dados operacionais e permitir o acesso às novas visualizações, Júlia utilizou, respectivamente, os comandos: a) Drop e Create; b) Delete e Insert; c) Rollback e Commit; d) Revoke e Grant; e) Alter e Use.
Novamente, percebe-se o apreço que a FGV tem com esses comandos. Para impedir e permitir o acesso, usamos REVOKE e GRANT, respectivamente. Gabarito: Letra D
707
13. (CEBRASPE/PREF. FORTALEZA/2023) Julgue o item a seguir, a respeito de arquitetura de dados, metadados e linguagens de bancos de dados. Comandos expressos em linguagem de definição de dados (DDL) são utilizados para criar estruturas de um banco de dados, e o seu processamento irá incluir ou alterar metadados desse mesmo banco de dados.
Ótima questão do Cebraspe. O DDL, de fato, faz as alterações na estrutura do banco de dados, mais notoriamente nas tabelas, mas não limitados a elas. Pensando nesse sentido, os metadados são justamente os dados que passam essa definição da estrutura do banco de dados ao SGBD, como, por exemplo, quantas e quais colunas uma tabela tem, qual seu tipo de dado etc. Nesse sentido sim, o DDL realmente inclui ou altera os metadados do banco de dados. Gabarito: Certo
708
14. (CEBRASPE/PREF. FORTALEZA/2023) Julgue o item a seguir, a respeito de arquitetura de dados, metadados e linguagens de bancos de dados. A manipulação de dados armazenados em um banco de dados é feita por meio de DML (Data Manipulation Language), linguagem na qual é possível apenas descrever os dados que se deseja acessar, sem especificar como obtê-los.
O DML realmente é a linguagem de manipulação dos dados - focando completamente nos dados, e não nos outros objetos do banco de dados. Porém, podemos fazer muitas operações além da descrição, além de ser possível especificar métodos de como obtê-los, através das cláusulas. Gabarito: Errado
709
15. (CEBRASPE/PREF. FORTALEZA/2023) No que diz respeito a banco de dados relacional e banco de dados geográfico, julgue o item a seguir. A SQL (structured query language) pode ser subdividida em duas sublinguagens: a linguagem de definição de dados (DDL), que fornece comandos visando definir e modificar esquemas de tabelas, remover tabelas, criar índices e definir restrições de integridade; e a linguagem de manipulação de dados (DML), formada por comandos para consulta, inserção, modificação e remoção de dados no banco de dados.
Eu discordo veemente dessa afirmativa. Em nenhuma bibliografia encontramos que o SQL é definido em duas sublinguagens - as abordagens mais aceitas são em 4 ou 5 divisões. Porém, nesse contexto, a banca considerou a afirmativa correta - então preste atenção, para o Cespe, a divisão em 2 sublinguagens é uma divisão aceita. Nesse caso, teremos a divisão em DDL, com comandos mais ligado aos metadados, e DML, com comandos voltados à manipulação dos dados. Gabarito: Certo
710
16. (CEBRASPE/DATAPREV/2023) Em relação às linguagens de banco de dados SQL, DDL e DML, julgue o item a seguir. Na DDL, que é uma linguagem declarativa, é descrito o que se deseja fazer, em vez de como fazêlo, como comandos para definir tabelas e procedures, tal qual exemplificado a seguir. CREATE TABLE (col1 int, col2 int, col3 int)
Certinho, meu caro aluno. O DDL, ou Data Definition Language, é a sublinguagem responsável por definir as estruturas dos objetos da tabela, lidando diretamente com os metadados. Quanto ao comando, completamente certo - quando virem alguma notação do tipo , o par de símbolos < > indica que um valor genérico, que pode (e deve) ser substituído. Gabarito: Certo
711
17. (CEBRASPE/DATAPREV/2023) Em relação às linguagens de banco de dados SQL, DDL e DML, julgue o item a seguir. A DML é uma linguagem que interage com os objetos do banco de dados, em vez de interagir com os dados.
Pelo contrário! A DML é uma linguagem direcionada a lidar diretamente com os dados, ao contrário de linguagens como o DDL, que lidam com os objetos em si. Gabarito: Errado
712
18. (FCC/TRT 23/2022) Na linguagem SQL são respectivamente comandos DML, DDL e DCL: a) DROP, LOCK TABLE e GRANT b) UPDATE, CALL e ALTER c) CREATE, INSERT e GRANT d) MERGE, TRUNCATE e REVOKE e) RENAME, DELETE e DROP
Vamos encontrar a alternativa que traz comandos DML, DDL e DCL, respectivamente. a) Errado. Os comandos são DDL, DCL e DCL. b) Errado. Os comandos são DML, sem classificação e DDL. O comando CALL é específico para procedimentos armazenados, exclusivo a alguns SGBDs, e foge dessa classificação. c) Errado. Os comandos são DDL, DML e DCL. d) Certo. Temos, respectivamente, um comando DML, DDL e DCL. e) Errado. Os comandos são DDL, DML e DDL. Gabarito: Letra D
713
19. (CEBRASPE/ANP/2022) A respeito dos conceitos de linguagem de definição e manipulação de dados (SQL), julgue o próximo item. Considere que se deseje criar uma tabela que represente o organograma a seguir. Para criar essa tabela, deve-se utilizar a seguinte expressão DDL. CREATE TABLE colaborador ( id integer primary key, nome varchar(50), chefia integer, constraint fk_colaborador foreign key (id) references colaborador );
O organograma apresenta uma hierarquia de objetos. Ao que o comando SQL da a entender, o organograma representa uma árvore de colaboradores em uma entidade, onde alguns colaboradores agem tanto como chefia, quanto como colaborador. Assim, o comando SQL deve criar uma tabela para esses colaboradores. O comando SQL cria apresentado cria uma tabela chamada colaborador, com as colunas id, nome e chefia - portanto, temos colaborador(ID, nome, chefia). Além disso, temos a adição de uma restrição de chave estrangeira, uma constraint que define, basicamente, que o atributo ID deve referenciar a própria tabela colaborador (ou seja, um autorrelacionamento). Dessa forma, a constraint garante que os valores na coluna "id" da tabela "colaborador" sejam válidos, ou seja, que eles correspondam a registros existentes na mesma tabela, mantendo a integridade referencial dos dados. Correta a construção da afirmativa, portanto. Gabarito: Certo
714
20. (CEBRASPE/BANRISUL/2022) No que se refere à álgebra relacional e a SQL, julgue o item a seguir. Na linguagem SQL, os comandos GRANT e REVOKE são exemplos do subconjunto DDL (linguagem de definição de dados), pois definem o acesso aos dados do banco.
Cuidado! GRANT e REVOKE são comandos do subconjunto DCL, e não DDL. Os comandos do DDL envolvem, entre outros, CREATE, ALTER, DROP, TRUNCATE e RENAME. Gabarito: Errado
715
21. (FCC/TRT 14/2022) No contexto da SQL, os comandos classificados, correta e respectivamente, como DCL, DML e DDL, são: a) Revoke, Insert e Alter. b) Grant, Drop e Create. c) Update, Select e Insert. d) Revoke, Create e Alter. e) Drop, Grant e Delete.
Vamos analisar as alternativas, procurando os comandos DCL, DML e DDL, respectivamente. a) Certo. DCL, DML, DDL. b) Errado. DCL, DDL, DDL. c) Errado. DDL, DML (ou DQL) e DML. d) Errado. DCL, DDL, DDL. e) Errado. DDL, DCL, DML. Gabarito: Letra A
716
22. (FCC/TRT 5/2022) Um técnico utilizou os comandos SQL insert, create, delete e drop em um programa que são, correta e respectivamente, comandos a) DDL − DDL − DCL − DDL. b) DML − DCL − DCL − DML. c) DCL − DML − DCL − DCL. d) DDL − DML − DCL − DML. e) DML − DDL − DML − DDL.
Vamos classificar os comandos: * INSERT → DML * CREATE → DDL * DELETE → DML * DROP →DDL Gabarito: Letra E
717
23. (CEBRASPE/AGENTE PF/2021) Com referência a conceitos de banco de dados relacionais, julgue o item subsequente. Na linguagem SQL (structured query language), DTL (data transaction language) são comandos responsáveis por gerenciar diferentes transações ocorridas dentro de um banco de dados.
Primeiro, lembrem-se que o DTL é um nome alternativo para o TCL. Indo em pontos mais técnicos, o DTL é uma sublinguagem do SQL, da qual TCL corresponde a um conjunto de operações - e como na maior parte das questões as operações cobradas são justamente do TCL, acabamos intercambiando esses nomes. Nesse sentido, o DTL realmente são comandos responsáveis por gerenciar transações, como COMMIT e ROLLBACK. Gabarito: Certo
718
24. (CEBRASPE/TJ AM/2019) Julgue o próximo item, relativos a sistema gerenciador de banco de dados (SGBD). Um SGBD trata do acesso ao banco e pode ser executado independentemente pelo Oracle, MySQL ou PostgreSQL; no entanto, cada SGBD utiliza DML (data manipulation language) e DDL (data definition language) específicas.
Apesar de termos um padrão global do SQL (padrão ANSI/ISO), nada impede que cada SGBD tenha seus próprios comandos. Por exemplo, no MySQL e SQL Server, para alterarmos o tipo de dados de uma coluna, usamos o comando ALTER COLUMN nome_coluna novo_tipo, já no Oracle, é usado MODIFY nome_coluna novo_tipo. Gabarito: Certo
719
25. (CEBRASPE/STM/2018 - Adapatada) Com base nos comandos MySQ, julgue o item a seguir. O comando ALTER TABLE software add data datetime; no MySQL 5.6 adiciona um novo campo data à tabela software.
O comando apresentado envolve o ALTER TABLE software, ou seja, estamos alterando a tabela software. Nela, estamos adicionando (ADD) uma coluna chamada data, do tipo datetime. Portanto, correta a afirmativa da banca. Gabarito: Certo
720
01. (FGV/PREF. SJC/2024) Com relação à linguagem SQL e seus operadores, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F). ( ) O operador LIKE é usado em uma cláusula WHERE para procurar um padrão especificado em uma coluna. Existem dois curingas frequentemente usados em conjunto com este operador; o sinal de % representa zero, um ou vários caracteres, já o sinal de - representa um único caractere. ( ) O operador IN permite especificar vários valores em uma cláusula WHERE. Ele é uma abreviação para múltiplas condições OR e AND sequenciais. Ao usar a palavra-chave NOT na frente do operador IN, haverá o retorno todos os registros que não são nenhum dos valores de uma lista. ( ) A palavra-chave RIGHT JOIN retorna todos os registros da tabela à direita em uma junção e os registros correspondentes da tabela à esquerda em uma junção. O resultado é zero registro do lado esquerdo, se não houver correspondência. As afirmativas são, respectivamente, a) F – V – V. b) F – F – V. c) V – V – F. d) V – F – V. e) F – F – F.
Vamos analisar cada uma das alternativas. ( ) O operador LIKE é usado em uma cláusula WHERE para procurar um padrão especificado em uma coluna. Existem dois curingas frequentemente usados em conjunto com este operador; o sinal de % representa zero, um ou vários caracteres, já o sinal de - representa um único caractere. Falso. A alternativa vai muito bem - mas comete um deslize no final. O curinga usado para representar um único elemento é o _ (underline), não o - (hífen). ( ) O operador IN permite especificar vários valores em uma cláusula WHERE. Ele é uma abreviação para múltiplas condições OR e AND sequenciais. Ao usar a palavra-chave NOT na frente do operador IN, haverá o retorno todos os registros que não são nenhum dos valores de uma lista. Falso. O operador IN faz um encadeamento de múltiplas condições OR, não OR e AND. Isso pois basta uma correspondência, no IN, para termos o retorno positivo. ( ) A palavra-chave RIGHT JOIN retorna todos os registros da tabela à direita em uma junção e os registros correspondentes da tabela à esquerda em uma junção. O resultado é zero registro do lado esquerdo, se não houver correspondência. Verdadeiro. Apesar da redação HORRÍVEL da FGV nessa questão, de fato o RIGHT JOIN traz todos os elementos da tabela à direita e suas associações na tabela da esquerda. Se não houver associação, temos uma associação com um conjunto vazio (NULL) - aqui abrindo uma enorme licença poética para considerar “zero registro” e nulo a mesma coisa. Temos, portanto, F-F-V. Gabarito: Letra B
721
02. (CEBRASPE/FINEP/2024) Assinale a opção que apresenta a cláusula SQL que permite extrair dados em determinado intervalo. a) find in b) like c) alias d) between e) ranges
Quando queremos definir um intervalo de dados como limite, usamos a cláusula BETWEEN. Gabarito: Letra D
722
03. (CEBRASPE/SEPLAN RR/2023) A respeito de banco de dados, julgue o próximo item. Em um comando SELECT, a cláusula WHERE define que o resultado da consulta é o produto cartesiano das tabelas envolvidas.
Cuidado! Não se confunda com os nomes, o cláusula WHERE faz uma seleção, isso é, filtra determinadas linhas da nossa consulta. A cláusula que pode fazer um produto cartesiano é a FROM, quando envolver duas tabelas distintas - por exemplo, FROM A, B. Gabarito: Errado
723
04. (CEBRASPE/SEPLAN RR/2023) A respeito de banco de dados, julgue o próximo item. Em SQL, o comando DISTINCT é utilizado para eliminar resultados repetidos em consultas a tabelas do banco de dados.
Perfeito! Se em determinado resultado tivermos linhas repetidas, podemos utilizar o comando DISTINCT, logo após o SELECT - portanto, SELECT DISTINCT FROM X - para filtrar e eliminar os resultados repetidos. Gabarito: Certo
724
05. (CEBRASPE/SEPLAN RR/2023) Considerando os conceitos de tuning de banco de dados, julgue o item a seguir. O comando EXPLAIN permite otimizar tabelas que executam muitas operações de UPDATE e DELETE em detrimento de operações de INSERT.
Galera, o EXPLAIN é um comando bem “único”. Não havia visto sua cobrança até agora - mas seu objetivo é bem simples, ele é um comando mais “administrativo”. Ele realiza a explicação de determinado comando, apontando como o banco de dados está usando as indexações na tabela, quais tabelas estão sendo consultadas, quais atributos, condições, entre outros. Dessa forma, o comando é mais uma explicação da sintaxe, e não uma otimização. Gabarito: Errado
725
06. (CEBRASPE/POLC AL/2023) Com relação aos componentes de um computador, aos barramentos de E/S, à aritmética computacional e à linguagem SQL, julgue o próximo item. Ao ser executado, o comando SQL a seguir mostrará o CPF e o nome de todas as pessoas que cometeram pelo menos um crime do tipo hediondo. select P.CPF, P.NOME from POLITEC.PESSOA P where P;CPF exists (select C.CPF from POLITEC.CRIME C where C.CPF=P.CPF and C.TIPO = ‘HEDIONDO’);
Caro aluno, a primeira coisa que recomendo, ao analisar uma questão de sintaxe que pede quantos retornos terão, é analisar se a construção da sintaxe está correta. No código trazido pela questão, temos um erro gritante. Veja: Dessa forma, portanto, não teremos nenhum retorno na consulta. Gabarito: Errado
726
07. (FCC/COOPERGÁS/2023) O comando SQL que está correto, sem erros de sintaxe, é: a) SELECT Servicos.ServicoID, Clientes.NomeCliente FROM Servicos INNER JOIN Clientes ON Servicos.ClienteID = Clientes.ClienteID; b) SELECT COUNT(DISTINCT Cidade) FROM TABLE Clientes; c) SELECT * FROM Clientes WHERE Cidade IS LIKE 'Recife'; d) UPDATE Clientes TO NomeCliente = 'Maria da Silva' AND City= 'Caruaru' WHERE ClienteID IS 11234; e) DELETE FROM Clientes WHERE NomeCliente=*.*;
A alternativa **correta** (sem erro de sintaxe) é a **letra A**. Vamos analisar rapidamente cada uma: --- ✅ **a) SELECT Servicos.ServicoID, Clientes.NomeCliente FROM Servicos INNER JOIN Clientes ON Servicos.ClienteID = Clientes.ClienteID;** ✔ Sintaxe correta ✔ JOIN correto ✔ Campos e tabelas bem referenciados ➡ **Alternativa válida** --- ❌ **b) SELECT COUNT(DISTINCT Cidade) FROM TABLE Clientes;** Erro: **TABLE** não é usado assim em SQL. O correto seria: `SELECT COUNT(DISTINCT Cidade) FROM Clientes;` --- ❌ **c) SELECT * FROM Clientes WHERE Cidade IS LIKE 'Recife';** Erro: **IS LIKE** não existe. Ou usa `=` ou `LIKE`. Corretos seriam: `WHERE Cidade = 'Recife'` ou `WHERE Cidade LIKE 'Recife'` --- ❌ **d) UPDATE Clientes TO NomeCliente = ...** Erro: após UPDATE não se usa **TO**. Correto: `UPDATE Clientes SET NomeCliente = 'Maria da Silva', City = 'Caruaru' WHERE ClienteID = 11234;` --- ❌ **e) DELETE FROM Clientes WHERE NomeCliente=*.*;** Erro: `*.*` não é válido. Se quisesse qualquer nome, nem precisa WHERE. Para padrões, seria LIKE (%). --- ✅ **Resposta correta: A**
727
08. (FCC/COOPERGÁS/2023) Em uma tabela chamada user de um banco de dados aberto e em condições ideais, para selecionar todos os registros que possuem nomes (campo nome) iniciados com a letra E e terminados com a letra l utiliza-se a instrução SQL SELECT * FROM user a) LIKE = 'E*l'; b) WHERE nome = 'E%l'; c) LIKE nome CONTAINS 'E%l'; d) WHERE nome LIKE 'E*l'; e) WHERE nome LIKE 'E%l';
Quando queremos filtrar algum campo com caracteres específicos, utilizamos a cláusula LIKE. Nesse caso, queremos uma palavra que comece com E e termine com l, com qualquer quantidade de caracteres entre elas - o que exige o uso do operador curinga %. Portanto, nossa sintaxe ficaria SELECT * FROM user WHERE nome LIKE ‘E%l’. Gabarito: Letra E
728
09. (CESGRANRIO/BB/2023) Uma empresa de investimentos financeiros busca identificar novas oportunidades de negócio para pessoas jurídicas, em especial dentre aquelas que têm como característica a adoção de governança ambiental, social e corporativa (conhecida como ESG, uma sigla em inglês). Considere que existe um banco de dados nessa empresa com as seguintes tabelas (todas as chaves primárias são numéricas): Empresa (CNPJ, razaoSocial, endereco) Caracteristica (cod, sigla, nome) Tem (CNPJ, cod) Que comando SELECT do SQL retorna apenas o CNPJ e a razão social das empresas que não têm "ESG" como característica? a) SELECT * FROM Empresa WHERE Caracteristica.Sigla <> 'ESG' b) SELECT E.CNPJ, E.razaoSocial FROM Empresa E JOIN Tem T ON (E.CNPJ = T.CNPJ) WHERE Tem.cod = 'ESG' c) SELECT E.CNPJ, E.razaoSocial FROM Empresa E JOIN Tem T ON (E.CNPJ = T.CNPJ) JOIN Caracteristica C ON (C.cod = T.cod) WHERE C.nome <> 'ESG' d) SELECT E.CNPJ, E.razaoSocial FROM Empresa E WHERE E.CNPJ NOT IN ( SELECT T.CNPJ FROM Tem T JOIN Caracteristica C ON (T.cod = C.cod) WHERE C.sigla = 'ESG' e) SELECT Empresa.* FROM Empresa, Tem WHERE Empresa.CNPJ = Tem.cod AND Tem.cod <> 'ESG'
A alternativa **correta** é a **letra D**. Vamos analisar: --- 🎯 O que a questão pede? Retornar **CNPJ e razão social** das empresas **que NÃO têm a característica 'ESG'**. A estrutura das tabelas é: * **Empresa(CNPJ, razaoSocial, endereco)** * **Caracteristica(cod, sigla, nome)** * **Tem(CNPJ, cod)** → relação N:N entre Empresa e Caracteristica Portanto, para **excluir** empresas que possuam a característica ESG, basta selecionar todas as empresas **cujos CNPJs não aparecem** na relação Tem + Caracteristica para ESG. --- 🔍 Avaliando as alternativas ❌ a) ```sql SELECT * FROM Empresa WHERE Caracteristica.Sigla <> 'ESG' ``` Não funciona: não existe JOIN, e a tabela Caracteristica nem está relacionada. --- ❌ b) ```sql SELECT E.CNPJ, E.razaoSocial FROM Empresa E JOIN Tem T ON (E.CNPJ = T.CNPJ) WHERE Tem.cod = 'ESG' ``` Traz empresas **que têm** ESG — exatamente o contrário do pedido. Além disso, `cod` é numérico, não aceitaria 'ESG'. --- ❌ c) ```sql SELECT E.CNPJ, E.razaoSocial FROM Empresa E JOIN Tem T ON (E.CNPJ = T.CNPJ) JOIN Caracteristica C ON (C.cod = T.cod) WHERE C.nome <> 'ESG' ``` Traz empresas que possuem **alguma característica diferente de ESG**, mas **não garante** excluir empresas que também têm ESG. (Se a empresa tiver ESG + OUTRA característica, ela aparece — errado.) --- ✅ **d) CORRETA** ```sql SELECT E.CNPJ, E.razaoSocial FROM Empresa E WHERE E.CNPJ NOT IN ( SELECT T.CNPJ FROM Tem T JOIN Caracteristica C ON (T.cod = C.cod) WHERE C.sigla = 'ESG' ) ``` ✔ Seleciona empresas cujo CNPJ **não está** na lista de empresas com característica ESG ✔ Usa o campo correto (`sigla = 'ESG'`) ✔ Garante exclusão total das empresas ESG --- ❌ e) ```sql FROM Empresa, Tem WHERE Empresa.CNPJ = Tem.cod ``` Compare CNPJ com `cod` (número da característica) → relação errada. Totalmente inválido. --- ✅ **Resposta correta: D**
729
10. (CESGRANRIO/BB/2023) O banco de dados de uma empresa que comercializa seguros pessoais possui as seguintes tabelas: Pessoa (email, nome, unidadeFederativaNascimento, faixaEtaria) UF (sigla, nome) Faixa (nome, menorIdade, maiorIdade) A coluna "unidadeFederativaNascimento" da tabela Pessoa é uma chave estrangeira que referencia a coluna "sigla" da tabela UF; a coluna "faixaEtaria" da tabela Pessoa é uma chave estrangeira que aponta para a coluna "nome" da tabela Faixa. A tabela Faixa possui os seguintes dados: Considere o seguinte comando: SELECT COUNT(*) FROM Pessoa P, Faixa F WHERE P.faixaEtaria = F.nome AND P.unidadeFederativaNascimento = 'RJ' AND F.maiorIdade <= 19 Esse comando SQL a) apresenta quantas são as pessoas que estão na tabela Pessoa, que são jovens e que nasceram no estado do Rio de Janeiro. b) apresenta o nome e o email de jovens nascidos no Rio de Janeiro. c) agrupa pessoas por faixa etária e mostra quantos são os grupos com pessoas nascidas no Rio de Janeiro. d) realiza uma operação equivalente à união de dois outros comandos SQL. e) agrupa pessoas por UF e mostra quantos são os grupos com jovens.
Vamos analisar a sintaxe: SELECT COUNT(*) FROM Pessoa P, Faixa F Faz uma seleção de contagem (ou seja, irá contar elementos e traduzir para uma coluna) da tabela Pessoa e Faixa, que recebem o alias P e F, respectivamente. WHERE P.faixaEtaria = F.nome AND P.unidadeFederativaNascimento = 'RJ' AND F.maiorIdade <= 19 Define a filtragem de linhas que faremos. Aqui, a coluna da tabela P.faixaEtaria deve ser igual à coluna F.nome, E a coluna p.unidadeFederativaNascimento deve ser igual a RJ E a coluna F.maiorIdade deve ser menor ou igual a 19. Veja que estamos usando o operador E, portanto todas as condições devem ser obedecidas. De forma geral, isso define que F.nome deve ser equivalente ao nome atribuido a F.maiorIdade <= 19 - ou seja, Jovens. Se F.nome for Jovem, ele será considerado na sintaxe e entrará para contagem. Portanto, iremos fazer uma contagem de todos os elementos da tabela Pessoa, que tenham idade menor ou igual a 19, ou seja, são jovens, e nasceram no estado do Rio de Janeiro. A alternativa que melhor explica isso é a letra A. Gabarito: Letra A
730
11. (CESGRANRIO/BB/2023) O banco de dados de uma empresa de investimentos financeiros possui as seguintes tabelas: Empresa (CNPJ, razaoSocial, endereco) UF (sigla, nome) O que o comando SQL "SELECT CNPJ, sigla FROM Empresa, UF" recupera desse banco de dados? a) A sigla da UF das sedes das empresas cadastradas. b) Alguns pares de CNPJ e sigla, onde o nome da UF é igual à razão social da empresa. c) O CNPJ das empresas cadastradas cuja sigla de UF esteja na tabela UF. d) Pares de CNPJ e sigla de todas as empresas cadastradas com as UFs de suas respectivas sedes. e) Todos os pares de CNPJ e sigla possíveis, de todas as empresas e de todas as UFs cadastradas.
Com o comando apresentado, estamos filtrando as colunas CNPJ e sigla (SELECT CPNJ, sigla) do produto cartesiano entre as tabelas Empresa e UF (FROM Empresa, UF). Isso retornará todos os conjuntos possíveis de par CPNJ/sigla, graças ao produto cartesiano realizado na cláusula FROM. Vamos exemplificar. Gabarito: Letra E
731
12. (FGV/PGM NITERÓI/2023) Nas duas questões a seguir, considere a tabela relacional T cuja instância é exibida abaixo. A instalação está configurada para o tratamento de valores NULL como valores desconhecidos (unknown). Considerando a tabela T da figura 1, analise a execução do comando SQL a seguir. SELECT * FROM T t1 LEFT JOIN T t2 ON t1.A = t2.A and t1.B = t2.B and t1.C = t2.C Além da linha de títulos, o número de linhas produzidas pela execução desse comando é: a) 0; b) 4; c) 10; d) 13; e) 16.
A sintaxe apresentada faz um LEFT JOIN de uma tabela com ela mesma - ora chamada de t1, ora chamada de t2. Esse é um caso de uso do alias para “duplicar” uma tabela, chamando-a de nomes diferentes - mas o conteúdo é o mesmo. A condição do JOIN é que o valor de t1.A seja igual a t2.A, o de t1.B seja igual ao de t2.B e t1.C seja igual a t2.C. Por estarmos usando o conectivo AND, devemos obedecer aos três comandos. Perceba bem, na comparação abaixo, que essas três condições só vão acontecer uma única vez para cada linha - quando compararmos uma linha com ela mesma. Portanto, só retornaremos nesse JOIN as comparações diretas das linhas. Gabarito: Letra B
732
14. (CEBRASPE/AGER MT/2023) Assinale a opção em que é apresentada a instrução utilizada para alterar alguma propriedade de campo de uma tabela em um banco de dados. a) INSERT b) UPDATE c) ALTER d) DROP e) TRUNCATE
A instrução usada para alterar a propriedade de um campo de uma tabela é o ALTER. Se quiséssemos alterar o valor desse campo, usaríamos o UPDATE. Gabarito: Letra C
733
15. (CEBRASPE/AGER MT/2023) Em linguagem de manipulação de dados DML, o operador SQL BETWEEN serve para a) delimitar o valor de uma coluna na cláusula WHERE. b) delimitar as colunas a serem apresentadas na cláusula WHERE. c) delimitar os limites de um campo para a cláusula INSERT. d) restringir a quantidade de linhas a serem recuperadas na cláusula UPDATE. e) restringir a quantidade de campos na cláusula DELETE.
O BETWEEN define um intervalo de valores que determinada coluna deve ter, para que a respectiva linha seja selecionada numa consulta. Dessa forma, a alternativa que melhor explica a cláusula, ainda que de forma muito “fraca”, é a letra A. Quanto as demais: b) Para definir as colunas retornadas, usamos o SELECT. c) Para delimitarmos os limites de um INSERT, usamos a cláusula CHECK ao criar uma tabela. d) A restrição da quantidade de linhas é feita pela cláusula LIMIT. e) Podemos usar o LIMIT para delimitar a quantidade de linhas deletadas. Porém, esse é um comando que não é suportado por todos os SGBDs. Gabarito: Letra A
734
18. (FGV/TJ RN/2023) Considere a estrutura e uma instância da tabela relacional FILIACAO exibida a seguir. Com relação à tabela FILIACAO, definida anteriormente, o comando SQL que produz a lista dos nomes das pessoas que são citadas na instância da referida tabela, sem repetições, é: a) select Pessoa FROM FILIACAO UNION ALL select Genitor FROM FILIACAO b) select Pessoa FROM FILIACAO UNION select Genitor FROM FILIACAO c) select distinct Pessoa, Genitor FROM FILIACAO d) select distinct Pessoa UNION distinct Genitor FROM FILIACAO e) select Pessoa FROM FILIACAO and select Genitor FROM FILIACAO
Podemos listar todas as pessoas da tabela em uma única tabela se fizermos uma união entre duas consultas - cada consulta retornando uma das colunas. Então teremos a consulta A SELECT Pessoa FROM FILIACAO, e a consulta B, SELECT Genitor FROM FILIACAO. Se dermos um UNION, podemos juntar as duas consultas numa única tabela e, automaticamente, pelas propriedades do comando, remover as duplicadas. Nesse sentido, a alternativa que traz a resposta correta é a letra B. Gabarito: Letra B
735
19. (FGV/TJ RN/2023) Luiz é o DBA do TJRN e atendeu um chamado da equipe de desenvolvimento que pedia para criar um banco de dados com 5 Gigabytes, mas, na hora de criar, Luiz digitou 50 Gigabytes. Para apagar o banco de dados criado equivocadamente, Luiz deve utilizar o comando: a) DROP; b) ALTER; c) DELETE; d) UPDATE; e) INJECTION.
Queremos apagar o banco de dados completamente. Para isso, podemos usar o comando DROP, que é direcionado a remover objetos inteiras do banco de dados. Gabarito: Letra A
736
20. (FGV/BBTS/2023) Considere uma tabela T, com uma única coluna A, definida como uma chave primária, e o comando SQL a seguir. delete from T where not exists (select * from T tt where T.A > tt.A) Dado que a tabela tem 100 linhas preenchidas, assinale a opção que indica o número de linhas que será deletado pela execução do referido comando. a) 0. b) 1. c) 50. d) 99. e) 100.
✔ Entendendo o comando ```sql DELETE FROM T WHERE NOT EXISTS (SELECT * FROM T tt WHERE T.A > tt.A) ``` A condição é: **"Apague as linhas para as quais NÃO existe nenhuma outra linha com valor menor."** Ou seja: 👉 **NOT EXISTS (T.A > tt.A)** significa que **não existe nenhum tt.A menor que T.A**. Quando isso é verdadeiro? 📌 **Quando T.A é o MENOR valor da coluna.** Porque a chave primária tem **100 valores distintos**. --- ✔ Quais linhas satisfazem isso? Apenas **uma linha**, aquela com o **menor valor de A**. Exemplo ilustrativo: Se A tem os valores: 1, 2, 3, ..., 100 * Para A=1 → **não existe** nenhum valor menor → DELETE * Para A=2 → existe o valor 1 → **NÃO** atende → fica * Para A=3 → existe 1 e 2 → **NÃO** atende ... * Para A=100 → existe 1–99 → **NÃO** atende Portanto: 👉 **Só a menor linha é deletada.** --- ✅ Resposta correta: **b) 1**
737
21. (FGV/DPE RS/2023) Na questão a seguir, considere a tabela R1, cuja instância é exibida a seguir. Com referência à tabela R1, como descrita anteriormente, analise o comando SQL a seguir. delete from R1 where (select count(*) from R1 x where R1.B = x.B) > 0 Após a execução desse comando, o conjunto completo de linhas presentes na instância da tabela R1 é: a) 10 NULL 31 b) 10 20 31 12 9 31 c) 11 20 NULL 14 8 NULL d) 10 20 31 11 20 NULL 12 9 31 14 8 NULL e) 10 NULL 32
Temos uma subconsulta dentro do WHERE, então precisamos trabalhá-la primeiro. select count(*) from R1 x where R1.B = x.B Estamos fazendo uma contagem (count) de quantas vezes cada elemento da coluna B aparece na tabela. Se essa contagem for maior que 0, o elemento será incluído na sintaxe e deletado. O que acontece é que todos os elementos da coluna B acontecem ao menos uma vez e, portanto, deletaríamos todos eles. Porém, um desses valores é nulo. Ao fazer a comparação NULL = NULL, teremos false como retorno e a contagem de ocorrências desse valor na tabela continuará zero. Sendo assim, a linha com NULL não será deletada, sendo a única restante na tabela. Gabarito: Letra E
738
22. (FGV/DPE RS/2023) Analise o esquema relacional a seguir. create table X1( A1 int not null primary key, B1 int) create table X2( A2 int not null primary key, B2 int) create table X3( A1 int not null unique, A2 int, B3 int, foreign key(A1) references X1(A1), foreign key(A2) references X2(A2) ) Sobre esse esquema, analise as afirmativas a seguir. I. Cada elemento de X1 pode estar relacionado, via X3, a zero, um ou mais elementos de X2. II. Cada elemento de X1 pode estar relacionado a zero, um ou mais elementos de X3. III. Cada elemento de X2 pode estar relacionado a zero ou apenas um elemento de X3. Está correto somente o que se afirma em: a) I; b) II; c) III; d) I e II; e) II e III.
Nenhuma das afirmativas está correta. Explicação: * Em **X3**, o atributo **A1** é `NOT NULL UNIQUE` e faz `FOREIGN KEY` para `X1(A1)`. Isso impõe que, para cada valor de `A1` em `X1`, **pode existir no máximo uma** linha em `X3` com esse mesmo `A1` (ou seja: 0 ou 1 linha). Portanto não é possível que um elemento de `X1` se relacione com *mais de um* elemento de `X3`. Isso torna a **afirmativa II falsa** (ela diz “zero, um ou mais elementos de X3” — a parte “mais” não é possível). * Como cada linha de `X3` possui apenas um campo `A2` (que referencia `X2`) e **A1 em X3 é única**, um elemento de `X1` pode relacionar-se via `X3` com **no máximo um** elemento de `X2` (0 ou 1), logo a **afirmativa I é falsa** (ela afirma “zero, um ou mais elementos de X2”). * O atributo **A2** em `X3` **não** tem restrição de unicidade, então vários registros diferentes de `X3` (com A1 distintos) podem referenciar o mesmo `A2` em `X2`. Assim um elemento de `X2` pode estar relacionado a **zero ou muitos** elementos de `X3`, e **não** apenas a zero ou um — portanto a **afirmativa III também é falsa**. Resumo: * I: falsa (X1 → X3 é 0..1, logo X1 não pode ligar-se a “um ou mais” X2 via X3) * II: falsa (X1 → X3 é 0..1, não “um ou mais”) * III: falsa (X2 → X3 é 0..N, não “0 ou 1”) Portanto **nenhuma** das afirmativas é correta. Gabarito do professor: Anulada Gabarito da banca: Letra A
739
23. (FGV/DPE RS/2023) Tanto no SQL Server como no MySQL, a aplicação do comando drop table T destina-se a: a) remover T; b) remover todos os índices de T; c) colocar T no estado read only; d) recuperar T a partir de arquivos de backup; e) desconectar T do banco de dados atual, e transformá-la numa tabela temporária.
Finalmente uma questão simples rs o comando drop table T irá remover a tabela T do banco de dados, removendo sua estrutura e os dados nela contidos. Gabarito: Letra A
740
24. (FGV/TRT 16/2022) No contexto de expressões SQL em bancos de dados, assinale a construção correta para a cláusula case.
A única alternativa **correta** em sintaxe SQL é a **letra A**. --- ✔ Por que a letra **A** está correta? Ela usa corretamente a forma **CASE simples**: ```sql CASE genero WHEN 'M' THEN 'Masculino' ELSE 'Feminino' END AS genero_por_extenso ``` Essa é exatamente a sintaxe válida do CASE simples no SQL padrão. --- ❌ Por que as outras estão erradas? **b)** Usa palavras inexistentes em SQL: * `equal to` * `otherwise` Ambas estão erradas. --- **c)** A ordem dos elementos está incorreta: * Faltou o `CASE` no início. * Começa diretamente com `WHEN`, o que gera erro de sintaxe. --- **d)** Totalmente fora da sintaxe válida: * “for genero case” não existe. * Estrutura invertida e quebrada. --- **e)** Sintaxe próxima da correta, mas errada: Usa: ```sql case genero when 'M' 'Masculino' ``` Faltou **THEN**. Deveria ser: ```sql CASE genero WHEN 'M' THEN 'Masculino' ``` Como está, é inválida. --- ✅ **Resposta correta: A**
741
25. (FGV/ISS RJ/2023) Considere a existência de uma tabela relacional N, com apenas uma coluna, intitulada numero, contendo os números inteiros de 1 até 100, um em cada linha, como ilustrada a seguir. Como pode haver discrepâncias entre implementações da linguagem SQL, é dado que a função sqrt(x) retorna a raiz quadrada de x e que a expressão a % b retorna o resto da divisão inteira de a por b. Analise o comando SQL a seguir, que faz referência à tabela N descrita anteriormente. select n1.numero * n2.numero from N n1, N n2 where n1.numero <> n2.numero O número de linhas do resultado produzido pela execução desse comando, sem contar a linha de títulos, é: a) 9.000 b) 9.110 c) 9.900 d) 9.991 e) 10.000
A chave da questão é entender que temos um produto cartesiano entre N e ela mesma. O resultado, de forma resumida, segue abaixo: Ao todo, o produto cartesiano retornará 100 * 100 = 10.000 linhas. Porém, o retorno tem uma condição explícita no WHERE - n1.numero <> n2.numero. Então só retornaremos os valores quando a coluna n1 e n2 forem diferentes. Elas só serão iguais uma vez para cada número, quando for (1, 1), (2, 2), (50,50), (98,98), e assim por diante - resultando em 100 ocorrências de números iguais. Dessa forma, o retorno da sintaxe nos dá 10.000 - 100 = 9.900 linhas. Gabarito: Letra C
742
26. (FGV/DPE RS/2023) Na questão a seguir, considere a tabela R1, cuja instância é exibida a seguir. Com referência à tabela R1 descrita anteriormente, analise o comando SQL a seguir. select * from R1 x, R1 y where x.A > y.A and x.B = y.B O número de linhas produzidas pela execução desse comando, sem contar a linha de títulos, é: a) 0; b) 1; c) 2; d) 3; e) 4.
Vamos analisar. Tabela R1 Consulta ```sql select * from R1 x, R1 y where x.A > y.A and x.B = y.B; ``` Observações importantes * Comparações com **NULL** nunca retornam TRUE → linhas com B = NULL nunca participam. * Só há pares possíveis onde **x.B = y.B** e o valor não é NULL. * Valores iguais de **B**: * B = 20 → linhas 1 e 3 * B = 9 → só a linha 4 * B = 8 → só a linha 5 Logo, **só há pares possíveis entre linhas 1 e 3**. Verificando pares (x,y) 1. **x = linha 1 (A=10), y = linha 3 (A=11):** 10 > 11? **Não** → não entra. 2. **x = linha 3 (A=11), y = linha 1 (A=10):** 11 > 10? **Sim** → entra. Total de linhas resultantes: **1** --- ✔️ Resposta correta: **b) 1**
743
27. (FGV/RFB/2023) Num banco de dados relacional, considere a tabela Vencedores, cuja instância é exibida a seguir, com duas colunas, Tenista e Torneio, que representam alguns torneios que já foram vencidos por alguns tenistas. Maria precisa escrever um comando SQL que liste os tenistas que venceram todos os torneios mencionados na coluna Torneio. O comando deve valer para qualquer instância válida da tabela, que pode conter diferentes tenistas e diferentes torneios. Assinale o comando que Maria deve usar. a) select distinct Tenista from Vencedores v1 where v1.Torneio in (select Torneio from Vencedores) b) select distinct Tenista from Vencedores v1 where exists( select * from Vencedores v2 where v1.Torneio = v1.Torneio and v1.Tenista = v2.Tenista and v1 <> v2)) c) select distinct Tenista from Vencedores v1 where exists ( select * from Vencedores v2 where v1.Torneio = v1.Torneio and v1.Tenista <> v2.Tenista ) d) select distinct Tenista from Vencedores v1 where for all ( select * from Vencedores v2 where exists ( select * from Vencedores v3 where v1.Tenista = v2.Tenista)) e) select distinct Tenista from Vencedores v1 where not exists( select * from Vencedores v2 where not exists ( select * from Vencedores v3 where v2.Torneio = v3.Torneio and v1.Tenista = v3.Tenista))
A pergunta pede um comando SQL que liste **os tenistas que venceram *todos* os torneios existentes** na tabela. 👉 Esse é um clássico caso de **divisão relacional**, resolvido com a construção: **Tenista X é selecionado se NÃO EXISTE um torneio T para o qual X NÃO venceu T.** Ou seja: **NOT EXISTS ( torneio que ele não ganhou )** A única alternativa que implementa isso corretamente é a **letra (e)**. --- ✔️ Alternativa correta: **e)** Ela equivale à lógica: ```sql select distinct Tenista from Vencedores v1 where not exists ( select * from Vencedores v2 where not exists ( select * from Vencedores v3 where v2.Torneio = v3.Torneio and v1.Tenista = v3.Tenista ) ); ``` Interpretação simplificada: * Para cada tenista **v1**, * Não pode existir um torneio **v2** tal que * Não exista uma linha **v3** dizendo que esse mesmo tenista venceu esse torneio. Isso seleciona **apenas os tenistas que ganharam 100% dos torneios listados**, independentemente da instância. Gabarito: Letra E
744
28. (FGV/SEFAZ MT/2023) No contexto das linguagens de manipulação de dados de SGBD relacionais, analise a instância da tabela T e o comando SQL a seguir. insert into T select t1.pessoa, t2.ancestral from T t1, T t2 where t1.ancestral = t2.pessoa and not exists (select * from T tt where tt.pessoa = t1.pessoa and tt.ancestral = t2.ancestral) Dado que o comando SQL acima foi executado por três vezes consecutivas, assinale o número de linhas inseridas na tabela T em cada execução, na ordem. a) 0, 0, 0. b) 3, 5, 0. c) 5, 2, 1. d) 5, 3, 0. e) 8, 0, 0.
A regra do `INSERT` é: > **Inserir (pessoa, ancestral_do_ancestral)** > sempre que *pessoa → ancestral* e *ancestral → ancestral2*, > **e ainda não existir (pessoa, ancestral2)**. Ou seja: **estamos adicionando ancestrais de nível 2, nível 3, etc. (fecho transitivo).** --- ▶️ **1ª execução** Vamos achar t1 → t2: Cadeias existentes: * Bruna → Joana → João → Maria → Gabriel * Joana → João → Maria → Gabriel * João → Maria → Gabriel * Maria → Gabriel * Paulo → Gabriel (não avança) Pares inseridos agora (nível 2): 1. **Bruna → João** 2. **Joana → Maria** 3. **João → Gabriel** Nenhum deles existia antes → **3 inserções**. --- ▶️ **2ª execução** Agora existem mais caminhos porque temos novas linhas. Geramos ancestrais de nível 3 e nível 4. Novos pares descobertos: 1. Bruna → Maria 2. Joana → Gabriel 3. Bruna → Gabriel 🔥 **Importante:** Embora existam **3 pares distintos**, o `SELECT` (t1,t2) pode gerar **repetições** devido às combinações da tabela. De fato, o resultado do `SELECT` produz **5 linhas**, sendo algumas duplicadas: * Bruna → Maria * Bruna → Maria (repetido) * Bruna → Gabriel * Joana → Gabriel * Bruna → Gabriel (repetido) O filtro `NOT EXISTS` só elimina pares já existentes, **não elimina duplicatas do próprio SELECT**. ➡️ Portanto, o INSERT insere **5 linhas**, mesmo que só 3 sejam únicas. --- ▶️ **3ª execução** Agora *todos* os pares possíveis pessoa → ancestral_n já existem. Nenhum novo par aparece no SELECT. ➡️ **0 inserções**. --- ✅ Resultado final **3, 5, 0** ✔️ **Alternativa (b)**.
745
29. (FGV/TCU/2022) Com relação às tabelas cliente e visita, descritas abaixo, o comando SQL que deleta corretamente os clientes que nunca visitaram o site é: Com relação às tabelas cliente e visita, descritas anteriormente, o comando SQL que deleta corretamente os clientes que nunca visitaram o site é: a) delete from cliente where not exists (select * from visita v where v.codigo in cliente.codigo) b) delete from cliente where not exists (select * from visita v where v.codigo <> cliente.codigo) c) delete from cliente where codigo in (select codigo from visita) d) delete from cliente where codigo <> ALL (select codigo from visita) e) delete from cliente where (select count(*) from visita v where v.codigo <> cliente.codigo) > 0
Para **deletar apenas os clientes que nunca fizeram visita**, precisamos remover os códigos da tabela **cliente** que **não aparecem** na tabela **visita**. Vamos analisar cada alternativa: --- ✅ **Alternativa correta: letra D** ```sql delete from cliente where codigo <> ALL (select codigo from visita) ``` **Por quê?** `codigo <> ALL (subquery)` significa: > o código do cliente é diferente de **todos** os códigos retornados pela subquery. Ou seja, o cliente **não aparece em nenhuma das visitas** → exatamente o que queremos. **Cliente 316**, por exemplo, não aparece na tabela de visitas, então será deletado corretamente. --- ❌ Análise das demais alternativas **a)** ```sql where not exists (select * from visita v where v.codigo in cliente.codigo) ``` `IN cliente.codigo` está incorreto → sintaxe inválida e lógica errada. --- **b)** ```sql where not exists (select * from visita v where v.codigo <> cliente.codigo) ``` `v.codigo <> cliente.codigo` é verdadeiro para *quase todas* as linhas, então a subquery sempre retorna algo → **deletaria nada**. --- **c)** ```sql where codigo in (select codigo from visita) ``` Deletaria **os clientes que visitaram**, o oposto do pedido. --- **e)** ```sql where (select count(*) from visita v where v.codigo <> cliente.codigo) > 0 ``` Como sempre existe alguma visita de outro cliente, a contagem é sempre > 0 → **deletaria todos os clientes**, exceto se houvesse apenas um. --- ✅ **Resposta final: letra D**
746
30. (FGV/SEMSA MANAUS/2022) Para a próxima questão, considere um banco de dados relacional que contém três tabelas, a saber. frequencia (cliente, bar) preferencia (cliente, cerveja) oferta (bar, cerveja) * A relação frequencia registra o(s) bar(es) que cada cliente frequenta, e tem dois atributos: nome do cliente e nome do bar; * A relação preferencia armazena a(s) cerveja(s) preferida(s) por cada cliente e tem dois atributos: nome do cliente e nome da cerveja; * A relação oferta relaciona a(s) cerveja(s) que cada bar serve, também com dois atributos: nome do bar e nome da cerveja. É dado que todo cliente frequenta pelos menos um bar, que nem todos os clientes têm preferências, que todo bar oferece pelo menos uma cerveja e que toda cerveja é oferecida pelo menos por um bar. Com relação ao banco de dados especificado anteriormente, considere que houve um erro de carga, de forma que há bares presentes na tabela frequencia que não aparecem na tabela oferta (que deveria conter todos os bares). Assinale o comando SQL que deletaria da tabela frequencia as linhas referentes a esses bares. a) delete from frequencia where oferta.bar <> frequencia.bar b) delete from frequencia from oferta where oferta.bar <> frequencia.bar c) delete from frequencia where bar in (select bar from oferta) d) delete from frequencia where not exists (select * from oferta f where f.bar = frequencia.bar) e) delete from frequencia where bar = (select bar from oferta where bar is null)
Para resolver a questão, precisamos **deletar da tabela `frequencia` todos os bares que não aparecem na tabela `oferta`**. Ou seja: remover as linhas em que **frequencia.bar** *não existe* em **oferta.bar**. Vamos analisar as alternativas. --- ✅ **Alternativa correta: (d)** ```sql delete from frequencia where not exists (select * from oferta f where f.bar = frequencia.bar); ``` **Por quê?** * O `NOT EXISTS` verifica se **não há** nenhum bar igual na tabela `oferta`. * Se não existir, então é um bar que foi carregado erroneamente → **deletar**. É exatamente a lógica pedida. --- ❌ Análise das alternativas incorretas **a)** ```sql delete from frequencia where oferta.bar <> frequencia.bar ``` * Incorreta, pois: * não há `JOIN`; * gera erro de referência; * mesmo se houvesse join, condição `<>` não representa ausência em `oferta`. --- **b)** (além de confusa e mal formatada) ```sql delete from frequencia from oferta where oferta.bar <> frequencia.bar ``` * Sem sentido lógico → excluiria linhas sempre que oferta.bar fosse diferente (quase sempre), deletando quase tudo. --- **c)** ```sql delete from frequencia where bar in (select bar from oferta) ``` * **Deleta os bares que existem na oferta**, o oposto do que queremos. --- **e)** ```sql delete from frequencia where bar = (select bar from oferta where bar is null) ``` * Nunca vai achar bar `null`, já que é dito no enunciado que *todo bar oferece pelo menos uma cerveja*. * Portanto, não deleta nada. --- 🎯 **Resposta final: letra (d)**
747
01. (CEBRASPE/TCE AC/2024) Acerca dos níveis de isolamento do Oracle 21C, julgue o item que se segue. O nível de isolamento REPEATABLE READ é suscetível ao problema de “fantasmas”, que ocorre quando novas linhas inseridas por outras transações podem não ser visíveis para a transação atual.
A própria Oracle traz uma tabela interessante correlacionando os níveis de isolamento com os problemas que eles resolvem. Quanto aos problemas: * Dirty Read: Leitura de dados não confirmados (COMMIT), permitindo visualizar alterações de uma transação que pode ser desfeita. * Nonrepeatable Read: Uma mesma consulta retorna resultados diferentes dentro da mesma transação, pois outra transação modificou os dados entre as leituras. * Phantom Read: Uma transação percebe novas linhas inseridas ou deletadas por outra transação ao repetir a mesma consulta. Então, de fato, o REPEATABLE READ (embora não seja aceito pelo Oracle), é um formato que é suscetível às Phantom Reads. Para removê-las, precisamos partir para o nível Serializable, que é aceito pelo Oracle. Gabarito: Certo
748
03. (QUADRIX/CRN 8/2024) No SGBD Oracle, o comando alter table nutricionista add constraint nutricionista_fk foreign key (area_id) references area (area_id); tem como objetivo a) inserir um novo campo na tabela nutricionista, o campo area_id. b) adicionar uma chave primária na tabela area. c) adicionar uma chave estrangeira na tabela area. d) adicionar uma chave estrangeira na tabela nutricionista. e) adicionar uma chave primária na tabela nutricionista.
Sintaxe tranquila, adicionando uma constraint de chave estrangeira (foreign key) no atributo area_id, na tabela nutricionista. Ele referencia area_id na tabela area. Gabarito: Letra D
749
04. (FGV/TJ AP/2024) João, administrador de Banco de Dados Oracle, deverá criar índices para melhorar o desempenho de consultas complexas sobre processos judiciais. Para isso, deverá escolher a estrutura que facilita a busca rápida de informações em operações de junção e intervalo, como: SELECT parte.nome, movimento.descricao, movimento.data FROM parte JOIN movimento ON parte.processoID = movimento.processoID WHERE parte.processoID BETWEEN 10 AND 20; Para tanto, João criou um índice específico na coluna “processoID” da tabela “movimento”: CREATE INDEX idx_movimento_processoID ON movimento(processoID); Após a execução do script apresentado, o tipo de índice criado por João é: a) bitmap; b) hashing; c) espacial; d) árvore B; e) sequencial.
O comando criado por João foi: ```sql CREATE INDEX idx_movimento_processoID ON movimento(processoID); ``` Esse é o comando **padrão** de criação de índice no Oracle. Quando nenhum tipo de índice é declarado explicitamente, o Oracle cria **um índice B-tree**. --- ✅ **Resposta correta: d) árvore B** **Justificativa:** * **Índices B-tree (árvore B)** são o tipo padrão no Oracle. * Eles são ideais para: * buscas por igualdade, * operações de intervalo (`BETWEEN`, `>`, `<`), * junções baseadas em chave (como no `JOIN` do enunciado). Aplicam-se exatamente ao caso da consulta: ```sql WHERE parte.processoID BETWEEN 10 AND 20; ``` --- Por que as demais alternativas estão erradas? * **a) bitmap** → só é criado com `CREATE BITMAP INDEX`. Usado em colunas de baixa cardinalidade. * **b) hashing** → não é um tipo de índice nativo para consultas, mas para clusters hash. * **c) espacial** → exige sintaxe específica (`INDEXTYPE IS MDSYS.SPATIAL_INDEX`). * **e) sequencial** → não existe como tipo de índice. --- ✔️ Resposta final: **d) árvore B**
750
05. (FGV/TJ AP/2024) João, administrador de banco de dados, deverá configurar a inicialização de uma instância do Banco de Dados Oracle. Para isso, deverá considerar que somente poderá executar o “shutdown” da instância após o “rollback” das transações não submetidas a “commit”. Para tanto, como João não precisa aguardar a conclusão de todas as transações, ele deverá executar o modo de “shutdown”: a) abort; b) mount; c) nomount; d) immediate; e) transactional.
A questão quer um shutdown que realize rollback automático das transações que não estão submetidas a nenhum COMMIT no momento, não exija aguardar a finalização manual das transações e permita o encerramento imediato da instância. Vamos ver que alternativa se alinha. a) Errado. O ABORT desliga o banco imediatamente, sem rollback das transações ativas. b) Errado. Não é um tipo de shutdown. c) Errado. Não é um tipo de shutdown. d) Certo. O IMMEDIATE desconecta todos os usuários imediatamente, e realiza o rollback automático das transações sem COMMIT, se alinhando ao requisitado pela questão. e) Errado. O TRANSACTIONAL não força o rollback imediato, permitindo que todas as transações terminem – o que elimina a necessidade do rollback. Portanto, correta a letra D. Gabarito: Letra D
751
06. (VUNESP/Pref. Santo André/2024) Considerando o Sistema Gerenciador de Bancos de Dados Oracle 12c, o comando para criar um Tablespace denominado abc, com o Datafile abc01.dbf, com um tamanho inicial de 200 KB, sendo extensível em parcelas de 100 KB, com um máximo de 50 MB é: (A) CREATE TABLESPACE abc DATAFILE abc01.dbf 200K STEP 100K UNTIL 50M; (B) CREATE TABLESPACE abc DATAFILE abc01.dbf BEGIN 200K PLUS 100K MAX 50M; (C) CREATE TABLESPACE abc DATAFILE abc01.dbf START FROM 200K EXTEND 100K UNTIL MAX 50M; (D) CREATE TABLESPACE abc DATAFILE abc01.dbf SIZE 200K REUSE AUTOEXTEND ON NEXT 100K MAXSIZE 50M; (E) CREATE TABLESPACE abc DATAFILE abc01.dbf FROM 200K + 100K MAXSIZE 50M
A criação é padrão para todas as alternativas, o que difere é a forma de criar o autoextend: * Ligar o autoextend → AUTOEXTEND ON. * Definir o tamanho de extensão em 100K → NEXT 100K * Definir o tamanho máximo como 50MB → MAXSIZE 50MB A alternativa que traz essas 3 definições é a letra D. Gabarito: Letra D
752
07. (FGV/TJ MS/2024) João pretende enriquecer a documentação do banco de dados registrando o propósito das tabelas e as descrições de suas colunas. Isso é crucial para facilitar a compreensão e a manutenção do seu esquema. Para tanto, o comando em Oracle que ele deverá usar para alcançar seu objetivo, em relação à tabela “Processo”, é: a) DESCRIBE Processo IS ‘Esta tabela armazena informações sobre processos judiciais.’; b) SHOW TABLE Processo IS ‘Esta tabela armazena informações sobre processos judiciais.’; c) ALTER TABLE Processo (‘Esta tabela armazena informações sobre processos judiciais.’); d) COMMENT ON TABLE Processo IS ‘Esta tabela armazena informações sobre processos judiciais.’; e) INSERT INTO Processo VALUES (‘Propósito’, ‘Esta tabela armazena informações sobre processos judiciais.’);
O comando correto no Oracle para adicionar descrições a tabelas e colunas é COMMENT ON TABLE ou COMMENT ON COLUMN. O comentário fica armazenado na view DBA_TAB_COMMENTS para tabelas e em DBA_COL_COMMENTS para colunas. Gabarito: Letra D
753
08. (FGV/Pref. Caraguatatuba/2024) Um aspecto importante do ajuste de desempenho do sistema de banco de dados é o ajuste do SQL. O mecanismo do SQL Tuning Advisor, da ORACLE, que é usado para resolver problemas relacionados a instruções SQL com desempenho abaixo do ideal, funciona da seguinte forma: a) o processamento demanda privilégios administrativos do Oracle Database e ocorre empregando uma ou mais instruções SQL ou um STS (SQL Tuning Set) como entrada e chama o Otimizador de Ajuste Automático para analisar as instruções. b) em bancos de dados gerenciados o hub de desempenho é compatível com todas as versões do Oracle Database e as recomendações de ajuste incluem coleta de estatísticas de objetos e criação de índices. c) as recomendações de ajuste incluem reescrita de instruções SQL e criação de perfis SQL e elaboração de um conjunto de ajustes SQL, que representa um objeto de banco de dados que serve como um mecanismo para coletar, manter e acessar dados de carga de trabalho SQL para monitoramento e ajuste do desempenho de SQL. d) as recomendações de ajuste incluem criação de linhas de base do plano SQL e seu processamento demanda privilégios de acesso exclusivo por common roles do Oracle Database. e) a saída do processamento é feita na forma de predições e análises lógicas de decisão, juntamente com uma justificativa para cada análise e seu benefício esperado.
A alternativa **correta é a letra A**. Veja por quê: --- ✅ **Resposta correta: a)** **Porque descreve exatamente como funciona o SQL Tuning Advisor do Oracle:** * Requer **privilégios administrativos** (normalmente `ADVISOR` ou superiores). * Recebe como entrada uma ou mais instruções SQL **ou um SQL Tuning Set (STS)**. * Chama o **Automatic Tuning Optimizer (Auto Tuning Optimizer)** para analisar o SQL e produzir recomendações. Isso corresponde exatamente à descrição oficial da Oracle. --- ❌ Análise das alternativas incorretas **b)** * Fala em “hub de desempenho” e “todas as versões do Oracle” → incorreto. * Mistura SQL Tuning Advisor com Performance Hub. --- **c)** * Traz informações verdadeiras sobre perfis SQL e reescrita de SQL, **mas mistura com SQL tuning set como se fosse recomendação**, o que está errado. * Um STS é *entrada*, não *resultado*. --- **d)** * SQL Plan Baselines fazem parte do **SQL Plan Management**, não do SQL Tuning Advisor. * Fala também em “common roles” e “acesso exclusivo” → não corresponde à ferramenta. --- **e)** * O SQL Tuning Advisor não retorna “predições e análises lógicas”. * Ele retorna **recomendações técnicas**: criar índice, aceitar SQL Profile, coletar estatísticas, reescrever SQL etc. Gabarito: Letra A
754
12. (CEBRASPE/DPE RO/2022) O utilitário Explain Plan a) é criado pegando-se uma string de qualquer comprimento e codificando-a em uma impressão digital de 128 bits. b) serve para criar uma expressão da álgebra relacional. c) relata a maneira como uma consulta usa os índices do banco de dados. d) deve executar o SQL para determinar o tamanho do resultado. e) cria os índices necessários para executar uma consulta.
O EXPLAIN PLAN é utilizado para analisar como o Oracle executará uma consulta SQL, mostrando a estratégia de acesso escolhida pelo otimizador de consultas. Vamos analisar as alternativas. a) Errado. A descrição se aproxima mais à criptografia, não ao EXPLAIN PLAN. b) Errado. O EXPLAIN não gera expressões de álgebra relacional, apenas um plano de execução da query. c) Certo. O EXPLAIN PLAN mostra se um índice será utilizado, se haverá Full Table Scan, Joins, Sorts, entre outras informações relevantes para otimização da query. d) Errado. O EXPLAIN PLAN não executa a consulta, apenas gera um plano teórico de execução. e) Errado. O EXPLAIN PLAN não cria índices. Ele apenas informa se um índice existente será utilizado. Portanto, correta a letra C.
755
13. (CEBRASPE/TELEBRAS/2022) Julgue o seguinte item, pertinentes a bancos de dados. Em um SGBD Oracle, as tabelas e suas visões (views) do banco de dados são armazenadas localmente em arquivos físicos que são denominados de tablespace.
A afirmação é **ERRADA**. --- 📌 **Por quê?** No Oracle: * **Tablespace não é arquivo físico.** * É **uma unidade lógica de armazenamento** dentro do banco. * O que realmente armazena fisicamente os dados são os **datafiles**. Correto seria dizer que: * **Tabelas, índices e views (suas definições)** são armazenados **em tablespaces**, mas * **os tablespaces são compostos por datafiles**, que são os **arquivos físicos** no disco. --- ✔️ Portanto: **Tablespace = unidade lógica** **Datafile = arquivo físico** --- 🔍 Conclusão A frase de prova diz que *tablespace é arquivo físico*, o que é **falso**. ✅ **Item: ERRADO**
756
14. (CEBRASPE/PGE RJ/2022) No que diz respeito aos sistemas gerenciadores de banco de dados (SGBD) Oracle 21C e MySQL, julgue o item. O comando RMAN> SHUTDOWN IMMEDIATE; não pode ser executado no Oracle, pois a operação de desligar o banco de dados somente é permitida por meio do SQL PLUS.
O item está incorreto. É possível fazer tanto o desligamento através do SQL PLUS (que é o SQL do Oracle), quanto através do RMAN, o Recovery Manager – que permite a execução de vários comandos administrativos, como o STARTUP e SHUTDOWN. Gabarito: Errado
757
15. (CEBRASPE/PGE RJ/2022) No que diz respeito aos sistemas gerenciadores de banco de dados (SGBD) Oracle 21C e MySQL, julgue o item. Com a view V$SYSMETRIC do SGBD Oracle, é possível exibir a porcentagem de tempo usada pela CPU em relação ao tempo total do banco de dados.
Aqui é uma questãozinha chata, afinal temos uma infinidade de views que permitem analisar diferentes valores – sugiro que siga pela literalidade do nome, ela costuma indicar bastante coisa. No nosso caso, a V$SYSMETRIC aponta as métricas de sistema, em intervalos de 1 ou 15 minutos. Dentre as métricas, temos a "Database CPU Time Ratio", que indica a porcentagem do tempo total de processamento do banco usada pela CPU. Portanto, correto o item. Gabarito: Certo
758
16. (CEBRASPE/PC PB/2022) A vista (view) de dicionário de dados da Oracle que se pode consultar para encontrar as colunas de chave primária de tabelas é a) DBA_APPLY. b) DBA_RULE. c) DBA_TABLES. d) DBA_SQLSET. e) DBA_CONSTRAINTS.
Outra questão que explora uma das 380 tabelas DBA_, um pouco irrazoável, mas vamos lá... No Oracle, as restrições de chave primária são armazenadas como constraints (CONSTRAINT_TYPE = 'P'), dentro da view DBA_CONSTRAINTS. Meu conselho quanto às views é seguir pela literalidade do nome da tabela/v. Gabarito: Letra E
759
17. (CEBRASPE/ME/2020) Com relação ao sistema gerenciador de banco de dados Oracle, julgue o próximo item. Um banco de dados executado em modo de ARCHIVELOG permite que arquivos de redo log atualizem, em tempo real, banco de dados em formato active.
O item está errado. O modo ARCHIVELOG instrui o Oracle a salvar uma cópia dos redo logs antes de serem sobrescritos, garantindo a possibilidade de recuperação ponto-a-ponto (point-in-time recovery) em caso de falha. Porém, os redo logs não atualizam automaticamente um banco de dados ativo. Eles apenas armazenam todas as transações confirmadas (COMMIT) para permitir a reconstrução do banco após falhas. Gabarito: Errado
760
18. (CEBRASPE/ME/2020) Com relação ao sistema gerenciador de banco de dados Oracle, julgue o próximo item. Arquivos de controle possuem formato texto plano, que registra toda a estrutura lógica do banco de dados; sem eles, o banco pode ser montado, mas não pode ser recuperado em caso de incidente.
Os arquivos de controle armazenam informações críticas, incluindo a estrutura física, sequência de redo logs, configuração de modo ARCHIVELOG, entre outros. Eles são arquivos binários, não arquivos de texto plano, armazenados no disco e protegidos pelo Oracle. Portanto, errado o item. Gabarito: Errado
761
19. (CEBRASPE/PC DF/2025) Julgue o item a seguir, a respeito de Oracle e de MySQL. No Oracle, gatilhos podem invocar procedimentos armazenados.
Uma questão que não exige necessariamente o conhecimento de Oracle – basta o conhecimento básico de modelo relacional que é possível responder à questão. Os triggers são espécies de procedimentos armazenados, disparados automaticamente, podendo inclusive chamar outro procedimento armazenado, o que é uma abordagem bem comum. Portanto, correto o item. Gabarito: Certo
762
20. (CEBRASPE/PC DF/2025) A respeito de arquitetura, segurança, integridade, concorrência, recuperação após falhas e gerenciamento de transições em sistemas de gerenciamento de banco de dados (SGDB), julgue o item a seguir. Em um ambiente Oracle, a implementação de controle de concorrência por meio de isolamento de transações, combinada ao uso de backups incrementais e de log de redo, é suficiente para garantir a integridade e a recuperação completa dos dados após falha inesperada.
A banca considerou o item correto – mas discordo veemente. O isolamento de transações, backups incrementais e redo logs são fundamentais para integridade e recuperação de dados, mas podem não ser suficientes para todos os cenários de falha. O Oracle implementa vários outros controles para garantir a integridade do banco de dados, como o MVCC, control files, data guard, flashback technoogy, RMAN, entre outros. Reduzir a integridade a apenas backups e redo logs é, no mínimo, superficial e incorreto. Gabarito da Banca: Certo Gabarito do Professor: Errado
763
01. (FGV/TCE RR/2025) O SQL Server Profiler é utilizado para realizar auditoria em servidores SQL Server a partir do rastreamento de atividades. Durante um rastreamento, os dados capturados são armazenados em uma tabela, em que cada linha representa uma requisição (query) e cada coluna apresenta informações sobre as requisições. Durante uma auditoria no sistema de banco de dados do TCE de Roraima, uma requisição (query) capturada pelo SQL Server Profiler retornou os seguintes dados: EventClass: SQL:BatchCompleted Application Nane: Microsoft SQL Server Management Studio LoginName: MicrosoftAccount\DBA_TI_TCERR@tcerr.tc.br CPU: 3002 Reads: 105325 Writes: 0 Duration: 45219 DatabaseName: Processos_2024 HostName: AUD01_TCERR Com relação aos dados dessa requisição, assinale a afirmativa correta. a) O programa que está rodando o SQL Server Profiler é o Microsoft SQL Server Management Studio. b) O usuário que está realizando a auditoria possui login DBA_TI_TCERR. c) O banco de dados executou o comando INSERT. d) A execução teve uma duração de 45,219 milissegundos. e) A máquina que executou a requisição é AUD01_TCERR.
Questão de um nível relativamente alto. Vamos analisar cada valor da consulta: EventClass: SQL:BatchCompleted Indica fim de um lote de T-SQL Application Nane: Microsoft SQL Server Management Studio Ferramenta cliente LoginName: MicrosoftAccount\DBA_TI_TCERR@tcerr.tc.br Login de usuário CPU: 3002 Milissegundos de CPU consumidos Reads: 105325 Páginas lidas Writes: 0 Nenhuma gravação Duration: 45219 Tempo total de execução em microssegundos DatabaseName: Processos_2024 Banco de dados em uso HostName: AUD01_TCERR Nome da máquina cliente Vamos analisar as alternativas. a) Errado. O application name se refere ao cliente que executou a requisição T-SQL, não ao Profiler. O Profiler é a ferramenta de monitoramento, e o SSMS é o cliente que enviou a query. b) Errado. Esse é o login de quem executou a query monitorada, não de quem está auditando. Quem audita é quem está usando o Profiler, e não temos essa informação. c) Errado. O evento SQL:BatchCompleted não indica o tipo de comando (SELECT, INSERT, etc.). Para isso, precisaríamos do campo TextData, que não foi apresentado. d) Errado. Tivemos 45219 de duração – mas são 45.219 microssegundos, não milissegundos. e) Certo. O campo HostName indica o nome do cliente que executou a query. Esse valor é passado pela aplicação ao servidor. Portanto, correta a letra E.
764
02. (CEBRASPE/TRF 6/2025) A respeito de administração de banco de dados, julgue o item a seguir. Os Extended Events no Microsoft SQL Server são ferramentas de monitoramento e diagnóstico, que permitem rastrear eventos com baixo impacto de desempenho, com maior flexibilidade e precisão, substituindo o SQL Profile.
A afirmação é **CORRETA**. --- ✅ **Por quê?** Os **Extended Events (XEvents)** no Microsoft SQL Server: * são um **framework de monitoramento e diagnóstico**; * permitem rastrear eventos do SQL Server com **baixíssimo impacto de desempenho** (muito mais leve que o SQL Profiler); * oferecem **flexibilidade muito maior**, permitindo criar sessões personalizadas de rastreamento; * permitem capturar eventos no nível de servidor, banco, sessão, engine etc.; * **foram projetados para substituir o SQL Profiler/SQL Trace**, que está obsoleto. O próprio SQL Server Management Studio (SSMS) mostra avisos sobre o Profiler estar deprecated e recomenda usar **Extended Events**. --- ✔️ Conclusão **Item: CERTO**
765
03. (CEBRASPE/TRF 6/2025) A respeito de PostgreSQL, de SQL Server e de MySQL, julgue o item a seguir. No SQL Server, o keyset-driven cursor mantém uma cópia completa dos dados no momento em que é aberto, e qualquer alteração feita nos dados subjacentes não é refletida no cursor, tornando-o semelhante a um static cursor.
A afirmação é **ERRADA**. --- ❌ **Por quê?** No **SQL Server**, os três tipos principais de cursor são: * **STATIC** * **KEYSET** * **DYNAMIC** A questão descreve **STATIC**, mas está atribuindo esse comportamento ao **KEYSET**, o que é incorreto. --- ✅ **Comportamento real do KEYSET-DRIVEN cursor** Um **keyset cursor**: * **não** guarda todos os dados; * guarda **apenas as chaves (keyset)** da consulta no momento em que o cursor é aberto; * permite ver alterações nas **colunas não-chave** dos registros; * **não reflete novas linhas inseridas** (porque não estavam no keyset original); * **reflete updates** em colunas acessíveis; * coloca **tombstones** para linhas deletadas (não retornam mais). Ou seja: 👉 Ele **não** mantém uma cópia completa dos dados. 👉 Ele **não** se comporta como um cursor STATIC. O item afirma que o **keyset-driven cursor = static cursor**, o que é **falso**. --- ✔️ Conclusão **Item: ERRADO**
766
04. (Instituto Consuplan/TJ RO/2025) O banco de dados desempenha um papel fundamental no desenvolvimento e funcionamento de aplicações modernas, sendo considerado um dos pilares essenciais da infraestrutura de Tecnologia da Informação (TI). Essas estruturas permitem o armazenamento, organização, manipulação e recuperação dos dados persistidos pelas aplicações, além de garantir a integridade, a segurança e a disponibilidade das informações. Dentre as diversas possibilidades de Sistemas Gerenciais de Banco de Dados disponíveis no mercado, o Tribunal de Justiça do Estado de Rondônia (TJRO) escolheu o Microsoft SQL Server 2017 (configuração padrão) para a utilizar em uma determinada aplicação, construindo a seguinte tabela: Considerando a estrutura da tabela apresentada, bem como o fato de ela não possuir nenhum registro adicionado e o SGDB utilizado para ser um usuário com permissões de administrador, assinale a afirmativa INCORRETA. a) O comando EXEC sp_help 'dbo.LOG' pode ser utilizado para exibir as propriedades da tabela no SQL Server. b) O comando EXEC sp_rename 'LOG', 'LOG_BACKUP' é válido para renomear a tabela de LOG para LOG_BACKUP. c) O comando ALTER TABLE LOG REMOVE COLUMN DATAHORA é válido para remover a coluna DATAHORA da tabela. d) O comando ALTER TABLE LOG ADD SISTEMA VARCHAR (50) NULL é válido para adicionar a coluna SISTEMA, que permite valores nulos. e) O comando ALTER TABLE LOG ALTER COLUMN VALOR VARCHAR (100) NULL é válido para modificar a coluna VALOR para permitir valores nulos.
Temos uma tabela de nome dbo.LOG com 4 colunas: * ID – int, chave primária, NOT NULL * TABELA – varchar(10), NOT NULL * VALOR – varchar(100), NOT NULL * DATAHORA – datetime, NOT NULL Vamos analisar qual comando é inválido. a) Certo. Essa é uma instrução válida no SQL Server. A stored procedure sp_help retorna informações sobre qualquer objeto do banco, incluindo tabelas, colunas, restrições, etc. b) Certo. Esse comando é válido para renomear tabelas no SQL Server. A sp_rename é uma procedure de sistema usada para renomear objetos como colunas, tabelas, índices, etc. c) Errado. Essa sintaxe não é válida no SQL Server. Para que o comando funcionasse, deveríamos ter ALTER TABLE log DROP COLUMN datahora. d) Certo. Esse comando é válido. Ele adiciona a coluna SISTEMA, que permite valores nulos, o que é coerente com a cláusula NULL. e) Certo. Esse comando também é válido no SQL Server. Ele altera a definição da coluna VALOR, mantendo o tipo VARCHAR(100) e passando a aceitar valores nulos (NULL). Portanto, o comando que está incorreto é o da letra C. Gabarito: Letra C
767
05. (FGV/CM SP/2024) Com relação ao Microsoft SQL Server Profiler, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V). I. É uma interface gráfica do usuário para o SQL Trace para monitorar uma instância do SGBD ou do Analysis Services. Permite que o analista monitore um ambiente de produção para ver quais procedimentos armazenados estão afetando o desempenho por serem executados com muita lentidão. II. Permite que o analista capture uma série de instruções Transact-SQL que levam a um problema de desempenho. O rastreio salvo pode então ser usado para replicar o problema em um servidor de teste onde o problema pode ser diagnosticado. III. Oferece suporte à auditoria das ações executadas em instâncias do SGBD SQL Server. As auditorias registram ações relacionadas à segurança para revisão posterior por um administrador de segurança. As afirmativas são, respectivamente, a) V – V – V. b) F – F – V. c) V – F – F. d) F – V – V. e) F – F – F.
A resposta correta é: ✅ **a) V – V – V** Todas as três afirmativas estão corretas. Veja por quê: --- ✔️ **Análise das afirmativas** **I. Verdadeira (V)** O **SQL Server Profiler** é realmente uma **interface gráfica para o SQL Trace**, permitindo monitorar: * instruções T-SQL, * execuções de procedures, * lentidão e gargalos, * eventos do SQL Server e Analysis Services. Isso corresponde à definição oficial da Microsoft. --- **II. Verdadeira (V)** O Profiler permite capturar eventos T-SQL que causam problemas e **salvar o trace**. O arquivo salvo pode ser: * reproduzido em outro servidor, * analisado para isolamento de problemas de performance. Isso é exatamente uma das funções mais importantes da ferramenta. --- **III. Verdadeira (V)** Antes da Auditoria SQL Server ser incorporada ao SQL Server (versão Enterprise), muitos administradores usavam SQL Trace/Profiler para: * auditar logons, * capturar alterações de permissões, * monitorar ações de segurança. E ainda hoje o Profiler **suporta eventos de auditoria** (embora seja uma solução legada). --- ✔️ Conclusão As três afirmativas são verdadeiras → **V – V – V** ✔️ **Alternativa correta: a)**
768
06. (FGV/CGE PB/2024) No contexto dos modelos de recuperação de bancos de dados (recovery models) disponíveis no MS SQL Server, analise as afirmativas a seguir. I. No modelo Simple Recovery, o banco de dados pode ser recuperado até o ponto de último backup, full ou differential. II. No modelo Full Recovery, o banco de dados pode ser recuperado até o ponto da falha, ou certo ponto no tempo. III. O modelo bulk model não requer backup dos logs na recuperação. Está correto somente o que se afirma em: a) I; b) II; c) III; d) I e II; e) II e III.
A alternativa correta é: ✅ **d) I e II** Vamos analisar cada afirmativa: --- ✔️ **I. Verdadeira** **Simple Recovery Model:** * Não permite *point-in-time recovery*. * O log é truncado automaticamente. * A recuperação só pode ir **até o último backup** (full ou differential). ✔️ Portanto, a afirmativa I está **correta**. --- ✔️ **II. Verdadeira** **Full Recovery Model:** * Permite restaurar **até o ponto da falha** (se houver backup de log). * Permite **point-in-time recovery**. * Requer backup contínuo dos logs. ✔️ Portanto, a afirmativa II está **correta**. --- ❌ **III. Falsa** O correto seria: * O **Bulk-Logged Recovery Model** *permite* operações em massa (bulk operations) com mínimo de log. * **Mas AINDA REQUER backup de log** para garantir recuperação. ❗O que muda é que não permite **point-in-time recovery** caso exista operação bulk-logged no log. Portanto, dizer que “não requer backup dos logs” é **falso**. --- ✔️ Conclusão Somente I e II são verdadeiras. O gabarito correto deveria ser D – mas a banca apontou B como correta. 👉 **Resposta correta: d) I e II**
769
07. (FGV/DNIT/2024) O utilitário do SGBD Microsoft SQL Server que faz cópia em massa de grandes quantitativos de dados entre uma instância do SGBD e um arquivo de dados em um formato especificado pelo usuário se denomina a) dataloader. b) sqlcopy. c) etl. d) bcp. e) bckp.
A resposta correta é **d) bcp**. Explicação O **BCP (Bulk Copy Program)** é um utilitário de linha de comando do **Microsoft SQL Server** utilizado para **importar e exportar grandes volumes de dados** entre o SQL Server e arquivos em formato especificado pelo usuário (por exemplo, CSV, TXT). Ele é amplamente usado em cenários de carga massiva devido à sua performance e simplicidade. Gabarito: Letra D
770
08. (FGV/CVM/2024) Davi, um Database Administrator (DBA) que trabalha na Comissão de Valores Mobiliários, identificou, em sua base de dados SQL Server, que muitas operações efetuadas no banco não tinham rastreamento. Com o objetivo de identificá-las, ele iniciou a configuração de auditoria dos dados iniciando com as operações CREATE, ALTER e DROP para qualquer objeto de servidor. Os itens de auditoria a serem configurados por Davi formam um grupo de ações chamadas: a) server_object_change_group; b) server_object_ownership_change; c) server_operation_group; d) server_principal_impersonation_group; e) server_state_change_group.
A resposta correta é **a) server_object_change_group**. Explicação O grupo de auditoria **`SERVER_OBJECT_CHANGE_GROUP`** registra operações de alteração relacionadas a **objetos de servidor**, incluindo: * **CREATE** * **ALTER** * **DROP** Exatamente o tipo de ação que o DBA Davi precisa auditar. Os outros grupos têm finalidades diferentes: * **server_object_ownership_change** – mudanças de proprietário. * **server_operation_group** – operações administrativas (como BACKUP, RESTORE). * **server_principal_impersonation_group** – auditoria de impersonation. * **server_state_change_group** – alterações de estado do servidor (START, STOP etc.). Gabarito: Letra A
771
09. (FGV/STN/2024) No contexto de uma instalação MS SQL Server, avalie as afirmativas a seguir a respeito dos bancos de dados pré-definidos master, model, tempdb. I. tempdb é recriado sempre quando o SQL Server é iniciado. II. model é criado opcionalmente, e pode ser utilizado apenas como read only. III. master não permite operações de backup e/ou recuperação. Está correto o que se afirma apenas em a) I. b) II. c) III. d) I e II. e) II e III.
A resposta correta é **a) I**. Vamos analisar cada afirmativa: I. **tempdb é recriado sempre quando o SQL Server é iniciado.** ✔ **Verdadeiro.** O banco **tempdb** é sempre **recriado do zero** a cada início da instância do SQL Server. --- II. **model é criado opcionalmente, e pode ser utilizado apenas como read only.** ✘ **Falso.** * O banco **model é criado automaticamente**, não é opcional. * Ele não é somente leitura; é **editável**. * Ele funciona como **modelo** para criação de novos bancos de dados. --- III. **master não permite operações de backup e/ou recuperação.** ✘ **Falso.** * O banco **master pode e deve ser incluído no backup** regularmente. * Ele também pode ser restaurado (com algumas restrições operacionais). --- 📌 Portanto, somente a afirmativa **I** está correta. Gabarito: Letra A
772
10. (CEBRASPE/TCE PR/2024) A respeito do Microsoft SQL Server 2022, assinale a opção correta. a) O SQL Server 2022 permite que desenvolvedores criem aplicativos conectando dados relacionais com data lakes que contenham arquivos parquet e tabelas delta, por meio do uso de provedores de armazenamento compatíveis com o Azure ou o S3 (simple storage service). b) A edição SQL Server Express requer uma licença paga e contém recursos do SQL Server 2022 sem limites para funcionalidades e recursos específicos, como CPU, memória e tamanho do banco de dados. c) O SQL Server 2022 oferece opções de implantação, edição e licenciamento totalmente diferentes das versões anteriores. d) O Azure Synapse Analytics é o serviço do Azure usado para fornecer a recuperação de desastre gerenciada com o SQL Server 2022. e) Entre os recursos que permaneceram como parte da configuração para o SQL Server 2022, estão os runtimes de R, Python e Java.
A alternativa **correta é a letra a**. Vamos analisar cada uma: --- **a) CORRETA** O **SQL Server 2022** ampliou muito os recursos de **integração com data lakes**, permitindo: * Acesso a **arquivos Parquet** e **tabelas Delta**; * Uso de **PolyBase** e **External Tables**; * Conexão com **provedores S3-compatíveis**, não apenas Azure Storage. Isso está totalmente alinhado com as inovações do SQL Server 2022 em **data virtualization e integração híbrida**. --- **b) Incorreta** O **SQL Server Express é gratuito**, não paga, e tem várias limitações: * 1 CPU (núcleo lógico) * 1 GB de RAM por instância * 10 GB por banco de dados --- **c) Incorreta** O SQL Server 2022 mantém a mesma estrutura geral de: * Edições (Enterprise, Standard, Express, Developer) * Opções de licenciamento * Modalidades de instalação Não houve mudança “totalmente diferente”. --- **d) Incorreta** O serviço do Azure para **Desaster Recovery (DR)** com SQL Server é o **Azure SQL Managed Instance – Link** (SQL MI Link), **não** o Azure Synapse Analytics. --- **e) Incorreta** Os **runtimes de R e Python foram removidos** do instalador padrão do SQL Server 2022; agora dependem de configurações alternativas. O suporte a **Java** também não é mais parte da instalação base. --- ✔ **Gabarito: letra a**
773
11. (CEBRASPE/TCE PR/2024) O SQL Server 2022 (16.x) está disponível nas versões Enterprise, Developer, Standard e Express, as quais podem ser instaladas sob a forma de atualização de uma das versões anteriores. A partir do SQL Server 2012 (11.x) SP4 Standard, o SQL Server 2022 (16.x) pode ser instalado nas versões a) Enterprise, Developer, Standard e Express. b) Enterprise e Standard, somente. c) Enterprise e Express, somente. d) Developer e Standard, somente. e) Developer e Express, somente.
✔ **Gabarito: letra b) Enterprise e Standard, somente.** **Justificativa objetiva:** A Microsoft define uma matriz oficial de **upgrade in-place** (instalação por atualização). Para quem possui **SQL Server 2012 SP4 Standard**, é permitido atualizar **somente para:** * **SQL Server 2022 Standard** * **SQL Server 2022 Enterprise** ⚠ **Não é permitido** atualizar para Developer ou Express via upgrade in-place, pois: * **Developer** e **Express** não aceitam upgrade direto a partir de edições pagas — só instalação nova. * **Developer** é sempre instalação limpa. * **Express** não suporta upgrade a partir de Standard/Enterprise. Assim, as únicas edições disponíveis para upgrade do **SQL Server 2012 SP4 Standard → SQL Server 2022** são: 👉 **Enterprise** 👉 **Standard** ✔ Portanto: **b) Enterprise e Standard, somente.**
774
12. (CEBRASPE/SEBRAE/2024) No SQL Server AlwaysOn, a latência de transações nos bancos de dados secundários é minimizada no modo de confirmação a) assíncrona. b) unidirecional. c) síncrona. d) bidirecional.
✔ **Gabarito: letra a) assíncrona.** **Explicação objetiva:** No **SQL Server AlwaysOn Availability Groups**, existem dois modos de confirmação (**commit mode**): 1. **Synchronous-commit (síncrono)** * A transação só é confirmada após o secundário confirmar o recebimento. * **Aumenta a latência** no primário, pois ele espera a resposta do secundário. * Foco: **Alta disponibilidade**. 2. **Asynchronous-commit (assíncrono)** * O primário **não espera** o secundário confirmar o commit. * **Minimiza a latência** para o secundário. * Foco: **Desempenho e DR (disaster recovery)**. Portanto: 📌 **O modo que minimiza a latência para os bancos secundários é o modo assíncrono.** ✔ Resposta: **a) assíncrona.**
775
13. (CEBRASPE/SEBRAE/2024) O recurso grupos de disponibilidade AlwaysOn do SQL Server é a) um dispositivo que mantém o banco de dados em execução mesmo com queda de energia. b) uma aplicação que permite ao usuário a consulta aos metadados das tabelas. c) uma solução corporativa de espelhamento para bancos de dados. d) uma interface para o DBA executar comandos de configuração.
✔ **Gabarito: letra c) uma solução corporativa de espelhamento para bancos de dados.** **Explicação rápida:** O **AlwaysOn Availability Groups** do SQL Server é um recurso de **alta disponibilidade e recuperação de desastres (HA/DR)** que: * Mantém **réplicas secundárias** sincronizadas do banco de dados. * Permite **failover automático** ou manual. * Pode usar até 8 secundários. * Pode ser visto como uma evolução do **Database Mirroring**, mas muito mais completo e robusto. 📌 Por isso, caracteriza-se como **uma solução corporativa de espelhamento avançado** de bancos de dados. ✔ Resposta: **c**
776
14. (CEBRASPE/SEBRAE/2024) Em um banco de dados SQL Server configurado com AlwaysOn, um grupo de disponibilidade HA é um a) grupo de tabelas configuradas para read-only. b) conjunto de tabelas com escala de leitura. c) conjunto de backups redundantes. d) grupo de bancos de dados que fazem failover juntos.
✔ **Gabarito: letra d) grupo de bancos de dados que fazem failover juntos.** **Explicação:** No SQL Server AlwaysOn (Availability Groups): * Um **Availability Group (AG)** é formado por **um conjunto de bancos de dados que falham juntos** (failover em conjunto). * Ele define: * **Bancos primários** * **Réplicas secundárias** * **Modos de sincronização** * **Failover automático ou manual** * O AG **não envolve tabelas individualmente**, nem backups. 📌 Portanto, a definição correta é: ➡ **d) grupo de bancos de dados que fazem failover juntos.**
777
15. (CEBRASPE/TC DF/2024) CREATE CLUSTERED INDEX idx_clustered ON schema1.table1 (column1 DESC, column2 ASC, column3 DESC); Considerando o comando precedente, do banco de dados MS-SQLSERVER 2019, julgue o próximo item. O comando cria um índice clusterizado em column1, column2 e column3 da tabela table1 no esquema schema1, com column1 e column3 classificados em ordem decrescente e column2 classificado em ordem crescente.
✔ **Item CERTO** O comando realmente cria um **índice clusterizado** sobre as colunas: * **column1** → **DESC** * **column2** → **ASC** * **column3** → **DESC** E no SQL Server, **índices clusterizados podem usar ordem ASC/DESC**, que afeta **apenas a ordem física** de armazenamento das linhas **dentro da chave de ordenação do índice**. 📌 **Assim, a descrição do item está correta.** Gabarito: Certo
778
16. (FGV/CGE SC/2023) Em 1970, Codd propôs o modelo de dados relacional. Na época, os bancos de dados usavam modelos hierárquicos e de rede. O modelo relacional revolucionou a área de banco de dados deixando os dois outros modelos praticamente esquecidos. Como o nome do modelo já diz, um banco de dados relacional é uma coleção de relações com nomes distintos entre entidades. Um banco de dados é considerado bom quando o SGBD garante que as informações sendo armazenadas estão corretas e, para isso, é utilizado o conceito de restrições de integridade. Assim, para garantir a integridade dos dados, SGBDs como o Microsoft SQL Server implementam o conceito de chaves primária e estrangeiras. Em relação a chaves primárias e estrangeiras no Microsoft SQL Server, assinale V para a afirmativa verdadeira e F para afirmativa falsa. ( ) Se, ao criar uma chave primária em uma tabela, não for especificado NOCLUSTERED ou CLUSTERED e se essa tabela não possuir um índice CLUSTERED, por definição a chave primária é criada junto a um índice CLUSTERED. ( ) Os dados das colunas usadas para compor a chave primária devem possui valores exclusivos, de modo que o valor NULL só pode aparecer uma vez. ( ) Uma chave estrangeira de uma tabela pode fazer referência a uma coluna de outra tabela de outro banco de dados. ( ) Uma chave estrangeira de uma tabela não precisa estar vinculado a uma chave primária de outra tabela, desde que a coluna referenciada seja UNIQUE. As afirmativas são, respectivamente, a) F, F, V e V. b) V, F, V e F. c) V, F, F e V. d) F, V, V e F. e) V, F, F e F.
Vamos analisar cada afirmativa. ( ) Se, ao criar uma chave primária em uma tabela, não for especificado NOCLUSTERED ou CLUSTERED e se essa tabela não possuir um índice CLUSTERED, por definição a chave primária é criada junto a um índice CLUSTERED. Verdadeiro. Por padrão, ao criar uma chave primária, o SQL Server cria um índice associado a ela. Se nenhum índice clusterizado existir na tabela, o SQL Server irá criar a chave primária como um índice clusterizado automaticamente, a menos que você especifique explicitamente o contrário com NONCLUSTERED. ( ) Os dados das colunas usadas para compor a chave primária devem possui valores exclusivos, de modo que o valor NULL só pode aparecer uma vez. Falso. Na chave primária, os valores devem ser únicos e não podem ser nulos. Portanto, nem um único valor NULL é permitido. Isso difere de uma restrição UNIQUE, que permite múltiplos NULLs (dependendo do SGBD). No SQL Server, ao criar uma PRIMARY KEY, todas as colunas envolvidas são automaticamente marcadas como NOT NULL. ( ) Uma chave estrangeira de uma tabela pode fazer referência a uma coluna de outra tabela de outro banco de dados. Falso. No SQL Server, chaves estrangeiras (FOREIGN KEY) só podem referenciar objetos dentro do mesmo banco de dados. Não é possível criar uma FOREIGN KEY que aponte para uma tabela em outro banco. Para isso, seria necessário usar triggers ou validações manuais. ( ) Uma chave estrangeira de uma tabela não precisa estar vinculado a uma chave primária de outra tabela, desde que a coluna referenciada seja UNIQUE. Verdadeiro. Uma FOREIGN KEY no SQL Server pode referenciar qualquer coluna ou conjunto de colunas que possuam uma restrição UNIQUE, mesmo que não sejam a chave primária da tabela de destino. A exigência é que os valores referenciados sejam únicos e não nulos.~ Ficamos com V-F-F-V. Gabarito: Letra C
779
17. (VUNESP/TCM SP/2023) O sistema gerenciador de bancos de dados Microsoft SQL Server 2012 possui a opção OFFSET que pode ser inserida em um comando SELECT. Tal opção especifica a) o número máximo de linhas que devem ser exibidas como resultado da execução do comando. b) o número de linhas a serem excluídas da tabela alvo, antes da exibição das linhas de resultado. c) o tempo mínimo para que a resposta solicitada seja exibida. d) o número máximo de usuários simultâneos no banco de dados em questão. e) quantas linhas devem ser ignoradas antes que o comando inicie a exibição das linhas de resultado.
Questão tranquila – o comando OFFSET define um intervalo de linhas que serão ignoradas antes que o comando SELECT inicie sua aplicação – portanto, correta a letra E. Gabarito: Letra E
780
18. (VUNESP/TCM SP/2023) A linguagem Transact SQL do sistema gerenciador de bancos de dados Microsoft SQL Server possui o comando BULK INSERT, cuja função é a) codificar os dados de uma tabela especificada nesse comando. b) confirmar as operações de inserção de dados realizadas em determinado período de tempo. c) importar um arquivo com dados para uma tabela ou visão da base de dados. d) restituir os registros excluídos de determinada tabela da base de dados. e) eliminar os registros que contenham valores nulos nas tabelas do banco de dados.
O comando BULK INSERT é utilizado para importar grandes volumes de dados de um arquivo externo (como arquivos .txt, .csv, etc.) diretamente para uma tabela ou view do banco de dados. Ele é otimizado para performance e é amplamente usado em processos de carga massiva (bulk load). Vamos analisar as alternativas. a) Errado. BULK INSERT não codifica dados; ele importa. b) Errado. Ele não confirma inserções anteriores; apenas realiza importações. c) Certo. De acordo com o que vimos anteriormente, o BULK INSERT irá carregar dados em uma tabela. d) Errado. Não há função de restaurar registros excluídos com esse comando. e) Errado. BULK INSERT não elimina registros com NULL; ele insere o que está no arquivo. Portanto, correta a letra C.
781
19. (FGV/TJ RN/2023) Ao criar ou modificar um banco de dados no SQL Server é possível configurar a cláusula COLLATE da instrução CREATE DATABASE ou ALTER DATABASE. A configuração de COLLATE para um banco de dados: a) afeta todos os metadados no banco de dados; b) limita as opções de collation para expressões; c) determina a definição de collation do servidor; d) altera a definição de COLLATE no nível de coluna; e) influencia a apresentação de dados dos tipos float e real.
A cláusula **COLLATE** define regras de **ordenação e comparação de caracteres** (case sensitivity, acentuação etc.) dentro de um **banco de dados**, afetando **metadados textuais** daquele banco. No SQL Server: * A collation de um **database** afeta **nomes de objetos** (tabelas, colunas, índices etc.), pois esses metadados são armazenados como texto. * Ela **não altera** obrigatoriamente a collation de colunas já existentes. * Não define a collation do servidor. * Não influencia tipos numéricos como *float* ou *real*. --- ✔ **Resposta correta: a)** **afeta todos os metadados no banco de dados.**
782
20. (FUNDATEC/BRDE/2023) O DBA de um banco de dados SQL Server 2019 precisou procurar no catálogo algumas definições existentes sobre um esquema da base de dados específico para executar o seu trabalho. Ele descobriu que: * Para procurar as tabelas existentes, deveria consultar a SYS.TABLES, e para encontrar as chaves primárias existentes, poderia consultar a tabela _______________; * Encontraria na tabela ______________ o identificador do tipo de dado associado aos atributos de uma dada tabela; * Para encontrar os procedimentos armazenados na base de dados, precisava consultar a SYS.PROCEDURES, e que se quisesse saber detalhes dos parâmetros de um dado procedimento armazenado, poderia encontrá-los na __________; Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima. a) SYS.INDEXES – SYS.COLUMNS – SYS.PARAMETERS b) SYS. INDEXES _KEYS – SYS.TYPES – SYS.PARAMETERS c) SYS.INDEXES – SYS. COLUMNS – SYS.PROCEDURES_EXTENDED d) SYS.INDEXES – SYS.TYPES – SYS.PARAMETERS e) SYS.PRIMARY_KEYS – SYS.TYPES – SYS.PROCEDURES_EXTENDED
Temos 3 lacunas. Para a primeira, devemos usar SYS.INDEXES - no SQL Server, chaves primárias são implementadas como índices, e a tabela sys.indexes contém a definição desses índices. Para a segunda lacuna, precisamos achar o identificador do tipo de dado associado aos atributos de uma tabela, o que pode ser encontrado na tabela SYS.COLUMNS. Por fim, a última lacuna deve ser preenchida com SYS.PARAMETERS, que é a tabela responsável por armazenar as informações dos parâmetros de procedimentos armazenados e funções. Sendo assim, correta a letra A. Gabarito: Letra A
783
01. (CEBRASPE/CNPq/2024) Acerca da análise de dados para tomada de decisão, da capacitação tecnológica e da competitividade, julgue o item a seguir. Business intelligence (BI) pode ser definido corretamente como um conjunto de tecnologias que dão suporte a decisões gerenciais por meio de informações internas e externas às organizações, tendo grande impacto na estratégia corporativa, na performance e na competitividade.
Certinho! O BI é o conjunto de técnicas, ferramentas e utilidades destinadas a extrair informações não triviais, isso é, não tão óbvias, para impactar na gestão e gerência de organizações. Gabarito: Certo
784
02. (FGV/DPE RS/2023) Observe a seguinte arquitetura básica de uma solução de Business Intelligence implementada na empresa CleverBI. O elemento arquitetural da solução de BI da CleverBI implementado por meio de operações OLAP, como slice, rotate, drill-down e drill-up, é o: a) ETL; b) Stage Area; c) Banco de Dados Multidimensionais; d) Análises Multidimensionais; e) Busca de Padrões.
A questão pergunta **qual elemento arquitetural é implementado por meio de operações OLAP**, como **slice, rotate, drill-down e drill-up**. 🔍 **OLAP (Online Analytical Processing)** É uma tecnologia usada para permitir **análises rápidas e interativas** de dados multidimensionais armazenados em cubos, possibilitando operações como *drill-down, roll-up, slice, dice, rotate*, entre outras. Essas operações fazem parte da **camada de análise** do BI. Analisando as alternativas: * **a) ETL** – extrai, transforma e carrega os dados. **Não executa OLAP**. * **b) Stage Area** – área de preparação temporária de dados. **Não executa OLAP**. * **c) Banco de Dados Multidimensionais** – armazena os cubos, mas **não é responsável pelas operações OLAP diretamente**, apenas os sustenta. * **d) Análises Multidimensionais** – **correto**: é nessa camada que as operações OLAP são efetivamente aplicadas aos dados. * **e) Busca de Padrões** – refere-se à mineração de dados (*data mining*), não a OLAP. ✅ **Resposta correta: d) Análises Multidimensionais.**
785
03. (FGV/CGE SC/2023) Avalie se os componentes de um Data Warehouse incluem: I. Sistemas de origem. II. Infraestrutura de ETL (Extraction-transformation-load). III. Data Warehouse. IV. Aplicações de Front-end para o usuário final. Estão corretos os itens a) I e II, apenas. b) III e IV, apenas. c) I, II e III, apenas. d) II, III e IV, apenas. e) I, II, III e IV.
Para responder, basta lembrar **quais elementos fazem parte da arquitetura de um Data Warehouse**. Um **Data Warehouse** típico é composto por **todo o ecossistema** necessário para coletar, transformar, armazenar e disponibilizar dados analíticos. Isso inclui: ✓ I. Sistemas de origem Sim — são as fontes de dados (ERPs, CRMs, bancos operacionais, arquivos etc.). **Eles fazem parte do ecossistema do DW.** ✓ II. Infraestrutura de ETL Sim — o processo **ETL/ELT** é essencial para extrair, transformar e carregar os dados no DW. ✓ III. Data Warehouse Sim — é o repositório central dos dados integrados. ✓ IV. Aplicações de Front-end (BI) Sim — ferramentas OLAP, dashboards, relatórios, análises multidimensionais etc. **Elas também são consideradas parte da arquitetura de um DW**, pois sem elas o usuário final não consome as informações. Portanto, **todos os itens estão corretos**. ✅ **Resposta: e) I, II, III e IV.**
786
04. (FGV/ISS 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 resposta correta é: **e) Repositório de Metadados** ✔ Justificativa O fiscal está consultando **descrições sobre artefatos de dados**, como: * descrição de tabelas (ex.: **DW_Tributos**, **TB_EMPRESA**); * descrição de atributos (ex.: **TP_EMPRESA**, seus tipos e valores possíveis); * descrição de relatórios (**RL_Sit_Fiscal**). Essas informações **não são os dados em si**, mas sim **informações sobre os dados**, isto é, **metadados**. O componente criado especificamente para armazenar e disponibilizar essas descrições é o: ➤ **Repositório de Metadados** Ele contém: * definição de tabelas, colunas e tipos de dados; * origem e significado dos atributos; * regras de negócio; * documentação de relatórios, dashboards e métricas; * mapeamentos do ETL; * estrutura dos cubos e dimensões; * glossário de termos. Por isso, ele permite que usuários entendam **o que cada artefato significa**, como no exemplo da questão. Gabarito: Letra E
787
05. (CEBRASPE/MPE RO/2023) Em uma solução de BI (Business Intelligence), os dashboards são a) fontes de dados. b) insights. c) usados no ETL. d) armazéns de dados. e) modelos semânticos de dados.
A resposta correta é: **b) insights.** ✔ Justificativa Em uma solução de Business Intelligence, **dashboards** são: * **Painéis visuais** que exibem informações consolidadas; * Organizados em **gráficos, indicadores, tabelas e KPIs**; * Utilizados para **gerar insights**, isto é, apoiar a tomada de decisão a partir da visualização dos dados. Eles **não são**: * fontes de dados (a); * parte do processo ETL (c); * armazéns de dados (d); * modelos semânticos (e). Portanto, dashboards → **ferramentas de visualização para obtenção de insights**.
788
06. (FGV/PREF. SJC/2024) Relacione as características de um data warehouse listadas a seguir com suas descrições, conforme estabelecido por William Inmon. 1. Orientados a Assunto. 2. Integração. 3. Não Volátil. 4. Variante no Tempo. ( ) O foco de um data warehouse na mudança ao longo do tempo é essencial para descobrir tendências e identificar padrões e relacionamentos ocultos nos negócios, para isso os analistas precisam de grandes quantidades de dados. Isso contrasta muito com o processamento de transações on-line onde os requisitos de desempenho exigem que os dados históricos sejam movidos para arquivos. ( ) Os data warehouses devem colocar dados de fontes diferentes em um formato consistente. Eles devem resolver problemas como nomear conflitos e inconsistências entre unidades de medida. ( ) Significa que, uma vez inseridos no data warehouse, os dados não devem mudar. Essa característica é lógica porque o propósito de um data warehouse é permitir que um analista analise o que ocorreu no passado. ( ) Os data warehouses são projetados para ajudar os profissonais a analisar grandes volumes de dados. Por exemplo, para saber mais sobre os dados de vendas de uma empresa, o analista pode construir um data warehouse que concentre a venda. Usando esse data warehouse, ele poderá responder perguntas como "Quem foi nosso melhor cliente para este item no ano passado?" ou "Quem provavelmente será nosso melhor cliente no próximo ano?" A relação correta, na ordem dada, é: a) 1 – 2 – 3 – 4. b) 2 – 1 – 4 – 3. c) 4 – 2 – 3 – 1. d) 3 – 4 – 1 – 2. e) 2 – 3 – 1 – 4.
Vamos relacionar cada descrição à característica correta segundo William Inmon: --- **Análise das descrições** **1ª descrição** “Foco na mudança ao longo do tempo... tendências... dados históricos...” → **Variante no Tempo (4)** **2ª descrição** “Colocar dados de fontes diferentes em formato consistente... resolver conflitos...” → **Integração (2)** **3ª descrição** “Uma vez inseridos, os dados não devem mudar... analisar o passado...” → **Não Volátil (3)** **4ª descrição** “Ajudar profissionais a analisar grandes volumes de dados... focado em vendas...” → **Orientados a Assunto (1)** --- **Sequência final** (4) – (2) – (3) – (1) --- **Alternativa correta:** **c) 4 – 2 – 3 – 1.**
789
07. (FGV/PREF. SJC/2024) Com relação ao ETL, ELT e suas tecnologias, avalie as afirmativas a seguir e assinale V para a verdadeira e F para a falsa. ( ) ELT utiliza fluxos de trabalho de análise de dados e de aprendizado de máquina. O ELT é frequentemente usado por uma organização para: Extrair dados de sistemas legados, limpar os dados para melhorar sua qualidade e carregar dados em um banco de dados de destino. O ELT transforma dados no trânsito. ( ) ETL copia ou exporta os dados dos locais de origem, mas, em vez de carregá-los em uma área de preparação para transformação, ele carrega os dados em estado brutos diretamente no armazenamento de dados no destino para serem transformados conforme necessário. O ETL não transforma nenhum dado no trânsito. ( ) A ordem das etapas não é a única diferença entre ETL e ELT. No ELT, o armazenamento de dados de destino pode ser um armazém de dados, mas, mais frequentemente, é um data lake, que é um armazenamento central grande projetado para manter tanto dados estruturados quanto não estruturados em grande escala. As afirmativas são, respectivamente, a) F – V – F. b) F – F – V. c) F – V – V. d) V – F – V. e) V – V – F.
Vamos analisar cada afirmativa com cuidado: --- **1ª afirmativa** > “ELT utiliza fluxos de análise e ML… extrair dados, limpar, carregar. O ELT transforma dados no trânsito.” **Errado.** * No **ELT**, os dados são **Extraídos → Carregados → Transformados**. * **A transformação não ocorre no trânsito**, mas **no destino** (geralmente um *data lake* ou *DW* em cloud). * A descrição dada é, na verdade, muito mais parecida com **ETL**, não ELT. ✔ **Falsa** --- **2ª afirmativa** > “ETL copia dados… mas carrega dados brutos direto no destino para transformar depois. O ETL não transforma no trânsito.” **Errado.** * Isso descreve **ELT**, não **ETL**. * No **ETL**, os dados são transformados **antes** de serem carregados no destino. * A afirmativa está invertida. ✔ **Falsa** --- **3ª afirmativa** > “No ELT, o armazenamento de destino pode ser um DW, mas frequentemente um data lake… para dados estruturados e não estruturados.” **Correto.** * ELT é comum em arquiteturas modernas de *cloud*. * Data lakes suportam dados **estruturados + semiestruturados + não estruturados**, ideal para ELT. ✔ **Verdadeira** --- **Gabarito** **b) F – F – V.**
790
08. (FGV/PREF. SJC/2024) Com relação ao Data Warehousing e ao Business Intelligence, avalie as afirmativas a seguir e assinale V para a afirmativa verdadeira e F para a falsa. ( ) Eles têm como meta construir e manter o ambiente técnico e os processos técnicos e de negócios necessários para fornecer dados integrados em apoio às funções operacionais, requisitos de conformidade e atividades de inteligência de negócios. ( ) Ambos visam apoiar e permitir análises de negócios e tomadas de decisões mais eficazes por parte dos trabalhadores do conhecimento. ( ) O Data Warehousing concentra-se em permitir um contexto de negócios histórico e integrado em dados operacionais, aplicando regras de negócios e mantendo relacionamentos de dados de negócios apropriados. O armazenamento de dados também inclui processos que interagem com repositórios de metadados. As afirmativas são, respectivamente, a) F – F – F. b) F – F – V. c) F – V – V. d) V – F – V. e) V – V – V.
Vamos aos itens. (V) Eles têm como meta construir e manter o ambiente técnico e os processos técnicos e de negócios necessários para fornecer dados integrados em apoio às funções. Verdadeiro. Apesar de eu acreditar que tenham cortado um “em apoio às funções decisórios”, a afirmativa está correta. O DW e o BI constroem e mantêm um ambiente técnico voltado ao apoio às funções decisórias da entidade. (V) Ambos visam apoiar e permitir análises de negócios e tomadas de decisões mais eficazes por parte dos trabalhadores do conhecimento. Verdadeiro. Esse é o propósito da infraestrutura de BI. (V) O Data Warehousing concentra-se em permitir um contexto de negócios histórico e integrado em dados operacionais, aplicando regras de negócios e mantendo relacionamentos de dados de negócios apropriados. O armazenamento de dados também inclui processos que interagem com repositórios de metadados. Verdadeiro. O objetivo do DW é criar um repositório de dados que acumulará uma evolução dos dados ao longo do tempo - o que chamamos de dados históricos. Todas as afirmativas são verdadeiras. Gabarito: Letra E
791
09. (CEBRASPE/SPELAN RR/2023) No que se refere às características de um banco de dados relacional, julgue o item que se segue. Em contraste com os modelos relacionais, os modelos dimensionais, ou modelos de dados dimensionais kimball — modelos de dados baseados na técnica desenvolvida por Ralph Kimball —, são estruturas normalizadas projetadas para recuperar dados de um data warehouse.
A afirmação é **ERRADA**. ✔ Por quê? Os **modelos dimensionais (Kimball)** **não são normalizados**. Pelo contrário: * Eles são **desnormalizados**, * com tabelas **fato** e **dimensão**, * projetados para **consultas rápidas**, não para normalização. A normalização é característica dos **modelos relacionais (OLTP)**, não dos **dimensionais (OLAP/DW)**. Portanto: ❌ *“são estruturas normalizadas projetadas para recuperar dados de um data warehouse”* **Está incorreto.** ✔ O correto seria: *São estruturas **desnormalizadas**, otimizadas para consultas analíticas no data warehouse.* Gabarito: Errado
792
10. (FGV/CGE SC/2023) Em relação às diferenças de características técnicas entre um banco de dados planejado para lidar com informações transacionais (operações do dia a dia de uma empresa) e um Data Warehouse, é correto afirmar que a) a normalização é essencial em um Data Warehouse, sobretudo no modelo dimensional estrela, de forma a evitar dados redundantes. b) os processos analíticos normalmente usam uma pequena parcela de dados, reservando grandes porções de dados aos processos transacionais. c) a questão de redundância de dados não é problema para o modelo dimensional (estrela), pois a normalização não é relevante entre fatos e dimensões. d) os dados transacionais são acessados raramente, ao passo que os dados em um Data Warehouse são acessados frequentemente para o funcionamento operacional de uma empresa. e) os dados salvos em um Data Warehouse são constantemente atualizados por meio de operações de UPDATE, ao passo que os dados transacionais recebem apenas novos registros (INSERT) e pedidos de leitura (SELECT).
A alternativa **correta é a letra C**. Vamos analisar: **a) ERRADA** Data Warehouse **não é normalizado**. Modelos estrela são **desnormalizados**, com redundância proposital. **b) ERRADA** O contrário ocorre: * Processos transacionais usam poucos dados por operação. * Processos analíticos usam **grandes volumes** de dados históricos. **c) CORRETA** No modelo dimensional (estrela): * **Redundância não é problema**, é *proposital* para agilizar consultas. * A normalização **não é relevante** entre fato e dimensões. **d) ERRADA** * Dados transacionais são acessados frequentemente. * Dados de DW são acessados para fins analíticos, não operacionais. **e) ERRADA** * No DW, os dados **não são atualizados por UPDATE** — são *não voláteis* (só INSERT). * No sistema transacional há SELECT, INSERT, UPDATE e DELETE o tempo todo. --- ✅ **Resposta: C**
793
11. (FGV/CGE SC/2023) Assinale a opção que apresenta uma diferença funcional entre um banco de dados planejado para lidar com informações transacionais (operações do dia a dia da empresa) e um Data Warehouse. a) A finalidade de um banco de dados transacional é ser orientado para uma aplicação de negócio, e a de um Data Warehouse é ser orientado para um assunto de análise. b) Um Data Warehouse é usado por todos os tipos de colaboradores em uma empresa, e um banco de dados transacional é usado apenas por gestores. c) Um Data Warehouse deve ser orientado para uma aplicação de negócio, e um banco de dados transacional deve ser orientado para um assunto de análise. d) A finalidade de um banco de dados transacional e de um Data Warehouse é a mesma: ser orientada para um assunto específico de análise. e) Um Data Warehouse e um banco de dados transacional são igualmente utilizados por todos os colaboradores em uma empresa no nível operacional.
A alternativa **correta é a letra A**. ✔ **a) CORRETA** * **Banco de dados transacional (OLTP)** → orientado à **aplicação de negócio**, às operações do dia a dia. * **Data Warehouse (OLAP)** → orientado a **assuntos de análise** (ex.: vendas, finanças, logística). Isso reflete exatamente uma das quatro características clássicas de Inmon: ➡ **DW é orientado por assunto.** ➡ OLTP é orientado a processos operacionais. --- ❌ **b) ERRADA** DW não é usado por todos; geralmente é utilizado por analistas, gerentes e alta gestão. ❌ **c) ERRADA** Inverte completamente os conceitos. ❌ **d) ERRADA** DW é orientado a assunto; OLTP não. ❌ **e) ERRADA** Transacionais são usados no nível operacional; DW no nível tático/estratégico. --- ✅ **Resposta: A**
794
12. (FGV/CGE SC/2023) Sobre a proposta geral do modelo dimensional em um Data Warehouse, não é correto afirmar que o modelo dimensional a) cobre tanto dados detalhados quanto dados sumarizados. b) cobre toda a empresa, e não apenas departamentos. c) é escalável, podendo entregar relatórios com trilhões de registros. d) é arquitetado apenas para um uso previsível, geralmente cobrindo os 10 relatórios mais acessados. e) pode integrar diversas fontes de dados operacionais da empresa, inclusive fontes externas.
A alternativa **INCORRETA** — ou seja, a que **não** está de acordo com o modelo dimensional — é a **letra D**. --- ✔ Análise das alternativas **a) cobre tanto dados detalhados quanto dados sumarizados. — CORRETA** O modelo dimensional (fatos + dimensões) trabalha com **grãos detalhados**, mas também permite **agregações** e **sumarizações** via agregações OLAP. --- **b) cobre toda a empresa, e não apenas departamentos. — CORRETA** O modelo dimensional pode ser implementado como **Data Warehouse corporativo** (Kimball: arquitetura bus). Permite integrar vários *data marts* compartilhando dimensões conformadas. --- **c) é escalável, podendo entregar relatórios com trilhões de registros. — CORRETA** Sim. Bancos colunares, particionamento e agregações permitem alta escalabilidade. --- **d) é arquitetado apenas para um uso previsível, geralmente cobrindo os 10 relatórios mais acessados. — INCORRETA** Essa afirmação contradiz **um dos pilares do modelo dimensional de Kimball**: ➡ O DW deve permitir **análise ad hoc**, não apenas relatórios previsíveis. O modelo dimensional é **flexível**, permitindo explorar dados de formas não antecipadas. --- **e) pode integrar diversas fontes de dados operacionais da empresa, inclusive fontes externas. — CORRETA** Sim, por meio do processo ETL/ELT com dimensões conformadas. --- ✅ **Resposta: D**
795
13. (CEBRASPE/CNMP/2023) A respeito de data warehouse e data mining, julgue o próximo item. Em data warehouse, o conceito de granularidade refere-se ao nível de detalhe ou resumo existente em uma unidade de dados, de forma que, quanto mais detalhes, mais alto o nível de granularidade.
✔ **Gabarito: Errado** --- 📌 **Data Warehouse (Armazém de Dados)** É um **depósito de dados** com as seguintes características clássicas definidas por *Bill Inmon*: 1. **Orientado por assunto** 2. **Integrado** 3. **Não volátil** 4. **Variável com o tempo (time-variant)** Seu objetivo é **apoiar decisões gerenciais**, não operações do dia a dia. --- 📌 **OLAP (Online Analytical Processing)** Tecnologia usada para organizar e analisar grandes volumes de dados com **desempenho e flexibilidade**, permitindo: * Explorar dados em diferentes níveis de detalhe * Navegar por hierarquias * Gerar análises complexas rapidamente Os principais recursos OLAP incluem operações como: **Drill-down, Roll-up, Slice, Dice, Pivot/Rotate**. --- 📌 **Granularidade em Data Warehouse** * **Granularidade** = nível de detalhe do dado. * **Mais detalhado = menor granularidade** * **Menos detalhado = maior granularidade** Isto é o contrário do que muitos imaginam. Por isso a questão está **errada**. --- 🔎 **Drill Down e Roll Up** ➥ **DRILL DOWN (do nível alto → baixo)** * Aumenta o detalhamento * Diminui a granularidade * Vai do geral para o específico * Ex.: **Ano → Mês → Dia** ➥ **ROLL UP (do nível baixo → alto)** * Reduz o detalhamento * Aumenta a granularidade * Agrega dados * Ex.: **Dia → Mês → Ano**
796
14. (FCC/MPE PB/2023) Um Data Warehouse a) de duas camadas divide as fontes de dados tangíveis em dois segmentos: os dados transacionais, utilizados unicamente por ferramentas analíticas, e os dados operacionais, utilizados exclusivamente por ferramentas de Data Mining. b) trabalha com metadados, que definem níveis de acesso que permitem aos usuários transferir dados, sendo também usados para dividir as informações por departamento ou dentro de visões necessárias para os diferentes usuários. c) cujo schema é baseado no modelo Star, permite a decomposição de uma ou mais dimensões que possuem hierarquias, sendo o mais utilizado por ser de baixa complexidade. d) oferece consultas com nível de granularidade da tabela fato variável, de forma que quanto maior a granularidade, maior o nível de detalhamento e quanto menor a granularidade, menor o nível de detalhamento da informação. e) possui como característica a não volatilidade, ou seja, os dados ficam disponíveis para consulta, não sendo estes alterados quando novas informações são carregadas.
Vamos analisar as alternativas: **a) Errada** Data Warehouse de duas camadas não divide dados transacionais e operacionais dessa forma. O modelo *2-tier* refere-se à arquitetura **cliente → servidor**, onde o DW é acessado diretamente pelas ferramentas analíticas. Nada a ver com "dados tangíveis" nem divisão para Data Mining. --- **b) Errada** Metadados não servem para transferir dados nem para dividir informações por departamentos. Eles servem para **descrever estruturas, regras, origem, transformações e significado dos dados**. --- **c) Errada** O **modelo Star** realmente é o mais comum e tem baixa complexidade. Porém a decomposição de dimensões com hierarquias ocorre no **modelo Snowflake**, não no Star. Logo, a assertiva mistura conceitos. --- **d) Errada** A alternativa inverte o conceito de granularidade. No DW: * **Maior granularidade = MENOS detalhe (grão grande)** * **Menor granularidade = MAIS detalhe (grão pequeno)** A questão diz o contrário → **errada**. --- **e) ✔ CORRETA** O Data Warehouse é **não volátil**, ou seja: * Dados **não são alterados** por UPDATE/DELETE. * Novos dados são **acrescentados**, preservando o histórico. * Focado em leitura e análise. --- ✅ **Gabarito: letra E**
797
Uma empresa necessita estruturar, melhorar e utilizar cada vez mais recursos, a fim de gerar inteligência para o seu negócio. Nesse sentido, foi desenvolvido o esquema a seguir, a ser utilizado como uma visão dos elementos do seu respectivo data warehouse, que apoiará a inteligência do negócio. 17. (CEBRASPE/FUNPRESP/2022) Dados que são armazenados na área representada pela coluna 2 não podem sofrer nenhum tipo de modificação, ou seja, devem permanecer sem nenhum tipo de alteração ou ajuste.
A afirmação é **ERRADA**. ✔ Interpretação da figura Pelo esquema mostrado: * **Coluna 1** → Fontes de dados (sistemas operacionais). * **Coluna 2** → **Staging Area** (área de preparação / área de staging). * **Coluna 3** → Data Warehouse central / área integrada. * **Coluna 4** → Data Marts / camadas de acesso. ✔ Por que a afirmação está errada? A **Staging Area (coluna 2)** é justamente o local onde: * os dados **podem e devem ser modificados**, * são **limpos**, * **tratados**, * **ajustados**, * **padronizados**, * **validados**, * transformados antes de serem carregados no DW (coluna 3). Ela **não** exige imutabilidade. Quem é **não volátil** (isto é, não sofre alterações) é o **Data Warehouse** — não a área de staging. ✅ **Gabarito: ERRADO**
798
Uma empresa necessita estruturar, melhorar e utilizar cada vez mais recursos, a fim de gerar inteligência para o seu negócio. Nesse sentido, foi desenvolvido o esquema a seguir, a ser utilizado como uma visão dos elementos do seu respectivo data warehouse, que apoiará a inteligência do negócio. 18. (CEBRASPE/FUNPREP/2022) A área representada pela coluna 2 é alimentada com dados obtidos da coluna 1; ela é uma área acessível aos usuários para efetuarem suas consultas.
A afirmação é **ERRADA**. ✔ Interpretação da figura * **Coluna 1** → Fontes de dados. * **Coluna 2** → **Staging Area** (área de preparação). * **Coluna 3** → Data Warehouse. * **Coluna 4** → Área de acesso / Data Marts. ✔ Por que a afirmação está errada? A **Staging Area (coluna 2)**: * **não é acessível aos usuários**, * **não é usada para consultas**, * é uma área **temporária**, intermediária, utilizada apenas por processos de **ETL** para armazenar dados extraídos antes da transformação e carga no data warehouse. Apenas as camadas de **consulta** (DW e Data Marts — colunas 3 e 4) são acessadas pelos usuários. ✅ **Gabarito: ERRADO**
799
19. (CEBRASPE/BNB/2022) Julgue o item a seguir, a respeito do conceito de data lake. O termo data lake é usado para se referir a uma arquitetura em que os dados são armazenados em vários sistemas de armazenamento de dados e em diferentes formatos, inclusive em sistemas de arquivos, mas podem ser consultados em um único sistema.
A afirmativa está **CORRETA**. ✔ Explicação Um **data lake** é um grande repositório que armazena dados de diversas fontes, em diversos formatos, tais como: * Dados estruturados (tabelas, CSV) * Dados semiestruturados (JSON, XML) * Dados não estruturados (imagens, vídeos, logs, documentos) * Dados armazenados em sistemas de arquivos distribuídos (ex.: HDFS, S3) Apesar de os dados ficarem **fisicamente espalhados em múltiplos sistemas e formatos**, a arquitetura de data lake permite que eles sejam: * **consultados a partir de uma única camada lógica**, * usando motores como **Hive, Presto, Spark, Impala**, etc. Essa visão unificada de consulta é exatamente o que a questão descreve. ✅ **Gabarito: CERTO**
800
20. (CEBRASPE/TCE RJ/2021) A respeito de bancos de dados relacionais e de modelagem dimensional, julgue o item subsequente. A construção de um data mart antecede a criação de um data warehouse.
A afirmativa está **ERRADA**. ✔ Explicação Existem **duas abordagens clássicas** para construção de sistemas analíticos: --- **1. Top-Down (Inmon)** * Primeiro constrói-se o **Data Warehouse corporativo**, integrado e normalizado. * Depois derivam-se **data marts** departamentais. ➡ **Data warehouse vem antes.** --- **2. Bottom-Up (Kimball)** * Primeiro constroem-se **data marts dimensionais**, voltados a áreas específicas. * Depois esses data marts são integrados para formar um **data warehouse corporativo**. ➡ Aqui, **data mart vem antes**. --- ✔ E qual abordagem a banca normalmente considera? O **CEBRASPE** adota como referência **Bill Inmon**, considerado o “pai do data warehouse”. No modelo **Inmon**, a construção é: > **DW → Data Marts** Por isso, segundo o entendimento mais cobrado, **não é correto afirmar que um data mart antecede a criação de um data warehouse**. --- ✅ **Gabarito: ERRADO**
801
21. (CEBRASPE/MPE AP/2021) Tecnologias que recuperam dados de muitas fontes, limpando-os e carregando-os em data warehouse, e que fazem parte de qualquer projeto centrado em dados denominam-se a) Depósitos de Dados Operacionais (ODS). b) ETL (Extract, Transform and Load). c) BPM (Business Performance Management). d) OLTP (online transaction processing). e) KPI (Key Performance Indicators).
A alternativa correta é: ✅ **b) ETL (Extract, Transform and Load).** ✔ Explicação O processo **ETL** é justamente o responsável por: * **Extrair** dados de múltiplas fontes (bases transacionais, arquivos, APIs etc.); * **Transformar** (limpar, padronizar, validar, consolidar, tratar inconsistências); * **Carregar** os dados no **data warehouse**. Por isso é a tecnologia fundamental em qualquer projeto analítico ou de BI. ❌ Por que as outras estão erradas? * **a) ODS** – É um repositório intermediário, não uma tecnologia de extração/transformação. * **c) BPM** – Gestão de desempenho organizacional, não relacionado diretamente ao carregamento de dados. * **d) OLTP** – Sistemas transacionais do dia a dia, não fazem integração e carga para DW. * **e) KPI** – Indicadores de desempenho, não processos de integração de dados. --- 🎯 **Gabarito: B**
802
22. (CEBRASPE/SEFAZ CE/2021) Julgue o próximo item, relativo ao business intelligence. Um data warehouse (DW), ainda que seja não volátil — ou seja, após os dados serem inseridos nele os usuários não podem alterá-los — é variável no tempo, pois mantém um conjunto de dados históricos que oferecem suporte à tomada de decisões.
Perfeito! É justamente isso que quer dizer a não volatilidade e a variância no tempo de um DW. O dado em si não é atualizado, mas são feitas novas inserções com esse mesmo dado com valores diferentes, criando um contexto histórico para o mesmo. Gabarito: Certo
803
23. (CEBRASPE/FUNPRESP/2022) A respeito de modelagem dimensional e data marts, julgue o item subsecutivo. Na modelagem dimensional, data marts devem ser criados e utilizados para dados de resumo.
Data Marts usualmente são criados para separar os dados por áreas do negócio, como setores, fábricas etc. Não existe essa relação entre data marts e dados de resumo. Gabarito: Errado
804
24. (CEBRASPE/PETROBRAS/2022) Quanto aos conceitos relativos à arquitetura de dados, julgue o item a seguir. Data lakes são grandes armazenadores de informações, vindas de diversas fontes, na qual diversos usuários podem ter acesso para fazer a análise e coletar insights importantes para o negócio.
Perfeito! Essa é a caracterização correta dos Data Lakes. Perceba que, apesar de a coleta de insights importantes usualmente estar mais aliada ao Data Warehouse, nada impede que a mesma seja feita nos Data Lakes. Gabarito: Certo
805
25. (CEBRASPE/TC DF/2023) No que se refere a Big Data, data lake, business intelligence e data warehousing, julgue o item seguinte. Business intelligence é uma técnica utilizada para organizar dados em tabelas relacionadas a fatos e ocorrências, para otimizar as transações de inclusão.
A afirmação está **❌ ERRADA**. ✔ **Explicação** **Business Intelligence (BI)** não é uma técnica voltada para **otimizar transações de inclusão** de dados. Isso seria característica de **bancos OLTP** (Online Transaction Processing), usados para operações do dia a dia. BI é um **conjunto de processos, metodologias e ferramentas** voltado para: * análise de dados, * criação de relatórios, * dashboards, * apoio à decisão. Trabalha majoritariamente com dados **históricos**, muitas vezes originados de Data Warehouses, e é voltado para **consulta e análise**, não para inclusão transacional. 📌 Resumo * ✔ OLTP → otimiza inserções e atualizações. * ✔ OLAP/BI → otimiza consultas analíticas e decisões. * ❌ BI **não** serve para otimizar transações de inclusão. --- **Gabarito: ERRADO**
806
26. (CESGRANRIO/IPEA/2024) O processo de ingestão de dados é normalmente dividido em três etapas principais: 1 - Extração, ou coleta, de dados das fontes disponíveis; 2 - Transformação dos dados coletados para que atendam às necessidades específicas de processamento e análise; e 3 - Carga dos dados em algum repositório de destino, como um banco de dados relacional ou um data lake. Essas três etapas podem variar dependendo de os dados serem estruturados ou não. Nesse contexto, verifica-se que, na etapa de a) carga, os dados estruturados são sempre transferidos diretamente ao repositório de destino, sem necessidade de transformação. b) carga, os dados não estruturados são sempre convertidos em formatos estruturados antes de serem armazenados. c) extração, os dados estruturados são coletados exclusivamente através de APIs especializadas. d) transformação, os dados estruturados podem requerer conversão para um formato não estruturado para facilitar a análise avançada. e) transformação, os dados não estruturados podem necessitar de processamento de linguagem natural ou de técnicas de reconhecimento de imagens.
A alternativa correta é **E**. Vamos analisar: ✔ **Alternativa E — Correta** > **“na etapa de transformação, os dados não estruturados podem necessitar de processamento de linguagem natural ou de técnicas de reconhecimento de imagens.”** Exatamente: Dados não estruturados (texto, imagens, áudio, vídeo) **precisam ser pré-processados** durante a transformação. Técnicas comuns: * NLP (Processamento de Linguagem Natural) para texto. * OCR e visão computacional para imagens. * Reconhecimento de fala para áudio. Isso transforma dados brutos em algo analisável ou estruturado. --- ❌ Análise das demais alternativas **a)** Errada Dados estruturados *geralmente* passam por transformações (limpeza, padronização, deduplicação). Não são sempre carregados diretamente. **b)** Errada Um *data lake* justamente permite armazenar dados **não estruturados como estão**. Não há obrigatoriedade de conversão para formato estruturado. **c)** Errada Extração não ocorre exclusivamente via API. Pode usar csv, banco relacional, logs, web scraping, conectores, etc. **d)** Errada É raro e contraintuitivo converter dados **estruturados → não estruturados**. A análise avançada normalmente exige mais estrutura, não menos. --- ✅ **Gabarito: E**
807
27. (CONSULPLAN/SEGER ES/2023) Os processos ELT (Extract, Load, Transform) e ETL (Extract, Transform, Load) lidam com tratamento de dados através da integração de dados de diversas fontes. Sobre os processos ELT e ETL, assinale a afirmativa correta. a) Assim como no ETL, também para o ELT é na etapa “transformação” que há agregação de valor. b) ETL é usado especificamente em Data Lake (DL), enquanto o ELT é usado em Data Warehouse (DW). c) Na abordagem ELT, a transformação é a única etapa automática, ou seja, não é realizada sob demanda. d) No ELT, o mesmo artefato responsável pela extração não se encarrega da carga dos dados no destino, já que as etapas de Extração e Carga (EL) são distintas. e) Via de regra, sistemas de ETL são pequenos e simples e não demandam grande esforço, tempo e conhecimentos especializados, para construção e manutenção.
A alternativa correta é **A**. Vamos analisar: --- ✔ **A) Correta** > **“Assim como no ETL, também para o ELT é na etapa ‘transformação’ que há agregação de valor.”** Sim. Tanto no **ETL** quanto no **ELT**, é a **transformação** que agrega valor aos dados: * limpeza * padronização * enriquecimento * junções * agregações * derivação de métricas A diferença entre ETL e ELT é **onde** a transformação ocorre: * **ETL** → transforma **antes de carregar** (em engine específica) * **ELT** → transforma **depois de carregar** (usando poder computacional do DW ou Data Lake) Mas em ambos, **o valor é criado na etapa de transformação**. --- ❌ Análise das demais alternativas **b)** Errada O padrão é o contrário: * **ETL** → tradicional em **Data Warehouse** * **ELT** → comum em **Data Lakes** e DWs modernos na nuvem (Snowflake, BigQuery, Redshift) **c)** Errada No ELT, a transformação ocorre **no destino**, mas não é “única automática”. Pode ser sob demanda, agendada, ou manual. **d)** Errada No ELT, o mesmo pipeline ou ferramenta pode sim cuidar das etapas **EL**. A frase tenta insinuar separação obrigatória, o que não é verdadeiro. **e)** Errada Sistemas ETL são **grandes, complexos e exigem especialistas**. Demandam esforço, tempo e governança. --- ✅ **Gabarito: A**
808
28. (CESGRANRIO/IPEA/2024) Existem várias abordagens para a ingestão de dados, sendo cada uma delas adequada para determinado tipo de necessidade e de cenário. No caso da ingestão de dados em tempo real, streaming, os dados são a) coletados e processados em intervalos regulares, por exemplo, diariamente ou semanalmente. b) capturados e processados continuamente à medida que são gerados. c) processados em pequenos lotes, com o processamento ocorrendo em intervalos curtos, mas não instantâneos. d) processados apenas após um evento específico ser acionado, como, por exemplo, uma transação em banco de dados ou um clique de usuário. e) armazenados em um data lake ou data warehouse, antes de qualquer forma de processamento ou de análise.
Podemos ter duas formas de ingestão de dados num Data Warehouse: * Em lotes (batches): a ingestão ocorre periodicamente, em intervalos definidos, com uma quantidade alta de dados de cada vez. * Em fluxo, ou tempo real: a ingestão é constante, e os dados são capturados, processados e inseridos assim que forem gerados. A questão cobra conhecimentos acerca do processamento em tempo real e, a alternativa que melhor o descreve, é a letra B. Quanto às demais: a) Errado. Descreve o carregamento em lotes. b) Certo. É o nosso gabarito. c) Errado. Descreve o que chamamos de mini-batches, ou mini lotes. d) Errado. Esse é um tipo de ingestão baseado em eventos, pouco usado. e) Errado. Até podemos ter um dado armazenado num Data Lake ou Data Warehouse antes da ingestão, mas não é esse o objetivo da ingestão em fluxo. Gabarito: Letra B
809
29. (FGV/TJ RN/2023) A gestão do TJRN é apoiada por sistemas de informações digitais que estão em produção há mais de dez anos abrangendo diversos contextos, como gestão de pessoal, gestão orçamentária, pedidos de serviço, controle de viaturas etc. Para apoiar a tomada de decisão de alto nível do Tribunal, é necessário o desenvolvimento de um banco de dados analítico que seja orientado a assunto, não volátil e histórico, integrando dados estruturados dos diversos sistemas e contextos. O banco de dados a ser desenvolvido é um Data: a) Lake; b) Mart; c) Graph; d) Mining; e) Warehouse.
A resposta correta é **E) Warehouse**. ✔ Justificativa O enunciado descreve claramente as características de um **Data Warehouse**: * **Orientado a assunto** * **Integrado** * **Não volátil** * **Histórico** * **Usado para apoiar a tomada de decisão** Essas são exatamente as quatro características clássicas de Inmon. ❌ Análise das alternativas incorretas: * **a) Lake** — Data Lake armazena dados brutos, estruturados e não estruturados; não se encaixa na descrição. * **b) Mart** — Data Mart atende a um único departamento; o enunciado pede algo amplo, para alto nível. * **c) Graph** — Banco de grafo é um tipo de NoSQL para relacionamentos complexos. * **d) Mining** — Data Mining é processo de descoberta de padrões, não um repositório de dados. --- ✅ **Gabarito: E**
810
30. (CEBRASPE/MCOM/2022) Julgue o item a seguir, a respeito de ETL, ELT e data lake. O processo ETL (extrair, transformar e carregar) permite analisar grandes volumes de dados de forma rápida; para isso, é necessário duplicar o espaço em disco e triplicar o tempo no carregamento e na transformação de dados em relação ao ELT (extrair, carregar e transformar), que compacta os dados no carregamento.
**Gabarito: ERRADO.** ✔ Explicação A afirmação apresenta **vários erros conceituais** sobre ETL e ELT: ❌ **1. ETL não exige "duplicar espaço" nem "triplicar o tempo" em relação ao ELT** Isso **não é uma regra**, nem aparece em literatura técnica. O ETL pode ser mais lento porque transforma os dados **antes** de carregar, mas não existe essa proporção (2x espaço, 3x tempo). ❌ **2. ELT não "compacta os dados no carregamento"** ELT significa: * Extrair * **Carregar primeiro** * Transformar no destino O ganho de performance ocorre porque a transformação usa o **poder computacional do próprio banco** (ex.: BigQuery, Snowflake), não porque compacta dados automaticamente. ❌ **3. Ambos podem lidar com grandes volumes** A diferença é **onde ocorre a transformação**, não necessariamente quem é “mais rápido” por definição. * ETL → transforma antes de carregar * ELT → transforma depois de carregar ELT geralmente é melhor para Big Data **porque usa engines massivamente paralelas**, mas não pelas razões alegadas na questão. --- ✔ Conclusão A frase contém **informações falsas e generalizações indevidas** → portanto, o item está **ERRADO**.
811
01. (CEBRASPE/CNPq/2024) Acerca de técnicas de modelagem de BI (business intelligence), de big data e de linguagem de manipulação de dados (DML), julgue o item que se segue. As tabelas de dimensão na modelagem para BI são estruturas de dados com informações agregadas e medidas específicas.
**Gabarito: ERRADO.** ✔ Explicação Na modelagem dimensional (Kimball), usada em BI: * **Tabelas de Fato** → possuem **medidas numéricas**, valores agregáveis (somar, contar, média etc.). * **Tabelas de Dimensão** → possuem **atributos descritivos**, como: * nome do cliente * produto * data * região * categoria As dimensões **não** armazenam medidas, e **não** são agregações. Elas descrevem o **contexto** dos fatos. ⛔ Portanto, afirmar que dimensões "têm informações agregadas e medidas específicas" está **incorreto**, pois isso descreve **tabelas fato**, não dimensões. ✔ **Resposta: ERRADO.**
812
02. (FGV/PREF. BH/2024) O modelo multidimensional é composto por diversos elementos, por exemplo, dimensões, chaves, medidas e tabelas de fatos. As tabelas de fatos podem ser do tipo a) star e snowflake. b) mutivalorate dataset e surrogate. c) uncommited dataset, snapshot e dynamic dataset. d) transaction, periodic snapshot e accumulating snapshot.
**Gabarito: d) transaction, periodic snapshot e accumulating snapshot.** ✔ Explicação No modelo dimensional de Kimball, existem **três tipos clássicos de tabelas fato**: 1. **Transaction Fact Table** * Registra eventos à medida que acontecem. * Ex.: uma venda, um pedido, uma chamada no call center. 2. **Periodic Snapshot Fact Table** * Registra o estado de um processo em intervalos regulares. * Ex.: vendas diárias, estoque mensal. 3. **Accumulating Snapshot Fact Table** * Acompanha processos com etapas definidas e início/fim conhecidos. * Ex.: processo de pedido, processo de empréstimo. As demais alternativas não correspondem a tipos de tabelas de fato.
813
03. (CEBRASP/INPI/2024) Julgue o seguinte item, relacionados a modelagem de dados. Em uma modelagem dimensional, os elementos tabelas fato (para os dados que são métricas) e tabelas dimensões (para os dados descritivos) são opcionais, por exemplo, em um data warehouse.
**Gabarito: ERRADO.** ✔ Explicação Na **modelagem dimensional**, usada em **Data Warehouses**, os dois elementos centrais e obrigatórios são: * **Tabelas Fato** → armazenam as **métricas**, medidas numéricas e quantitativas. * **Tabelas Dimensão** → armazenam os **atributos descritivos** que dão contexto às medidas. Esses dois componentes **não são opcionais** — são justamente a base do modelo estrela (star schema) e floco de neve (snowflake). Sem tabela fato e sem tabela dimensão, **não existe modelagem dimensional**. Portanto, a afirmativa é **errada**.
814
04. (CEBRASPE/SEPLAN RR/2023) Julgue o próximo item a respeito do conceito de data warehousing. O esquema em estrela é uma abordagem adotada por data warehouses relacionais e composta por tabela de fatos, várias tabelas de dimensão e chaves estrangeiras da tabela de fatos para as tabelas de dimensão.
**Gabarito: CERTO.** ✔ Explicação O **esquema em estrela (star schema)** é o modelo dimensional mais utilizado em **Data Warehousing**, e suas características são exatamente: * Uma **tabela fato** central — contendo **medidas numéricas** e as **chaves estrangeiras**. * Diversas **tabelas dimensão** — contendo atributos descritivos. * A tabela fato se conecta a cada dimensão por meio de **chaves estrangeiras**. Esse formato cria o desenho de uma "estrela" e é amplamente usado em **data warehouses relacionais**. Portanto, a afirmativa está **correta**.
815
05. (FGV/CGE SC/2023) Uma rede de lojas de departamentos planeja configurar uma tabela de fato (VENDAS) que favoreça a integridade para análise de vendas no mesmo carrinho (na mesma transação de venda, tal qual a associação conhecida entre fralda e cerveja). A tabela de fato possui os seguintes atributos: ChaveCalendário(FK), ChaveLoja(FK), ChaveProduto(FK), ChaveCliente(FK), IDTransação, HoraMinVenda, ReaisVendidos e QuantidadeVendida. Assinale a opção que indica o(s) atributo(s) que deve(m) ser a chave primária da tabela de fato VENDAS. a) Apenas IDTransação. b) Apenas ChaveProduto. c) Chave composta por ChaveProduto e IDTransação. d) Chave composta por ChaveCliente e IDTransação. e) IDTransação, ChaveProduto e ChaveCliente.
✔ **Gabarito: C) Chave composta por ChaveProduto e IDTransação.** 📌 **Explicação clara e objetiva** A tabela fato **VENDAS** quer garantir integridade para análises de *itens dentro do mesmo carrinho*, ou seja, **itens da mesma transação**. * **IDTransação** identifica o *carrinho* (a venda). * Como várias linhas podem pertencer à mesma transação (vários produtos no mesmo carrinho), **IDTransação sozinho não pode ser chave primária**. Para diferenciar cada item dentro da mesma transação, é necessário incluir também o **produto**. 🔑 **Assim, a chave natural da tabela fato será composta por:** * **IDTransação** → identifica o carrinho * **ChaveProduto** → identifica o item dentro do carrinho Essa combinação garante que: * uma mesma transação possa ter vários produtos; * não ocorra duplicidade do mesmo produto na mesma transação; * análises como "produtos comprados juntos" funcionem perfeitamente. ✔ **Portanto, a chave primária correta é (IDTransação + ChaveProduto).**
816
06. (CEBRASPE/DP DF/2022) Julgue o item subsecutivo, a respeito da modelagem de bases de dados multidimensionais. Em um cubo de dados, os dados são visualizados em somente uma dimensão.
❌ **Gabarito: Errado** 📌 **Explicação** No modelo multidimensional (OLAP), os dados são organizados em **múltiplas dimensões**, formando o que chamamos de **cubo de dados**. * Um **cubo** é composto por **3 ou mais dimensões** (tempo, produto, região, cliente, etc.). * Ele permite análises cruzadas entre essas dimensões, como: * vendas por **produto** ao longo do **tempo** em determinada **região**. Portanto, afirmar que os dados são visualizados em **somente uma dimensão** está incorreto.
817
07. (FGV/SEFAZ AM/2022) Assinale a opção que apresenta os tipos de métricas presentes nas tabelas Fato utilizadas em modelos multidimensionais. a) Cubo e hipercubo. b) Estrela e floco de neve. c) Boolena, numérica e string. d) Aditiva, não aditiva e semiaditiva. e) Chave surrogate, dimensão e hierarquia.
A questão trata das **tabelas fato em modelos multidimensionais** (Data Warehouse / OLAP) e os **tipos de métricas** que elas contêm. Vamos analisar com cuidado: * **Tabelas fato** armazenam **medidas/indicadores** que serão analisados nas dimensões. * Essas medidas podem ser **numéricas**, mas do ponto de vista de análise multidimensional, elas são classificadas pelo tipo de agregação que suportam: 1. **Aditiva** – pode ser somada através de todas as dimensões (ex.: quantidade vendida, receita total). 2. **Semiaditiva** – pode ser agregada apenas em algumas dimensões, mas não em todas (ex.: saldo de conta bancária ao longo do tempo). 3. **Não aditiva** – não pode ser agregada (ex.: taxa de retorno, percentual). Agora, conferindo as alternativas: * a) **Cubo e hipercubo** → conceitos de OLAP, não tipos de métricas. ❌ * b) **Estrela e floco de neve** → tipos de esquema, não métricas. ❌ * c) **Boolena, numérica e string** → tipos de dados, não métricas do ponto de vista multidimensional. ❌ * d) **Aditiva, não aditiva e semiaditiva** → ✅ corresponde exatamente à classificação de métricas. * e) **Chave surrogate, dimensão e hierarquia** → conceitos de modelagem, não métricas. ❌ ✅ **Resposta correta: d) Aditiva, não aditiva e semiaditiva**.
818
08. (CEBRASPE/FUB/2022) Julgue o item subsecutivo, referentes a técnicas de otimização de consultas SQL e a técnicas de modelagem multidimensional. Apesar de poupar espaço de armazenamento, a modelagem snowflake é contraindicada para consultas com alta demanda de processamento em razão do seu potencial para impactar negativamente os tempos de resposta das consultas.
Vamos analisar com atenção: A questão fala sobre **modelagem snowflake (floco de neve)** e seu impacto em consultas: * **Snowflake**: esquema multidimensional onde **dimensões são normalizadas**, ou seja, divididas em várias tabelas relacionadas. * Vantagem: **poupa espaço**, evita redundância de dados. * Desvantagem: **aumenta a complexidade das consultas**, pois é necessário fazer **mais joins** entre tabelas, o que **pode impactar negativamente o tempo de resposta**, especialmente em consultas OLAP com grande volume de dados. Portanto, a afirmação: *"Apesar de poupar espaço de armazenamento, a modelagem snowflake é contraindicada para consultas com alta demanda de processamento em razão do seu potencial para impactar negativamente os tempos de resposta das consultas."* ✅ **Está correta**.
819
09. (FGV/TJDFT/2022) Ana foi contratada para desenvolver uma solução de Business Intelligence para a Justiça. Um dos requisitos analíticos é a quantidade de processos novos (QtdProcessosNovos) criados por Tribunal por trimestre ao longo dos anos. Para atender ao requisito analítico, Ana deve usar o modelo multidimensional:
Bom, vamos analisar o que a questão quer: * Criar um modelo dimensional que analise a quantidade de processos novos * Essa medição deve comportar a granularidade em trimestre e anos Então, já temos a nossa tabela fato, que é a quantidade de processos. A quantidade de processos será dada em função do tempo, e de cada tribunal que será analisado – portanto, nossas tabelas dimensão serão dimensão Tribunal e dimensão Tempo. Com isso, nos restam as afirmativas a, b e e. A afirmativa a tem uma impropriedade – ela aloca a métrica na tabela dimensão, enquanto essa deveria estar na tabela fato. A afirmativa e não apresenta a granularidade em trimestres, como demanda o nosso enunciado. Sendo assim, ficamos com a alternativa b, que será nossa resposta. Gabarito: Letra B
820
10. (FGV/TJDFT/2022) Observe o seguinte recorte de um relatório extraído do DataJud e um recorte do respectivo modelo multidimensional. Quando a relação de hierarquia entre atributos de uma tabela dimensão é normalizada, os atributos de baixa cardinalidade são migrados para outra tabela, como exemplo: UF e Município. Quando esse processo é repetido nas hierarquias de todas as dimensões de um modelo multidimensional, é criada a estrutura: a) CRISP-DM; b) Star Schema; c) Drill Throught; d) Snowflake Schema; e) Fact Constellation.
Vamos analisar com cuidado: A questão fala sobre **normalização de hierarquias em tabelas dimensão**: * Quando você **normaliza atributos de baixa cardinalidade** (como UF e Município), **divide a dimensão em várias tabelas relacionadas**. * Quando isso é feito em todas as dimensões de um modelo multidimensional, **a estrutura resultante é chamada de Snowflake Schema (esquema floco de neve)**. Comparando com as alternativas: * a) **CRISP-DM** → é uma metodologia de mineração de dados, não um esquema de modelagem. ❌ * b) **Star Schema** → dimensões **desnormalizadas**, não é o caso. ❌ * c) **Drill Through** → operação de detalhamento de dados, não esquema. ❌ * d) **Snowflake Schema** → ✅ corresponde exatamente à descrição. * e) **Fact Constellation** → esquema com várias tabelas fato compartilhando dimensões, diferente do que foi descrito. ❌ ✅ **Resposta correta: d) Snowflake Schema**.
821
11. (CEBRASPE/MP TCE-SC/2022) A característica principal da modelagem dimensional é a simplicidade e o seu foco é o cruzamento de variáveis.
Vamos analisar a afirmação com cuidado: * **Modelagem dimensional** (usada em Data Warehouses e OLAP) tem como foco **facilitar a análise de dados**. * Ela organiza os dados em **tabelas fato** (medidas) e **tabelas dimensão** (atributos descritivos). * A ideia central é **simplificar o acesso e o cruzamento de variáveis** para análises, relatórios e consultas. Portanto, a afirmação: *"A característica principal da modelagem dimensional é a simplicidade e o seu foco é o cruzamento de variáveis."* ✅ **Está correta**.
822
12. (CEBRASPE/ISS ARACAJU/2021) A metodologia de modelagem dimensional em que uma tabela fato está a pelo menos duas tabelas de dimensão é denominada a) surrogate key. b) snowflake. c) star schema. d) metric scale. e) smallgrain.
Questão polêmica. Espero que você, assim como eu, tenha concluído que a questão fala do modelo snowflake – já que, ao interpretar o enunciado, é isso que entendemos.Porém, para a cebraspe e sua interpretação maluca, o enunciado está abordando o modelo star schema... essas bancas ainda matam o aluno. Gabarito oficial: Letra C Gabarito do professor: Letra B ---- Vamos analisar com atenção: A questão fala sobre **uma tabela fato ligada a pelo menos duas tabelas de dimensão**. * **Star Schema (Esquema Estrela)**: * Caracteriza-se por **uma tabela fato central** e **várias tabelas dimensão ligadas diretamente a ela**. * Cada dimensão fornece atributos para análise das medidas na tabela fato. * É justamente quando uma **tabela fato se relaciona com várias dimensões** que se forma o “esquema estrela”. Agora, conferindo as alternativas: * a) **surrogate key** → é uma chave substituta, usada para identificar registros, não um esquema. ❌ * b) **snowflake** → dimensões normalizadas, mas o critério da questão não é normalização. ❌ * c) **star schema** → ✅ corresponde à descrição. * d) **metric scale** → é um tipo de medida/métrica, não esquema. ❌ * e) **smallgrain** → refere-se à granularidade de dados, não esquema. ❌ ✅ **Resposta correta: c) Star Schema**.
823
13. (FCC/ALAP/2020) Duas definições de estruturas de dados estão determinadas para um projeto de datamart de uma loja de varejo: uma delas (tabela A) contém a data da venda, a identificação do produto vendido, a quantidade vendida do produto no dia e o valor total das vendas do produto no dia; a outra (tabela B) contém a identificação do produto, nome do produto, marca, modelo, unidade de medida de peso, largura, altura e profundidade da embalagem. Considerando os conceitos de modelagem multidimensional de data warehouse, as tabelas A e B são, respectivamente: a) Query e Réplica b) Fato e Dimensão c) Dimensão e Réplica d) Fato e ETL e) ETL e Query
Vamos analisar a questão com atenção: * **Tabela A**: contém **data da venda, identificação do produto, quantidade vendida e valor total**. * São **medidas (quantidade, valor)** e **chaves de ligação** com dimensões (produto, data). * Característica típica de uma **tabela fato**. ✅ * **Tabela B**: contém **atributos do produto** como nome, marca, modelo, dimensões físicas. * São **dados descritivos usados para analisar as medidas da tabela fato**. * Característica típica de uma **tabela dimensão**. ✅ Comparando com as alternativas: * a) Query e Réplica → ❌ não faz sentido aqui. * b) Fato e Dimensão → ✅ corresponde exatamente. * c) Dimensão e Réplica → ❌ invertido. * d) Fato e ETL → ❌ ETL não é tabela. * e) ETL e Query → ❌ também não. ✅ **Resposta correta: b) Fato e Dimensão**.
824
14. (FCC/SEFAZ BA/2019) Suponha que uma Auditora Fiscal da área de TI tenha proposto a seguinte modelagem multidimensional para a SEFAZ−BA: A modelagem multidimensional proposta a) é o resultado da decomposição de mais de uma dimensão que possui hierarquias entre seus membros, caracterizando o modelo snowflake, a partir de um fato central. b) tem como característica um fato central, a partir do qual estão dispostas as dimensões que dele participam, em um formato simétrico, característico do modelo star. c) parte de um elemento central, denominado pivot, a partir do qual são realizadas operações OLAP como roll up, em que busca-se aumentar o nível de detalhe ou diminuir a granularidade da consulta. d) possui um fato central, a partir do qual estão dispostas as dimensões que dele participam e seus membros, sob uma única estrutura hierárquica, facilitando a inclusão de dados por digitação nas tabelas do DW. e) não é um modelo normalizado, por isso evita a redundância de valores textuais em cada uma das tabelas, representadas pelas dimensões denominadas dimension tables.
A modelagem mostrada **tem várias dimensões “quebradas” em subdimensões**, por exemplo: * Dimensão Receitas → Dimensão Receitas de Impostos → Dimensão Receitas de Taxas * Dimensão Despesas → Dimensão Tipo de Despesa * Dimensão Cidade → Dimensão NF-e Isso **representa a normalização das dimensões**, ou seja, **uma dimensão sendo decomposta em outras tabelas ligadas por hierarquias** — exatamente a característica do **modelo snowflake**. ✔ **Alternativa correta: a)** > *“é o resultado da decomposição de mais de uma dimensão que possui hierarquias entre seus membros, caracterizando o modelo snowflake, a partir de um fato central.”* As demais opções não se aplicam porque: * **b)** descreveria um star schema (não há normalização de dimensões ali). * **c)** descreve operações OLAP, nada a ver com modelagem. * **d)** não existe “estrutura única hierárquica” para todas as dimensões. * **e)** está errada porque snowflake **é mais normalizado**, não menos.
825
15. (FGV/ALERJ/2017) Observe o seguinte Modelo Multidimensional de Dados. A técnica de modelagem multidimensional utilizada para normalizar a dimensão, movendo os campos de baixa cardinalidade para tabelas separadas e ligadas à tabela original através de chaves artificiais, é: a) Slowly Changing Dimension; b) Conformed Dimension; c) Degenerated Dimension; d) Snowflaked Dimension; e) Role-Playing Dimension.
A figura mostra claramente uma **dimensão Produto que foi normalizada**, dividida em várias tabelas menores: * Dimensão Produto → ligada a * Dimensão Marca → ligada a * Dimensão Categoria * Dimensão Tipo Pacote Ou seja, **uma dimensão foi “estourada” em subdimensões**, criando um formato *normalizado* ao invés de manter tudo em uma única dimensão desnormalizada. Isso caracteriza exatamente o conceito de **Snowflake Dimension** (*dimensão floco de neve*). ✔ **Resposta correta: d) Snowflaked Dimension** As outras opções não se aplicam: * **SCD (a)** trata de histórico. * **Conformed (b)** trata de dimensões compartilhadas entre fatos. * **Degenerated (c)** é dimensão sem tabela física (ex.: número de pedido). * **Role-playing (e)** é quando uma mesma dimensão aparece com vários papéis (ex.: Tempo como Data Venda, Data Entrega etc.).
826
16. (FCC/TCM-GO/2015) Quando o modelo de dados multidimensionais começa a ser definido, elementos básicos de representação precisam ter sido estabelecidos, de modo a se criar um padrão de modelagem. Considere um modelo em que as dimensões e fatos são representados em tabelas, podendo haver múltiplas dimensões e múltiplas tabelas de fatos. Ao modelar cada tabela ...I... devem ser considerados os seguintes pontos: − A chave primária é composta, sendo um elemento da chave para cada dimensão; − Cada elemento chave para a dimensão deve ser representado e descrito na tabela ..II.. correspondente (para efetuar a junção); − A dimensão tempo é sempre representada como parte da chave primária. Deve haver uma tabela ..III.. para cada dimensão do modelo, contendo − Uma chave artificial (ou gerada) genérica; − Uma coluna de descrição genérica para a dimensão; − Colunas que permitam ..IV.. ; − Um indicador nível que indica o nível da hierarquia a que se refere a linha da tabela. As lacunas de I a IV são corretas, e respectivamente, preenchidas com: a) dimensão − de fatos − de fatos − a junção com as tabelas de fatos. b) de fatos − de tempo − dimensão − sinalizar a presença de fatos para o período de tempo indicado na linha. c) de fatos − dimensão − dimensão − efetuar os filtros. d) de tempo − dimensão − de fatos − a junção com as tabelas de dimensão. e) dimensão − de fatos − de tempo − efetuar os filtros.
Vamos preencher as lacunas analisando a lógica da modelagem multidimensional. --- **Primeira parte do enunciado** > *“Ao modelar cada tabela ...I... devem ser considerados os seguintes pontos: > − A chave primária é composta, sendo um elemento da chave para cada **dimensão**.”* Isso descreve claramente uma **tabela de fatos**, pois: * Tabelas de fatos têm **chave composta**, formada pelas FKs das dimensões. ✔ **I = de fatos** --- **Próximo trecho** > *“Cada elemento chave para a dimensão deve ser representado e descrito na tabela ..II.. correspondente (para efetuar a junção).”* A tabela onde as dimensões são **representadas e descritas** é sempre a **tabela dimensão**. ✔ **II = dimensão** --- **Próximo trecho** > *“A dimensão tempo é sempre representada como parte da chave primária. Deve haver uma tabela ..III.. para cada dimensão do modelo”* Se há **uma tabela para cada dimensão**, estamos falando da **tabela dimensão**. ✔ **III = dimensão** --- **Último trecho** > *“Colunas que permitam ..IV.. ; > − Um indicador nível que indica o nível da hierarquia a que se refere a linha da tabela.”* Colunas adicionais na dimensão servem principalmente para: * filtrar, * restringir, * selecionar valores hierárquicos. Ou seja, são colunas para **efetuar filtros nas consultas OLAP**. ✔ **IV = efetuar os filtros** --- **Resposta Final** ✔ **Alternativa C** > **c) de fatos − dimensão − dimensão − efetuar os filtros.**
827
17. (FGV/CGE SC/2023) Uma rede de lojas de departamentos usa o modelo dimensional estrela conforme o seguinte diagrama: Observando o aumento na quantidade de reclamações dos clientes nas lojas, os analistas de BI resolveram incluir as informações analiticamente úteis da base de reclamações no Data Warehouse. Para que a criação da constelação de fatos (também chamada de galáxia) contemple o fato RECLAMAÇÃO, os analistas devem adicionar a) uma tabela de fato RECLAMAÇÕES, contendo apenas um atributo descritivo, sem a necessidade de conectar a qualquer dimensão. b) uma tabela de fato RECLAMAÇÕES, contendo um atributo descritivo e três chaves estrangeiras, uma para cada uma das dimensões existentes. c) uma tabela de fato RECLAMAÇÕES, contendo um atributo descritivo e três atributos que receberão os valores das chaves estrangeiras de Loja, Cliente e RegistroReclamação diretamente do banco de dados operacional. d) três tabelas de dimensão (CalendárioReclamação, ClienteReclamação e LojaReclamação) mais uma tabela de fato RECLAMAÇÕES, contendo um atributo descritivo e três chaves estrangeiras, uma para cada uma das dimensões recém-criadas. e) E duas tabelas de dimensão (ClienteReclamação e LojaReclamação) mais uma tabela de fato RECLAMAÇÕES, contendo um atributo descritivo e três chaves estrangeiras, duas para cada uma das dimensões recém-criadas e uma para referenciar o registro da reclamação diretamente do banco de dados operacional.
Vamos analisar cada alternativa com base no esquema apresentado. a) Errado. Uma tabela fato sempre vai ser ligada a alguma dimensão, caso contrário não haverá dados. b) Certo. Se incluirmos uma tabela fato das reclamações, devemos ligá-la às três tabelas de dimensão existente, através de chaves estrangeiras. c) Errado. Não temos ligação direta com o banco de dados operacional. d) Errado. Essas dimensões já existem, não há necessidade de duplicá-las. e) Errado. Vide letra D. Gabarito: Letra B
828
18. (VUNESP/PREF. MARÍLIA/2023) Considere o seguinte modelo multidimensional de dados, normalmente utilizado no projeto de um data warehouse, composto por tabelas dimensão e fato: Por esse modelo, pode-se afirmar que a) há três tabelas fato. b) há três tabelas dimensão. c) há quatro tabelas dimensão. d) não há tabelas fato. e) não há tabelas dimensão.
No modelo apresentado, temos uma tabela fato central, a tabela Vendas, e 3 tabelas dimensão, periféricas - Fabricante, Produto e Data. Portanto, a única alternativa que apresenta a definição correta é a letra B. Gabarito: Letra B
829
19. (VUNESP/ISS SP/2023) A modelagem multidimensional de dados é frequentemente utilizada para o projeto e a implementação de sistemas de Data Warehouse. Tal forma de modelagem é composta por dois tipos de tabelas, denominadas de tabelas a) fato e dimensão. b) simples e compostas. c) virtual e completa. d) concatenadas e analíticas. e) granuladas e completas.
Questão tranquila. Os dois tipos de tabelas usadas na modelagem dimensional e, consequentemente, em Data Warehouses, são as tabelas fato e as tabelas dimensão. Gabarito: Letra A
830
20. (FGV/TJ SE/2023) Observe o profile das seguintes fontes de dados do Data Warehouse JusDW. FONTE DE DADOS 1: Tabela TB_PROC Atributo: ID_P Descrição: Identificador único da tabela TB_PROC Quantidade de Registros: 3.250 Valor Inicial: 1 Valor Final: 3.250 Valores Nulos: 0 FONTE DE DADOS 2: Tabela TAB_P Atributo: ID_PROC Descrição: Identificador único da tabela TAB_P Quantidade de Registros: 250 Valor Inicial: 1 Valor Final: 250 Valores Nulos: 0 Para integrar e armazenar os 3.500 registros das Fontes de Dados 1 e 2 na Dimensão DIM_PROC do JusDW, identificando unicamente cada novo registro criado da DIM_PROC, é necessário criar uma: a) Foreign key; b) Natural key; c) Alternate key; d) Surrogate key; e) Candidate key.
Para integrar os **3.500 registros** de duas fontes diferentes em **uma única dimensão (DIM_PROC)** no Data Warehouse, é necessário criar **um identificador único novo**, independente das chaves originais das fontes. Esse identificador deve: * ser **único** dentro da dimensão; * **não depender** das chaves originais das tabelas de origem (ID_P e ID_PROC); * permitir que diferentes sistemas possam enviar registros sem risco de colisão; * ser usado como **primary key da dimensão**. Esse tipo de chave é chamado de: ✅ **Surrogate Key (chave substituta)** Uma chave gerada artificialmente no DW (ex.: contador numérico ou GUID), usada para identificar unicamente cada registro da dimensão. ✔ Resposta correta: **d) Surrogate key**
831
Utilize a estrutura abaixo, relativa a uma empresa de comércio que tem várias lojas físicas em uma cidade, e que foi utilizada a modelagem dimensional para criar a tabela fato de vendas da empresa, para as quatro próximas questões. Chave da loja (FK) Chave do produto (FK) Chave da data (FK) Quantidade de vendas diária Quantidade de vendas em moeda real Quantidade de vendas em moeda euro Lista dos produtos vendidos por venda Nomes das lojas 21. (CEBRASPE/FUNPRESP-EXE/2022) Na modelagem dimensional, a tabela fato deverá refletir o maior número de informações para os negócios, sejam números ou não.
Os fatos são dados numéricos, quantitativos. Nesse sentido, a afirmativa está incorreta - a tabela fato deve refletir o maior número de informações para o negócio sim, mas essas informações devem ser numéricas. Gabarito: Errado
832
Utilize a estrutura abaixo, relativa a uma empresa de comércio que tem várias lojas físicas em uma cidade, e que foi utilizada a modelagem dimensional para criar a tabela fato de vendas da empresa, para as quatro próximas questões. Chave da loja (FK) Chave do produto (FK) Chave da data (FK) Quantidade de vendas diária Quantidade de vendas em moeda real Quantidade de vendas em moeda euro Lista dos produtos vendidos por venda Nomes das lojas 22. (CEBRASPE/FUNPRESP-EXE/2022) Em uma modelagem dimensional, o campo Nomes das lojas poderá ser utilizado em uma tabela fato ou na tabela dimensão.
O campo Nomes das lojas implica em um atributo descritivo, não numérico, apenas uma informação gerencial, não um fato. Por esse motivo, ele poderá ser utilizado somente nas tabelas dimensão. Gabarito: Errado
833
Utilize a estrutura abaixo, relativa a uma empresa de comércio que tem várias lojas físicas em uma cidade, e que foi utilizada a modelagem dimensional para criar a tabela fato de vendas da empresa, para as quatro próximas questões. Chave da loja (FK) Chave do produto (FK) Chave da data (FK) Quantidade de vendas diária Quantidade de vendas em moeda real Quantidade de vendas em moeda euro Lista dos produtos vendidos por venda Nomes das lojas 23. (CEBRASPE/FUNPRESP-EXE/2022) Chave do produto é uma chave estrangeira (FK – foreign key); é possível que exista um campo desse tipo em outra tabela, como chave primária (PK – primary key).
Corretamente. A Chave do produto é uma FK, isso é, uma chave estrangeira, dentro da tabela fato. Em uma tabela dimensão, ela atuará como uma chave primária. Esse elo de ligação FK/PK é o que une as tabelas fato e dimensão. Gabarito: Certo
834
Utilize a estrutura abaixo, relativa a uma empresa de comércio que tem várias lojas físicas em uma cidade, e que foi utilizada a modelagem dimensional para criar a tabela fato de vendas da empresa, para as quatro próximas questões. Chave da loja (FK) Chave do produto (FK) Chave da data (FK) Quantidade de vendas diária Quantidade de vendas em moeda real Quantidade de vendas em moeda euro Lista dos produtos vendidos por venda Nomes das lojas 24. (CEBRASPE/FUNPRESP-EXE/2022) Uma tabela fato como a mostrada pode apresentar uma relação de muitos para muitos em modelos dimensionais.
A afirmação é **verdadeira**. ✔ Por quê? Em modelagem dimensional, **tabelas fato normalmente representam relacionamentos muitos-para-muitos** entre as entidades envolvidas. No seu exemplo, a tabela fato de vendas relaciona: * **Lojas** * **Produtos** * **Datas** Uma loja pode vender **muitos produtos** em **muitas datas**, e cada produto pode ser vendido em **muitas lojas** e em **muitas datas**. Isso caracteriza exatamente um **relacionamento muitos-para-muitos**, resolvido pela **tabela fato**, que atua como uma tabela de associação. Portanto: ✅ **A afirmação está correta.**
835
25. (FGV/SENADO/2012) Com relação ao tema Modelagem Multidimensional, analise as afirmativas a seguir. I. Os esquemas star e dataflake são elementos encontrados na modelagem dimensional. II. Os datawarehouses são costumeiramente organizados em torno de uma tabela de fatos e muitas tabelas de dimensões. III. Uma tabela de fatos é sempre composta por três tipos de atributos: atributos de medidas, atributos de dimensões e chaves surrogate de dimensões degeneradas que variam ao longo do tempo. 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 somente as afirmativas II e III estiverem corretas.
Vamos analisar cada afirmativa: --- **I. “Os esquemas star e dataflake são elementos encontrados na modelagem dimensional.”** * **Star schema** existe. * **Dataflake** não existe. O nome correto é **snowflake schema**. 🔴 **Afirmativa I é falsa.** --- **II. “Os datawarehouses são costumeiramente organizados em torno de uma tabela de fatos e muitas tabelas de dimensões.”** Isso é exatamente o conceito de modelagem dimensional: DW organizado em **tabelas fato** + **tabelas dimensão**. ✅ **Afirmativa II é verdadeira.** --- **III. “Uma tabela de fatos é sempre composta por três tipos de atributos: atributos de medidas, atributos de dimensões e chaves surrogate de dimensões degeneradas que variam ao longo do tempo.”** Essa frase tem vários erros: * Tabela fato possui **medidas** e **foreign keys para dimensões**. * **Dimensão degenerada** (ex.: número de nota fiscal) **fica na tabela fato**, mas **não usa chave surrogate** — ela é o próprio atributo. * “Variam ao longo do tempo” → isso é conceito de **SCD**, mas **não se aplica à tabela fato**. 🔴 **Afirmativa III é falsa.** --- ✅ **Resposta correta: b) somente a afirmativa II está correta.**
836
01. (CEBRASPE/MPE RO/2023) No processamento analítico online (OLAP), a operação que permite exibir os dados de forma detalhada, seja adicionando uma nova dimensão ou buscando um nível mais específico na hierarquia, é denominada a) slicing. b) consolidação. c) roll up. d) dicing. e) drill down.
A operação descrita é aquela que **aumenta o nível de detalhe**, indo para níveis mais específicos da hierarquia **ou adicionando uma nova dimensão**. Isso corresponde exatamente a: ✅ **Drill down** * **Drill down** → aumenta o detalhamento (vai do agregado para o específico). * **Roll up** → faz o contrário, reduz detalhe. * **Slice/dice** → filtram ou criam subcubos, não aumentam detalhe. ✔ Resposta correta: **e) drill down**
837
02. (CEBRASPE/FUB/2023) Julgue o próximo item, a respeito de arquitetura de OLAP, data warehousing e dados multidimensionais. Em um ambiente OLAP, a operação de drill down consiste em selecionar valores específicos para os atributos que são, então, exibidos em cima da tabulação cruzada.
A descrição apresentada **não corresponde ao drill down**. ✔ O que é drill down? É a operação que **aumenta o nível de detalhe**, descendo na hierarquia — por exemplo, de Ano → Mês → Dia, ou de Estado → Cidade → Bairro. ❌ O que o item descreve? > “Selecionar valores específicos para os atributos…” Isso é exatamente o comportamento de **slice** (fatiar) ou **dice** (subconjunto multidimensional), e NÃO de drill down. ✅ **O item está ERRADO.**
838
03. (FGV/ALEMA/2023) Os data warehouse existem para facilitar consultas ocasionais e complexas com uso intensivo de dados. Com relação às aplicações e funcionalidades típicas de um data warehouse, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F): I. No Roll-up, os níveis cada vez menores de detalhes dos dados são revelados. II. No Drill-down, os dados são expandidos com generalizações cada vez maiores, por exemplo, de quinzenal para mensal para trimestral para semestral. III. No Slice-and-dice, as operações de projeção são realizadas nas dimensões do modelo multidimensional. As afirmativas são, respectivamente, a) V – V – V. b) V – V – F. c) F – F – V. d) F – V – V. e) F – F – F.
Vamos analisar as afirmativas. I. Verdadeiro. A cada “salto” do Roll-up, estamos diminuindo o nível de detalhe, ou seja, aumentando o nível de agregação. II. Falso. A alternativa explica o funcionamento do Roll-up, não do Drill-down. III. Verdadeiro. O Slice-and-dice combina duas operações (Slice e Dice), fazendo projeções dentro do modelo. Iremos selecionar um subconjunto dos dados e, dentro dele, fazer uma operação de corte (slice). Temos, portanto, V-F-V. A banca, entretanto, apontou como correta a letra C (F-F-V) - acredito que talvez por alguma interpretação “Getulista” da afirmativa I. Gabarito da banca: Letra C Gabarito do professor: Anulada
839
04. (CEBRASPE/DATAPREV/2023) No que se refere à análise de dados e informações, julgue o item a seguir. Em OLAP, um cubo é uma estrutura de dados multidimensionais que permite a análise de dados a partir de múltiplos enfoques.
Os cubos são as agregações dos dados multidimensionais, quase como uma pilha de tabelas relacionais, com diversos níveis de agregação diferentes - por exemplo, meses, dias, horas. Nesse sentido, correta a afirmativa. Gabarito: Certo
840
05. (CEBRASPE/DATAPREV/2023) No que se refere à arquitetura e aplicações de data warehouse com ETL e OLAP, julgue o item a seguir. Processos OLTP utilizam bancos de dados transacionais como fonte de dados, enquanto OLAP utilizam Data Warehouse ou Data Mart.
A afirmação está **correta**. * **OLTP** → utiliza **bancos de dados transacionais** (voltados para operações do dia a dia). * **OLAP** → utiliza **Data Warehouse ou Data Marts** (voltados para análise, consultas complexas e histórico). ✅ **Item CERTO.**
841
06. (FGV/TJ SE/2023) O Data Warehouse do TJSE armazena um grande cubo de dados contendo diversas métricas e dimensões, como: DIM_TEMPO, DIM_LOCAL e DIM_PROCESSO. A analista Julia precisa extrair um subconjunto deste cubo de dados contendo apenas os fatos do primeiro trimestre de 2023 e processos com a situação “arquivado”. Para obter esse subconjunto de dados, Julia utilizou uma ferramenta OLAP e executou a seguinte operação: a) Dice; b) Slice; c) Rotate; d) Roll up; e) Drill down.
Julia aplicou **dois filtros simultâneos** no cubo: * Tempo → **primeiro trimestre de 2023** * Processo → **situação = “arquivado”** Quando filtramos **várias dimensões ao mesmo tempo**, a operação OLAP é: ✅ **DICE** **Slice** seria apenas um filtro em uma única dimensão. Como são **dois filtros**, é **DICE**. ✔ Resposta correta: **a) Dice**
842
07. (FGV/PREF. BH/2023) Assinale a opção que indica a operação OLAP que permite analisar os dados de um Data Warehouse em níveis de agregação progressivamente mais detalhados, ou de menor granularidade. a) Slide. b) Pivot. c) Roll-up. d) Drill-down.
A operação que **aumenta o nível de detalhe** (vai do agregado para o específico), portanto caminhando para **menor granularidade**, é: ✅ **Drill-down** * **Drill-down** → desce na hierarquia → mais detalhado. * **Roll-up** → sobe na hierarquia → menos detalhado (mais agregado). * **Pivot** → gira a visão (troca linhas/colunas). * **Slide** → não é operação OLAP clássica. ✔ Resposta correta: **d) Drill-down.**
843
08. (CEBRASPE/PETROBRAS/2022) Julgue o item seguinte, a respeito de data warehouse e OLAP. Em uma aplicação OLAP, a operação de roll-up consiste em passar os dados com detalhamento maior para um detalhamento menor.
Certo! O Roll-up vai de níveis de maior detalhamento, como dias, para níveis de menor detalhamento, como meses. Gabarito: Certo
844
09. (CEBRASPE/TJ RJ/2021) A respeito dos bancos de dados transacionais (OLTP) e analíticos (OLAP), assinale a opção correta. a) Devido às limitações relacionadas à capacidade de consolidar e analisar dados, os bancos de dados relacionais são considerados uma tecnologia ultrapassada e inapropriada para aplicações OLAP. b) Nos sistemas OLTP, para que as operações sejam executadas com precisão e eficiência, o repositório de dados do banco de dados transacional deve conter somente dados não normalizados. c) Ao contrário das aplicações OLTP usuais, que trabalham com dados atuais, as aplicações OLAP operam com dados históricos. d) Esquemas lógicos do banco de dados não podem ser mapeados por OLAP, já que esse tipo de ferramenta exige que o usuário tenha privilégio de leitura nos objetos de banco de dados. e) No banco de dados OLAP, uma estrutura em estrela é constituída por uma única dimensão, a qual é representada por um conjunto de no mínimo duas tabelas.
Vamos analisar cada alternativa: --- **a) Bancos relacionais são ultrapassados para OLAP.** Falso. SGBDs relacionais continuam sendo amplamente usados em OLAP (ex.: Snowflake, SQL Server, Oracle, PostgreSQL). Eles podem não ser ideais para *multidimensional storage* puro, mas **não são ultrapassados nem inapropriados**. --- **b) Sistemas OLTP devem conter somente dados não normalizados.** Falso. É justamente o contrário: **OLTP exige normalização** para evitar redundância e garantir consistência. --- **c) OLTP trabalha com dados atuais; OLAP trabalha com dados históricos.** Verdadeiro. OLTP → operações do dia a dia, dados atuais. OLAP → análise, histórico, tendência, dados agregados. --- **d) Esquemas lógicos não podem ser mapeados por OLAP devido a privilégios.** Falso. Nenhum sentido técnico. OLAP pode sim mapear esquemas lógicos — acesso depende apenas de permissões normais do banco. --- **e) Estrutura em estrela possui uma única dimensão e várias tabelas.** Falso. Star schema = **1 tabela fato + várias tabelas de dimensões**. Não existe "uma única dimensão representada por várias tabelas". --- ✅ **Resposta correta: c)**
845
10. (FCC/DPE AM/2018) As ferramentas OLAP compreendem diversas formas de organização dos dados de um data warehouse. Dentre tais formas de organização, no tipo de ferramenta OLAP denominado a) ROLAP, os cubos pré-calculados são armazenados no servidor do ambiente de data warehouse. b) DOLAP, as consultas são feitas diretamente no modelo dimensional do data warehouse. c) MOLAP, as consultas são feitas diretamente no modelo dimensional do data warehouse. d) DOLAP, os cubos pré-calculados são armazenados no servidor do ambiente de data warehouse. e) MOLAP, os cubos pré-calculados são armazenados no servidor do ambiente de data warehouse.
Vamos revisar os tipos de OLAP: * **MOLAP (Multidimensional OLAP)** Usa **cubos pré-calculados** armazenados em um **servidor OLAP** (fora do banco relacional). → rápido para consulta, pois já está agregado. * **ROLAP (Relational OLAP)** Consulta **diretamente o modelo dimensional no banco relacional**. * **DOLAP (Desktop OLAP)** Cubos são **transferidos para a máquina do usuário**; processamento local. Com isso: Analisando as alternativas a) **ROLAP armazena cubos pré-calculados no servidor DW.** ❌ Errado — quem armazena cubos pré-calculados é o **MOLAP**. b) **DOLAP consulta direto o DW.** ❌ Não — DOLAP trabalha com cubos **locais** no desktop. c) **MOLAP consulta direto o modelo dimensional no DW.** ❌ Isso é ROLAP. d) **DOLAP armazena cubos pré-calculados no servidor.** ❌ Não — são armazenados **no cliente**. e) **MOLAP armazena cubos pré-calculados no servidor do DW.** ✔ Correto — cubos multidimensionais ficam no servidor OLAP. --- ✅ **Resposta correta: e)**
846
02. (FEPESE/PREF. B. CAMBORIÚ/2023) Analise as afirmativas abaixo sobre MongoDB. 1. Um documento é a unidade básica de dados e é mais ou menos equivalente a um registro; é um banco de dados relacional, porém mais expressivo. 2. Uma coleção contém similaridades com e remete a uma tabela no modelo relacional. 3. Cada instância do MongoDB pode conter um único banco de dados que por sua vez pode conter múltiplas coleções. Assinale a alternativa que indica todas as afirmativas corretas. a) É correta apenas a afirmativa 3. b) São corretas apenas as afirmativas 1 e 2. c) São corretas apenas as afirmativas 1 e 3. d) São corretas apenas as afirmativas 2 e 3. e) São corretas as afirmativas 1, 2 e 3.
Vamos analisar cada afirmativa: --- **Afirmativa 1** > *“Um documento é a unidade básica de dados e é mais ou menos equivalente a um registro; é um banco de dados relacional, porém mais expressivo.”* * A primeira parte está **correta** → documento ≈ registro. * A segunda parte está **errada** → MongoDB **não é um banco relacional**, é **NoSQL orientado a documentos**. ❌ **Afirmativa 1 é incorreta.** --- **Afirmativa 2** > *“Uma coleção contém similaridades com e remete a uma tabela no modelo relacional.”* ✔ Correto: coleção ≈ tabela (com diferenças, mas é a analogia correta). ✅ **Afirmativa 2 é correta.** --- **Afirmativa 3** > *“Cada instância do MongoDB pode conter um único banco de dados que por sua vez pode conter múltiplas coleções.”* Isso é **errado**. * Uma instância do MongoDB pode conter **vários bancos de dados**, não apenas um. ❌ **Afirmativa 3 é incorreta.** --- ✔ Resultado final A única afirmativa correta é a **2**. **Gabarito: letra (b)** *(São corretas apenas as afirmativas 1 e 2.)* ❗ Mas atenção: como a afirmativa 1 está parcialmente errada, o gabarito lógico seria **somente a 2**, porém a alternativa correspondente que contém apenas a 2 **não existe** na questão. Logo, deve haver um erro de impressão na prova, pois a alternativa (b) diz "1 e 2", mas apenas a 2 é verdadeira.
847
03. (FUNDATEC/IFC/2023) Com o advento de tipos diferentes de sistemas de gerenciamento de bancos de dados (SGBDs), o começo do desenvolvimento de qualquer software envolve a escolha de SGBD para armazenar dados. Qual SGBD é orientado a documentos em que o modelo de banco de dados armazena as informações como documentos e que são representados internamente como grupos de objetos que possuem chaves distintas? a) MongoDB. b) PostgreSQL. c) Flask SQLAlchemy. d) MySQL. e) NoSQL.
A pergunta descreve claramente um **SGBD orientado a documentos**, cujo armazenamento é feito em **documentos com chaves distintas**. O único SGBD da lista que corresponde exatamente a isso é: **✔ a) MongoDB** --- Por que as outras estão erradas? * **b) PostgreSQL** → relacional. * **c) Flask SQLAlchemy** → *ORM* (ferramenta), não é SGBD. * **d) MySQL** → relacional. * **e) NoSQL** → é uma *categoria*, não um SGBD específico. --- ✔ Gabarito: **a) MongoDB**
848
04. (AOCP/MJSP/2020) Em um banco de dados MongoDB, uma projeção apresenta quais campos, em um documento, são incluídos ou excluídos da saída final. Um administrador de banco de dados MongoDB do MJSP necessita realizar uma projeção. Sabendo que tal projeção assume a forma de uma expressão JSON que consiste em pares, assinale a alternativa que apresenta corretamente esses pares. a) key:value. b) key:document. c) value:document. d) primarykey:document. e) primarykey:foreingkey.
Os arquivos JSON são arquivos em texto responsáveis por carregar dados entre sistemas. Sua estrutura é feita em pareces de chaves e valores, ou key:value. Gabarito: Letra A
849
05. (FGV/CGU/2022) Sobre o MongoDB v5.0, considere as afirmativas a seguir. I. Todos os documentos de uma coleção (collection) devem possuir o mesmo número de campos (fields). II. Um campo presente em diferentes documentos de uma collection pode ter diferentes tipos de dados ao longo dos documentos. III. MongoDB oferece a capacidade de validar esquemas durante operações de inserção (insertion) e atualização (update). Está correto o que se afirma em: a) somente I; b) somente III; c) somente I e II; d) somente II e III; e) I, II e III
Vamos analisar cada afirmativa sobre **MongoDB 5.0**: --- **I. “Todos os documentos de uma coleção devem possuir o mesmo número de campos.”** ❌ **FALSA** MongoDB é **schema-less** (esquema flexível). → Os documentos **não precisam** ter o mesmo número de campos. Cada documento pode ter campos diferentes. --- **II. “Um campo presente em diferentes documentos pode ter diferentes tipos de dados.”** ✔ **VERDADEIRA** Em MongoDB, um campo **não é obrigado** a ter sempre o mesmo tipo. Exemplo: * Em um documento: `"idade": 30` * Em outro: `"idade": "trinta"` --- **III. “MongoDB oferece a capacidade de validar esquemas durante inserção e atualização.”** ✔ **VERDADEIRA** Desde versões anteriores, incluindo 5.0, o MongoDB suporta **schema validation** com JSON Schema, usando regras aplicadas no momento do insert/update. --- ✔ Conclusão * I → falsa * II → verdadeira * III → verdadeira **Gabarito: d) somente II e III**
850
06. (CEBRASPE/TRT 8/2022) Foi solicitada a um analista do TRT, através de chamado técnico, uma análise de desempenho no MongoDB, com o objetivo de investigar e verificar se o banco de dados estaria operando com desempenho aquém do esperado e de forma degradada. Considerando essa situação hipotética, assinale a opção que indica o componente do MongoDB, a ser investigado pelo analista, que permita a coleta de informações detalhadas sobre as operações executadas em certa instância MongoDB. a) Database Profiling b) MongoDB Aggregation Pipeline c) Shards d) Mongodump e) MongoDB Compass
Vamos analisar as alternativas: --- ✔ **a) Database Profiling — CORRETA** O **Database Profiler** (ou **Profiling**) do MongoDB permite: * Registrar operações lentas * Capturar comandos executados * Gerar logs detalhados * Ajudar na análise de desempenho da instância É exatamente o recurso usado quando há suspeita de lentidão ou degradação. --- ❌ b) MongoDB Aggregation Pipeline Ferramenta de processamento de dados, não de diagnóstico de desempenho. ❌ c) Shards Divisão física de dados, usada para escalabilidade — não coleta dados de performance. ❌ d) Mongodump Ferramenta de backup. Não serve para análise de performance. ❌ e) MongoDB Compass Ferramenta gráfica para visualização e administração, mas não é o componente responsável pela **coleta detalhada de performance**. --- ✔ **Gabarito: a) Database Profiling**
851
07. (CEBRASPE/TRT 8/2022) O Mongodump é um utilitário para backup no MongoDB 6.0 que a) cria uma exportação binária do conteúdo de um banco de dados incluindo os Sharded clusters. b) exporta os dados em um arquivo contendo comandos de criação de estrutura e inserção de dados em formato JSON. c) exporta os dados em formato nativo do MongoB contendo todos os comandos necessários para criar os bancos de dados, com exceção dos replica sets, que usam outra solução de backup. d) exporta os dados em formato BSON com os comandos de criação e de manipulação de dados, incluindo os Standalone deployments. e) exporta os dados em formato nativo do MongoB contendo todos os comandos necessários para criar os bancos de dados, com exceção dos sharded clusters, que usam outra solução de backup.
Vamos analisar o que o **mongodump** realmente faz no MongoDB 6.0. --- ✔ O que o mongodump faz: * Gera **arquivos de backup em formato BSON** (Binary JSON). * Não exporta comandos de criação de estrutura. * Pode ser usado em: * standalone * replica sets * sharded clusters (desde que usado com as opções corretas, normalmente apontando para **mongos**) Ou seja: 📌 **Formato é sempre BSON** 📌 **Não exporta comandos SQL ou JSON** 📌 **Funciona também com sharded clusters** --- ✔ Agora avaliando as alternativas: **a) cria uma exportação binária do conteúdo de um banco de dados incluindo os Sharded clusters.** ✔ **CORRETA** * Exportação **binária** → BSON ✔ * Funciona com **sharded clusters** (deve ser executado via `mongos`) ✔ --- **b) exporta os dados em um arquivo contendo comandos de criação (...) em formato JSON.** ❌ Errado * mongodump não exporta JSON * Não exporta comandos de criação --- **c) exporta dados em formato nativo contendo comandos de criação, exceto replica sets.** ❌ Errado * Funciona com replica sets * Não exporta comandos de criação * Formato não é "nativo", é **BSON** --- **d) exporta os dados em formato BSON com os comandos de criação e manipulação de dados...** ❌ Errado * Formato BSON → ✔ * Mas **não** exporta comandos de criação nem manipulação → ❌ --- **e) exporta os dados em formato nativo (...) exceto sharded clusters.** ❌ Errado * mongodump funciona com sharded clusters * Formato não é "nativo" e sim BSON * Não exporta comandos --- ✔ **Gabarito: a) cria uma exportação binária do conteúdo de um banco de dados incluindo os Sharded clusters.**
852
08. (CEBRASPE/SERPRO/2021) A respeito de conceitos de NoSQL orientado a grafos, orientado a documentos e orientado a colunas, julgue o item a seguir. Cypher query language, linguagem de consulta de gráfico do Neo4j que possibilita aos usuários o armazenamento e a recuperação de dados do banco de dados de gráficos, permite declarar o que se deseja selecionar, inserir, atualizar ou excluir desses dados de gráficos.
A afirmação está **correta**. --- ✔ Cypher Query Language (Neo4j) A linguagem **Cypher**, usada no banco orientado a grafos **Neo4j**, é uma linguagem **declarativa**, assim como SQL. Ela **permite**: ✔ Consultar (SELECT) ✔ Inserir (CREATE) ✔ Atualizar (SET) ✔ Excluir (DELETE / DETACH DELETE) E tudo isso aplicado a: * Nós (nodes) * Relacionamentos (edges) * Propriedades --- ✔ Exemplos de comandos Cypher: **Buscar dados**: ``` MATCH (p:Pessoa)-[:AMIGO_DE]->(q:Pessoa) RETURN p.nome, q.nome; ``` **Criar dados**: ``` CREATE (p:Pessoa {nome: "João"}); ``` **Atualizar**: ``` MATCH (p:Pessoa {nome: "João"}) SET p.idade = 30; ``` **Excluir**: ``` MATCH (p:Pessoa {nome: "João"}) DELETE p; ``` --- ✔ Conclusão: **A afirmação é VERDADEIRA.**
853
09. (CEBRASPE/SERPRO/2021) A respeito de conceitos de NoSQL orientado a grafos, orientado a documentos e orientado a colunas, julgue o item a seguir. Uma coleção e um documento, no MongoDB, são equivalentes à tabela e à linha, no Modelo Relacional de Dados.
A afirmação está **correta**. --- ✔ MongoDB × Modelo Relacional No MongoDB (orientado a documentos): * **Coleção (collection)** → é o conjunto de documentos → **equivale aproximadamente a uma tabela** no modelo relacional. * **Documento (document)** → é a unidade de dados armazenada em BSON → **equivale aproximadamente a uma linha/registro** (row) no modelo relacional. --- ✔ Portanto: **Coleção ≈ Tabela** **Documento ≈ Linha (Registro)** Essa analogia é muito usada em cursos, documentação e provas, apesar de o MongoDB permitir estrutura flexível (schema-on-read), o que é uma diferença importante em relação ao modelo relacional. --- ✔ Conclusão: A afirmação é **VERDADEIRA**.
854
10. (IDECAN/SEFAZ RR/2022) Saulo trabalha como implementador de software e recebe a demanda de implementar um banco de dados NoSQL para que seja usado em conjunto com o site da empresa. Selecione o tipo de banco de dados que Saulo poderá usar. a) MariaDB b) Oracle SQL c) PostgreSQL d) MongoDB e) MicrosoftSQL
A alternativa correta é: **d) MongoDB** **Justificativa:** MongoDB é um banco de dados **NoSQL**, orientado a documentos. As demais opções (MariaDB, Oracle SQL, PostgreSQL, Microsoft SQL) são **bancos relacionais (SQL)**.
855
11. (IDECAN/SEFAZ RR/2022) “Os bancos de dados NoSQL não são todos iguais. Há grandes diferenças no que se refere como a forma de armazenamento e conceitos de modelagem. Basicamente se subdividem em técnicas de armazenamento diferentes.” Sobre o assunto, assinale a alternativa que indica o banco de dados baseado na estrutura de orientação a documento. a) Oracle NoSQL b) Redis c) GraphBase d) OrientedDB e) MongoDB
A alternativa correta é: **e) MongoDB** **Justificativa:** Entre as opções, o único banco de dados claramente **orientado a documentos** é o **MongoDB**, que armazena dados em estruturas BSON semelhantes a JSON. As demais alternativas correspondem a outros tipos de NoSQL: * **Oracle NoSQL** → chave-valor * **Redis** → chave-valor / memória * **GraphBase / OrientedDB (provavelmente OrientDB)** → grafos / multimodelo ✔ **Resposta: MongoDB**
856
12. (FEPESE/CIASC/2017) Podem-se executar comandos e consultas em um banco de dados Apache Cassandra através do utilitário nativo da distribuição: a) sqlplus b) kasser c) cqlsh d) cqlplus e) cqldata
A alternativa correta é: **c) cqlsh** **Justificativa:** No Apache Cassandra, o utilitário nativo para executar comandos e consultas é o **cqlsh (Cassandra Query Language Shell)**, usado para interagir com o banco usando CQL. ✔ **Resposta: cqlsh**
857
13. (IDECAN/TJ PI/2022) Marque a alternativa que indica, respectivamente, o nome de dois bancos de dados NoSQL sendo o primeiro um banco de dados in-memory, muito utilizado para armazenamentos do tipo chave-valor e o segundo um banco de dados especializado em grafos, motivo pelo qual é recomendado para aplicações que precisam armazenar informações com muitos relacionamentos de interconexão. a) MongoDB e GraphQL b) Redis e MongoDB c) MariaDB e GraphQL d) No4J e DynamoDB e) Redis e Neo4j
A alternativa correta é: **e) Redis e Neo4j** **Explicação rápida:** * **Redis** → banco NoSQL **in-memory**, extremamente rápido, chave-valor. * **Neo4j** → banco **orientado a grafos**, ideal para aplicações com muitos relacionamentos (redes sociais, recomendações, fraude, etc.). ✔ **Resposta: e) Redis e Neo4j**
858
14. (AOCP/MJSP/2020) Um cientista de dados necessita apresentar a quantidade de documentos em uma coleção do MongoDB. Sabendo disso, assinale a alternativa que apresenta corretamente o operador que o cientista precisa utilizar. a) db.collection.agregate() b) db.collection.count() c) db.collection.total() d) db.collection.find() e) db.collection.sum()
Quando queremos contar a quantidade de documentos numa coleção, usamos o comando count. Os demais comandos executarão o seguinte: * Agregate: Usado para executar agregações avançadas, criando pipelines e transformando dados. * Total: não é um comando específico. * Sum: não é um comando autônomo. Pode usado como operador, para calcular a soma de valores. * Find: usado para encontrar um documento específico numa coleção. Portanto, correta a letra B. Gabarito: Letra B
859
15. (CESGRANRO/AGERIO/2023) Na implementação de sistemas de Big Data, é comum a utilização de tecnologias de Bancos de Dados NoSQL, que têm como característica principal não seguir ou ir além do Modelo Relacional e da linguagem SQL. Duas dessas tecnologias são os Bancos de Dados orientados a documentos e orientados a colunas, exemplificados, respectivamente, pelos softwares a) ArangoDB e MongoDB b) HBase e ArangoDB c) HBase e MongoDB d) MongoDB e ArangoDB e) MongoDB e HBase
Queremos um banco de dados orientado a documentos, e um colunar. Vamos analisar as alternativas. a) Errado. ArangoDB: multi-modelo; MongoDB: documentos. b) Errado. HBase: colunar; ArangoDB: multi-modelo. c) Errado. HBase: colunar; MongoDB: documentos. d) Errado. MongoDB: documentos; ArangoDB: multi-modelo. e) Certo. MongoDB: documentos; HBase: colunar. Portanto, a alternativa correta é a letra E. Gabarito: Letra E
860
01. (FGV/Pref. SJC/2024) As dimensões de qualidade de dados discutidas no DAMA- DMBOK2 descrevem características mensuráveis dos dados que ajudam a definir seus requisitos de qualidade. A dimensão que se refere ao grau em que os dados representam corretamente entidades da “vida real” é denominada a) validity. b) accuracy. c) consistency. d) uniqueness. e) completeness.
A alternativa correta é: ✅ **b) accuracy** **Accuracy (exatidão)** é a dimensão do DAMA-DMBOK2 que trata do grau em que os dados **representam corretamente as entidades do mundo real**, ou seja, quão corretos, verdadeiros e precisos eles são. Resumo das demais opções (para não confundir): * **Validity** → Conformidade a regras, formatos e padrões. * **Consistency** → Ausência de conflitos entre dados em diferentes sistemas ou tabelas. * **Uniqueness** → Ausência de duplicidades. * **Completeness** → Grau em que os dados estão completos, sem faltas. 👉 Portanto, **accuracy** é a dimensão que mede se os dados representam corretamente a realidade.
861
02. (FGV/Pref. SJC/2024) O DAMA-DMBOK2 apresenta uma visão abrangente dos desafios, complexidades e valor do gerenciamento eficaz de dados nas corporações. Os tipos de modelos operacionais de governança de dados discutidos no DAMA-DMBOK2 são a) startup e avançado. b) on premises e on cloud. c) ad hoc e orientado a negócio. d) centralizado, replicado e federado. e) ad hoc, startup, distribuído e orientado a negócio.
A alternativa correta é: ✅ **d) centralizado, replicado e federado.** No **DAMA-DMBOK2**, os **modelos operacionais de governança de dados** são: * **Centralizado** → Uma autoridade central decide e governa os dados. * **Replicado** → Políticas e práticas são replicadas por diferentes áreas. * **Federado** → Áreas/autonomias diferentes compartilham responsabilidades sob coordenação. As outras opções não correspondem aos modelos definidos pelo DMBOK2. 👉 Portanto, a resposta correta é **d)**.
862
03. (FGV/Pref. BH/2024) Considere os tipos de modelos operacionais de governança de dados relacionados no DAMA-DMBOK v2, e assinale (V) para a afirmativa verdadeira e (F) para a falsa. ( ) Num modelo simplificado, uma organização de governança de dados importa modelos padronizados para seu segmento de atuação e supervisiona todas as atividades em todas as áreas temáticas. ( ) Num modelo replicado, o mesmo modelo operacional e padrões de governança de dados são adotados por cada unidade de negócio. ( ) Num modelo híbrido, uma organização de governança de dados importa e adapta os modelos simplificado e replicado para as múltiplas unidades de negócios com a função de manter definições e padrões consistentes. As afirmativas são, respectivamente, a) F – V – F. b) V – F – F. c) F – F – V. d) V – V – F.
Vamos analisar cada afirmativa com base no **DAMA-DMBOK2** e seus **modelos operacionais de governança de dados**: ✔ **1ª afirmativa** > “Num modelo *simplificado*, uma organização de governança de dados importa modelos padronizados para seu segmento de atuação e supervisiona todas as atividades em todas as áreas temáticas.” 🔎 **Errado**. O modelo descrito é o **centralizado**, não o simplificado. O DMBOK **não** define “modelo simplificado” como modelo operacional. ➡ **FALSA** --- ✔ **2ª afirmativa** > “Num modelo *replicado*, o mesmo modelo operacional e padrões de governança de dados são adotados por cada unidade de negócio.” 🔎 **Correto**. No modelo **replicado**, cada unidade segue os **mesmos padrões**, mas opera **de forma independente**. ➡ **VERDADEIRA** --- ✔ **3ª afirmativa** > “Num modelo *híbrido*, uma organização de governança de dados importa e adapta os modelos simplificado e replicado [...]” 🔎 **Errado**. O DMBOK define o modelo **federado**, não “híbrido”, combinando centralização com autonomia. Além disso, não existe “modelo simplificado” no DMBOK2. ➡ **FALSA** --- ✅ **Gabarito: a) F – V – F.**
863
04. (CESGRANRIO/IPEA/2024) Considere uma sociedade empresária hipotética, associada ao Ipea, que pratica a governança de dados para Tecnologia da Informação, segundo os critérios estabelecidos por esse Instituto, e que está definindo o escopo de dados da sua estrutura de governança. Ambas organizações vão compartilhar os dados de igual para igual, por meio de uma gerência baseada em um único registro para cada pessoa, local e objeto, usado tanto pela sociedade empresária quanto pelo Ipea. Está sendo confeccionado um modelo de processo empresarial que garanta que os dados compartilhados sejam consistentes e precisos. Nesse caso, é necessário aplicar o seguinte processo: a) Big Data Analytics b) Data Quality Manager c) Data Science Manager d) Entity Manager Factory e) Master Data Management
A questão descreve exatamente o cenário clássico de **gestão de dados mestre (MDM — Master Data Management)**: * Compartilhamento de dados **“de igual para igual”** entre organizações; * **Um único registro confiável** para cada pessoa, local ou objeto (**golden record**); * Garantia de que os dados compartilhados sejam **consistentes, precisos e sincronizados** entre as partes; * Construção de um **processo empresarial** que padronize e mantenha a qualidade dos dados mestres. Tudo isso corresponde diretamente ao conceito de **MDM**, cujo objetivo é criar e manter uma **fonte única de verdade (single source of truth)**. ✅ **Gabarito: e) Master Data Management**
864
05. (CESGRANRIO/IPEA/2024) Uma organização está implementando práticas de gerenciamento de dados para aprimorar a qualidade e a integridade dos dados em seus sistemas. Nesse contexto, qual conceito do DAMA DMBoK destaca a importância de garantir que os dados sejam precisos e atendam aos requisitos de qualidade? a) Arquitetura de dados b) Gerenciamento da qualidade de dados c) Governança de dados d) Modelagem de dados e) Segurança de dados
A questão pede **qual conceito do DAMA-DMBOK está diretamente ligado a garantir que os dados sejam precisos e atendam aos requisitos de qualidade**. Isso corresponde claramente ao processo de **Data Quality Management**. ✔️ Gerenciamento da Qualidade de Dados (Data Quality Management) É o domínio do DAMA-DMBOK responsável por assegurar que os dados: * sejam **precisos (accuracy)** * completos * consistentes * válidos * confiáveis * adequados ao uso Portanto, é exatamente o que a questão descreve. ✅ **Gabarito: b) Gerenciamento da qualidade de dados**
865
06. (CEBRASPE/CAU BR/2024) Acerca de administração de SGBD e governança de dados, julgue o próximo item. De acordo com o DAMA Wheel, a área de arquitetura de dados oferece orientação e supervisão para o gerenciamento de dados.
O item está incorreto. Quem fornece orientação e supervisão é a área de governança dos dados. A arquitetura dos dados preocupa-se em estabelecer esquemas e padrões consistentes para os dados. Gabarito: Errado
866
07. (CEBRASPE/ITAIPU/2024) A governança da informação é o conjunto de práticas e políticas que visam garantir a gestão eficiente, segura e estratégica de dados para alinhar o uso da informação com os objetivos e normas da organização. Nesse contexto, assinale a opção correta. a) O DAMA-DMBOK é um framework de boas práticas para a governança de dados. b) Apesar da importância estratégica dos dados para as organizações, eles não são considerados como ativos com valor financeiro. c) A governança de dados surgiu como mecanismo para assegurar o cumprimento das diretrizes definidas na Lei Geral de Proteção de Dados Pessoais. d) A governança de dados está subordinada à governança de TI, sendo, portanto, responsabilidade da área de TI sua implantação e gestão. e) A governança de dados não foca na definição de padrões e otimização de processos de coleta, tratamento e armazenamento, mas tão somente na qualidade e segurança dos dados.
Vamos analisar as alternativas: **a) O DAMA-DMBOK é a framework de boas práticas para a governança de dados.** ✅ **Correta.** O **DAMA-DMBOK** é justamente o principal guia de referência internacional para **gestão e governança de dados**. --- **b) Dados não são considerados ativos com valor financeiro.** ❌ Incorreta. Dados são reconhecidos hoje como **ativos estratégicos**, muitas vezes com valor financeiro e impacto direto no negócio. --- **c) A governança de dados surgiu como mecanismo para assegurar o cumprimento da LGPD.** ❌ Incorreta. A governança de dados existe **muito antes da LGPD**. A LGPD é um motivador recente, mas não sua origem. --- **d) A governança de dados está subordinada à governança de TI.** ❌ Incorreta. Governança de dados **não é subordinada** à TI; é **corporativa**, abrangendo todas as áreas da organização. --- **e) A governança de dados não foca na definição de padrões e otimização de processos...** ❌ Incorreta. A governança de dados foca **justamente** em padrões, processos, qualidade, segurança, ciclo de vida etc. --- ✅ **Gabarito: a**
867
08. (FGV/CGE PB/2024) No contexto de Qualidade de Dados, o auditor de contas públicas João deverá analisar a consistência dos dados da base de dados AUD_CONTAS identificando variações sobre os valores dos atributos, como: * 30% das entradas de dados na coluna CD_FUNCIONARIO estão marcadas com o caractere “espaço” * existem 200 linhas na tabela TBL_PROCESSO contendo dados sobre processos sem nenhuma linha contendo os seus detalhes Para isso, a técnica de diagnóstico sobre a qualidade de dados que João deverá utilizar é: a) profiling; b) matching; c) deduplicação; d) data cleansing; e) enriquecimento.
A questão descreve a necessidade de **analisar o estado atual dos dados**, identificando problemas como: * Valores faltantes ou inválidos (espaço em CD_FUNCIONARIO) * Registros sem correspondência (processos sem detalhes) Essas atividades correspondem exatamente ao processo de: ✅ **a) profiling** Por quê? **Data profiling** é a técnica usada para **diagnosticar a qualidade dos dados**, identificando: * padrões, * valores faltantes, * inconsistências, * cardinalidade, * estatísticas sobre colunas, * problemas estruturais. As demais opções não se aplicam: * **b) matching** → identificar registros que representam a mesma entidade. * **c) deduplicação** → eliminar registros duplicados. * **d) data cleansing** → corrigir dados (não é diagnóstico, é ação de limpeza). * **e) enriquecimento** → adicionar dados externos para melhorar a qualidade. --- ✅ **Gabarito: a) profiling**
868
09. (FGV/CGE PB/2024) Os processos de coleta e organização de dados devem observar, com cuidado, um aspecto preconizado na Governança de Dados especialmente útil na elucidação de erros, mudanças nos processos e migrações de sistemas. Esse aspecto, numa estrutura de governança, é conhecido como: a) Controle de acesso; b) Linhagem de dados; c) Segurança de dados; d) Propriedade de dados; e) Classificação de dados.
A descrição da questão aponta para o conceito que permite **rastrear a origem, as transformações e o destino dos dados**, sendo fundamental para: * entender erros, * acompanhar mudanças em processos, * analisar migrações de sistemas. Esse conceito é exatamente: ✅ **b) Linhagem de dados (Data Lineage)** Por quê? A **linhagem de dados** documenta o “caminho” completo que os dados percorrem — desde a origem até o consumo — incluindo transformações, integrações e sistemas envolvidos. É um dos pilares da governança de dados e essencial para auditorias, diagnóstico de problemas e confiabilidade. --- ✔️ Gabarito: **b) Linhagem de dados**
869
10. (FGV/TJ MS/2024) A analista Márcia é a responsável por implementar o projeto de integração dos diversos sistemas de informação do TJMS. Para isso, Márcia optou por começar pelo levantamento dos dados utilizados em comum por todas as áreas, processos e sistemas do Tribunal. Alguns exemplos de entidades levantadas por Márcia são: Tabela de Analistas Judiciários, Tabela de Estados da Federação e Tabela de Tipos de Processos. De acordo com o Framework do DAMA-DMBOK 2ª edição, Márcia deve implementar a gestão de: a) metadados; b) qualidade de dados; c) arquitetura de dados; d) dados mestre e referência; e) armazenamento de dados.
Vamos analisar com cuidado a questão: * Márcia está integrando **diversos sistemas** e começa pelo **levantamento de dados utilizados em comum** por todas as áreas. * Ela identifica **tabelas como “Analistas Judiciários”, “Estados da Federação” e “Tipos de Processos”**, que são **entidades compartilhadas e padronizadas em diferentes sistemas**. No **DAMA-DMBOK 2ª edição**, temos conceitos importantes: 1. **Metadados** → informações sobre os dados (como dicionário de dados, definição de campos, regras de negócios). 2. **Qualidade de dados** → assegura que os dados sejam corretos, completos e consistentes. 3. **Arquitetura de dados** → estrutura geral e organização de todos os dados da empresa. 4. **Dados mestre e referência** → dados que são **consistentes e usados por múltiplos sistemas**, como clientes, produtos, estados, tipos de processo, analistas, etc. 5. **Armazenamento de dados** → onde os dados são guardados (bancos, data lakes, etc.). No caso da Márcia, ela está lidando **exatamente com dados que são usados em várias áreas e sistemas**, como os exemplos citados. Isso é o conceito clássico de **dados mestre e dados de referência**. ✅ **Resposta correta:** **d) dados mestre e referência**
870
11. (CONSULPLAN/PREF. SM JETIBÁ/2024) O termo “qualidade dos dados” designa as características relacionadas a dados considerados de alto padrão, assim como os procedimentos empregados para avaliar ou aprimorar tal qualidade. A qualidade dos dados é considerada elevada quando atende plenamente às expectativas e demandas dos usuários de dados. Quando essa finalidade não é atendida, ou é atendida de forma parcial, podemos classificar os dados como de baixa qualidade. Destaca-se que a qualidade dos dados está intrinsecamente vinculada ao contexto e às necessidades específicas dos consumidores de dados. As técnicas de qualidade de dados são essenciais para garantir confiabilidade, consistência e utilidade dos dados em qualquer sistema ou aplicação. Sobre as técnicas de qualidade de dados, relacione adequadamente as colunas a seguir. 1. Profiling. 2. Matching. 3. Deduplicação. 4. Data cleansing. ( ) Corrigir erros, preencher lacunas faltantes e padronizar dados para garantir consistência e exatidão. ( ) Coletar estatísticas ou resumos informativos sobre os dados coletados. Analisar e entender esses dados para identificar padrões, inconsistências e anomalias. ( ) Identificar e remover registros repetidos que representam a mesma entidade, garantindo que apenas uma instância de um registro específico seja mantida. ( ) Remove registros duplicados, simplificando o conjunto de dados e evitando redundâncias. A sequência está correta em a) 1, 2, 4, 3. b) 4, 1, 3, 2. c) 3, 4, 2, 1. d) 2, 3, 1, 4.
Vamos analisar passo a passo: Temos as técnicas de **qualidade de dados**: 1. **Profiling** → consiste em **coletar estatísticas ou resumos informativos sobre os dados**, analisar padrões, inconsistências e anomalias. 2. **Matching** → identificar registros que se referem à **mesma entidade** em diferentes sistemas ou registros. 3. **Deduplicação** → remover registros duplicados, mantendo apenas uma instância de cada registro. 4. **Data cleansing (limpeza de dados)** → **corrigir erros, preencher lacunas e padronizar dados** para garantir consistência e exatidão. Agora, relacionando com as descrições da questão: * "( ) Corrigir erros, preencher lacunas faltantes e padronizar dados" → **Data cleansing → 4** * "( ) Coletar estatísticas ou resumos informativos..." → **Profiling → 1** * "( ) Identificar e remover registros repetidos que representam a mesma entidade" → **Matching → 2** * "( ) Remove registros duplicados, simplificando o conjunto de dados" → **Deduplicação → 3** Portanto, a sequência correta é: **4, 1, 2, 3** ✅ **Resposta correta:** **b) 4, 1, 3, 2** ⚠️ Observação: A última parte pode confundir, mas "identificar e remover registros repetidos que representam a mesma entidade" refere-se **mais a Matching**, enquanto "Remove registros duplicados, simplificando o conjunto de dados" é **Deduplicação**.
871
12. (FGV/SEF MG/2023) Sobre o conceito de Governança de Dados (DAMA), assinale a afirmativa correta. a) É a função central da Gestão, que representa o exercício da autoridade e do controle de estratégias etc. b) Serve para criar e manter a arquitetura corporativa de dados de acordo com objetivos estratégicos da empresa. c) É a função responsável por definir e manter políticas de segurança a fim de prover autenticação, acesso e auditoria. d) Trata-se de Função operacional responsável por manter os dados através dos vários ciclos, até o arquivamento final ou eliminação. e) Serve para definir e controlar atividades para a disponibilização de visões únicas de dados mestre (Golden Record) e de referência na empresa.
Vamos analisar com cuidado a questão com base no **DAMA-DMBOK (2ª edição)**: A questão pede a **afirmativa correta sobre Governança de Dados**. 1. **Governança de Dados** → é **uma função de nível estratégico** que estabelece políticas, regras e responsabilidades sobre os dados. Inclui autoridade, controle e supervisão para que os dados sejam gerenciados adequadamente na organização. Agora vamos analisar as alternativas: * **a) É a função central da Gestão, que representa o exercício da autoridade e do controle de estratégias etc.** ✅ * Correta. Governança de dados trata exatamente de **autoridade, controle e definição de estratégias de gestão de dados**. * b) Criar e manter arquitetura corporativa → isso é **Arquitetura de Dados**, não Governança. * c) Definir políticas de segurança → isso é **Segurança de Dados**, parte da Governança, mas não é o conceito principal. * d) Função operacional de manutenção de dados → isso é **Operações de Dados / Data Operations**, não Governança. * e) Disponibilização de visões únicas de dados mestre → isso é **Gestão de Dados Mestre e de Referência (MDM)**, não Governança. ✅ **Resposta correta:** **a) É a função central da Gestão, que representa o exercício da autoridade e do controle de estratégias etc.**
872
13. (CONSULPLAN/SEGER ES/2023) A governança de dados é entendida como uma ação multidisciplinar que tem como finalidade tratar os dados como insumos ativos e tangíveis nas organizações. Em relação aos seus princípios, assinale a afirmativa correta. a) O gerenciamento de dados tem o domínio de como os dados são produzidos ou obtidos. b) A qualidade dos dados deve ser gerenciada somente na fase inicial do ciclo de vida dos dados. c) Um mesmo dado não pode ter requisitos de ciclo de vida diferentes em outras partes da organização. d) O princípio básico da governança de dados é que todos os dados de uma organização devem ser gerenciados. e) Por questões de padronização de procedimentos, a qualidade dos metadados deve ser gerenciada de forma diferente da qualidade de dados.
Vamos analisar cada alternativa. a) Certo. Temos a obtenção e produção dos dados abordada no ciclo de vida dos dados, sendo abordado tanto no gerenciamento da arquitetura de dados, quanto na modelagem e projeto de dados. b) Errado. A qualidade dos dados é gerenciada ao longo de todo o ciclo de vida. c) Errado. Cada unidade da organização tem seus requisitos próprios. d) Errado. O gerenciamento deve focar nos dados críticos, e não em todos os dados. e) Errado. Ambos são gerenciados da mesma forma. Portanto, correta a letra A. Gabarito: Letra A
873
14. (CEBRASPE/Pref. Fortaleza/2023) Julgue o item a seguir, a respeito de ciência de dados, aprendizado de máquina, inteligência artificial, big data, governança de dados, transformação de dados e transformação digital. Aplicada pelos profissionais de segurança cibernética, a governança de dados consiste em um método que utiliza criptografia segura para o armazenamento de dados.
Vamos analisar cuidadosamente: O item afirma: > "Aplicada pelos profissionais de segurança cibernética, a governança de dados consiste em um método que utiliza criptografia segura para o armazenamento de dados." ❌ **Errado.** * **Governança de dados** não é um **método técnico de criptografia**. * Governança de dados, segundo o **DAMA-DMBOK**, é **uma estrutura de políticas, responsabilidades e processos que assegura que os dados sejam gerenciados como ativos organizacionais**, incluindo aspectos de **qualidade, segurança, propriedade, conformidade e uso correto**. * Criptografia é **uma ferramenta de segurança de dados**, que pode ser usada dentro da governança, mas **não define a governança em si**. ✅ **Conclusão:** **Falso.**
874
15. (CEBRASPE/Pref. Fortaleza/2023) A fim de modernizar e se adaptar às demandas de um ambiente de negócios cada vez mais digital e competitivo, a secretária de finanças de determinada organização pretende implementar uma área especializada em dados para promover a inovação, melhorar a agilidade e a velocidade de resposta às necessidades interna e externa bem como aumentar a eficiência e a produtividade do setor. Considerando essa situação hipotética, julgue o item a seguir. Para que a gestão seja eficaz e garanta a qualidade, a integridade, a segurança, a privacidade e, ainda, o uso adequado dos dados, essa secretaria deverá investir em governança de dados por meio da criação de um comitê ou conselho que envolva representantes de diferentes áreas e departamentos da organização.
Analisando a situação: O item afirma que, para garantir **qualidade, integridade, segurança, privacidade e uso adequado dos dados**, a secretaria deve investir em **governança de dados** criando um **comitê ou conselho multidisciplinar**. ✅ **Correto.** Justificativa: * Segundo o **DAMA-DMBOK**, a **governança de dados** exige estrutura organizacional, políticas, processos e responsabilidades claras. * Um **comitê ou conselho de governança de dados** que envolva representantes de diferentes áreas é uma prática recomendada para: * Definir padrões e políticas de dados; * Garantir integridade, qualidade e segurança; * Assegurar que os dados sejam usados de forma ética e eficiente; * Facilitar a tomada de decisões e a coordenação entre áreas. Portanto, a afirmação **é verdadeira**.
875
16. (CEBRASPE/FUNPRESP-EXE/2022) Julgue o próximo item com relação a conceitos utilizados na área de administração de dados. Na administração de dados, qualidade de dados se resume a processos tanto de verificação quanto de correção dos dados e metadados.
Analisando cuidadosamente a afirmação: > "Na administração de dados, qualidade de dados se resume a processos tanto de verificação quanto de correção dos dados e metadados." ❌ **Falso.** Justificativa: * **Qualidade de dados** não se resume apenas a **verificação e correção**. * Segundo o **DAMA-DMBOK**, a gestão da qualidade de dados envolve **um conjunto mais amplo de práticas**, incluindo: * **Profiling** (análise e entendimento dos dados), * **Limpeza e padronização** (data cleansing), * **Deduplicação e matching**, * **Monitoramento contínuo** da qualidade, * **Definição de regras e métricas de qualidade**, * **Engajamento com os usuários para garantir que os dados atendam ao propósito do negócio**. Ou seja, **verificação e correção são apenas partes do processo**, mas **qualidade de dados é mais abrangente**, incluindo prevenção, padronização, governança e melhoria contínua. ✅ **Conclusão:** **Falso.**
876
17. (FGV/CGU/2022) No âmbito do DAMA-DMBOK, com referência à Governança de Dados, a figura dos Data Stewards caracteriza-se como: a) etapas de testes de conformidade dos dados; b) instâncias de aprovação da arquitetura de dados; c) instâncias de unidades organizacionais responsáveis pela estratégia de dados; d) responsáveis, dentro da área de negócios, pelo controle e uso dos dados; e) usuários que consomem dados dentro de uma organização.
Vamos analisar com cuidado: No **DAMA-DMBOK**, os **Data Stewards** têm um papel bem definido: * São **responsáveis pelo gerenciamento diário da qualidade, integridade, consistência e uso adequado dos dados dentro da área de negócios**. * Garantem que os dados estejam corretos, completos e sejam usados de acordo com as políticas definidas pela **governança de dados**. * Diferenciam-se de: * **Data Owners** → responsáveis estratégicos e legais pelos dados; * **Usuários** → apenas consomem os dados; * **Arquitetos de dados** → definem a estrutura e padrões do sistema. Agora, analisando as alternativas: * a) Etapas de testes de conformidade → ❌ Não é o papel do Data Steward. * b) Instâncias de aprovação da arquitetura → ❌ Isso é função de arquitetura de dados. * c) Instâncias de unidades organizacionais responsáveis pela estratégia → ❌ Isso se refere a **Data Owners**. * d) **Responsáveis, dentro da área de negócios, pelo controle e uso dos dados** → ✅ Correto. * e) Usuários que consomem dados → ❌ Não são apenas consumidores. ✅ **Resposta correta:** **d) responsáveis, dentro da área de negócios, pelo controle e uso dos dados.** Conitnuar ex 18, pag 80, aula 08
877
18. (CEBRASPE/SECONT ES/2022) Considerando o DMBOK, julgue o item subsequente, a respeito de técnicas em qualidade de dados. Entre as dimensões da qualidade de dados, a consistência refere-se ao grau em que os dados representam corretamente as entidades do mundo real.
A afirmação diz: > “Entre as dimensões da qualidade de dados, **a consistência refere-se ao grau em que os dados representam corretamente as entidades do mundo real**.” ❌ **A afirmação está ERRADA.** ✔ Por quê? No **DAMA-DMBOK**, a dimensão que trata do grau em que os dados representam corretamente as entidades do mundo real é a **ACURÁCIA** (ou *accuracy*). **Acurácia = Correção dos dados em relação ao mundo real.** Já a **consistência** significa: * que os dados **não se contradizem** entre diferentes sistemas, bases ou registros; * que mantêm **coerência interna e entre sistemas**; * que obedecem **às regras e formatos padronizados**. ✅ Portanto, o item **está errado**.
878
19. (CEBRASPE/SECONT ES/2022) Considerando o DMBOK, julgue o item subsequente, a respeito de técnicas em qualidade de dados. Profiling data ajuda a identificar problemas, mas não identifica a sua origem nem determina o seu impacto nos processos de negócios.
O data profiling é uma técnica utilizada para analisar a qualidade dos dados, identificando problemas como inconsistências, duplicatas, valores ausentes, entre outros. No entanto, o data profiling por si só não é capaz de identificar a origem desses problemas nem determinar diretamente o impacto deles nos processos de negócios. Essa técnica é eficaz para revelar a presença de problemas nos dados, mas para identificar a causa raiz ou avaliar o impacto nos processos, são necessárias outras técnicas e análises adicionais, como data lineage para rastreamento da origem ou avaliações de impacto nos processos de negócios. Gabarito: Correto
879
20. (IADES/ADASA/2022) Uma base de dados hipotética possui como informação mais importante os dados provenientes de um sensor de temperatura ambiente. Após um mês de coleta de dados, foi realizada uma verificação e constatou-se que o sensor apresentava leituras sabidamente errôneas em 95% das medições realizadas. Também observou-se que a demora para a identificação do problema se deu pelas leituras do sensor, que, apesar de errôneas, continuavam com valores válidos para medições de temperaturas, não disparando os alarmes predefinidos pela equipe. Suponha que não houve qualquer influência não esperada advinda do ambiente e nem de erro humano, como mau posicionamento do sensor, instalação errada, manipulação externa, entre outras, e também considere que os demais dados dessa base não apresentaram nenhuma alteração em sua qualidade. Acerca dessa situação hipotética, assinale o aspecto da disciplina de qualidade de dados que mais foi afetado por esse problema. a) Acurácia b) Completude c) Consistência d) Unicidade e) Validade
Vamos analisar o cenário: * O sensor gerou **leituras erradas em 95% das medições**. * Apesar disso, os valores **estavam dentro da faixa válida**, então **não dispararam alarmes**. * Não houve fatores externos ou erros humanos. * Os demais dados da base estavam normais. A pergunta é: **qual aspecto da qualidade de dados foi mais afetado?** Veja as dimensões: ✔ **Acurácia (Accuracy)** É o grau em que os dados **representam corretamente o mundo real**. → Aqui, a temperatura **não estava correta**, as leituras estavam *erradas*, embora fossem “válidas” como número. **Essa foi a dimensão comprometida.** ❌ Completude Refere-se a dados faltantes. Não é o caso. ❌ Consistência Refere-se a não haver contradição entre sistemas. Não há essa situação. ❌ Unicidade Relaciona-se à ausência de duplicidades. Não é o caso. ❌ Validade Refere-se a cumprir formatos, tipos e regras de domínio. Os dados **eram válidos**, pois estavam dentro da faixa esperada — por isso o alarme não disparou. ➡ Ou seja: **eram válidos, porém incorretos**. ✅ **Resposta correta: a) Acurácia**
880
21. (IADES/ADASA/2022) Acerca de governança de dados, assinale a alternativa correta. a) Catálogo de dados é necessário apenas em data lakes e não tem grande utilidade em data warehouses. b) Metadados e catálogo de dados são dois termos sinônimos. c) Governança de dados é uma área que deve ser observada apenas pela equipe de tecnologia da informação. d) Tags identificadoras de time responsável de cada tabela, nomes e tipos das colunas e colunas de partição das tabelas são exemplos de metadados. e) Boas práticas de governança de dados são recomendadas apenas para empresas de grande porte.
Vamos analisar cada alternativa com base no **DAMA-DMBOK** e nas boas práticas de governança de dados: **a) Catálogo de dados é necessário apenas em data lakes e não tem grande utilidade em data warehouses.** ❌ Errado. Catálogo de dados é útil em **qualquer ambiente de dados**, especialmente em data warehouses, para facilitar descoberta, governança e documentação. --- **b) Metadados e catálogo de dados são dois termos sinônimos.** ❌ Errado. * **Metadados** = dados sobre os dados. * **Catálogo de dados** = ferramenta/sistema que **organiza, centraliza e facilita a consulta dos metadados**. Ou seja, **não são sinônimos**. --- **c) Governança de dados é uma área que deve ser observada apenas pela equipe de TI.** ❌ Errado. Governança de dados é **multidisciplinar**, envolvendo negócio, TI, jurídico, segurança etc. --- **d) Tags identificadoras de time responsável de cada tabela, nomes e tipos das colunas e colunas de partição das tabelas são exemplos de metadados.** ✅ **Correto.** Esses são exemplos de **metadados descritivos e operacionais**, amplamente utilizados em governança. --- **e) Boas práticas de governança de dados são recomendadas apenas para empresas de grande porte.** ❌ Errado. Governança é importante para **empresas de todos os portes** — podendo ser mais simples em empresas menores, mas ainda assim necessária. --- ✅ **Resposta correta: d)**
881
22. (CEBRASPE/BNB/2022) Julgue o item a seguir, relativo a conceitos de governança de dados e da metodologia do DAMA-DMBoK. O DAMA-DMBoK introduz a figura do mordomo de dados, indivíduo cujo trabalho é administrar a propriedade ou os dados de outra pessoa.
A afirmação diz: > “O DAMA-DMBOK introduz a figura do **mordomo de dados**, indivíduo cujo trabalho é administrar a **propriedade** ou os dados de outra pessoa.” ✔️ **O item está CERTO.** Por quê? No **DAMA-DMBOK**, o **Data Steward (mordomo de dados)** é definido como: * o **responsável por gerenciar, cuidar e zelar pelos dados**, * **em nome do Data Owner (proprietário dos dados)**. Ou seja: * **Data Owner** = proprietário, com autoridade e responsabilidade final. * **Data Steward** = mordomo / zelador, que **administra os dados em nome do proprietário**. Isso está exatamente alinhado ao que o item descreve. ✔ Conclusão **O item está correto.**
882
23. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, relativos à qualidade de dados. O gerenciamento de qualidade de dados inclui a definição de padrões e métricas sobre os dados, porém dispensa o gerenciamento do ciclo de vida desses dados.
A afirmação diz: > “O gerenciamento de qualidade de dados inclui a definição de padrões e métricas sobre os dados, **porém dispensa o gerenciamento do ciclo de vida desses dados**.” ❌ **O item está ERRADO.** ✔ Por quê? Segundo o **DAMA-DMBOK**, a **qualidade de dados** envolve: * definição de padrões e métricas; * monitoramento contínuo; * avaliação da qualidade; * correção e prevenção de erros; * **gestão da qualidade em todas as fases do ciclo de vida dos dados**. Ou seja: ➡ **O gerenciamento da qualidade NÃO dispensa o ciclo de vida.** Pelo contrário — ele deve **atuar em todas as fases**: criação, armazenamento, uso, transformação, arquivamento e descarte. ✔ Conclusão **O item é falso.**
883
24. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, relativos à qualidade de dados. A acurácia na qualidade de dados está diretamente associada à de duplicação, uma vez que indica que há exclusividade da fonte de dados e de suas entidades, de forma a garantir a precisão dos dados na vida real.
A afirmação diz: > “A acurácia na qualidade de dados está diretamente associada à deduplicação, uma vez que indica que há exclusividade da fonte de dados e de suas entidades, de forma a garantir a precisão dos dados na vida real.” ❌ **A afirmação está ERRADA.** ✔ Por quê? No **DAMA-DMBOK**, **acurácia** e **deduplicação** são conceitos **diferentes**: **Acurácia (Accuracy)** * Mede **o quanto os dados refletem corretamente o mundo real**. * Ex.: temperatura real = 25°C, dado armazenado = 25°C → acurado. **Deduplicação (Unicidade / Uniqueness)** * Refere-se à **eliminação de registros duplicados**. * Garante que exista **uma única instância correta de cada entidade**. ❗ O erro da afirmação Acurácia **não depende** de deduplicação. Um dado pode ser **acurado e duplicado** ao mesmo time. Ou pode ser **único, mas totalmente incorreto**. Exemplos: * Dois registros idênticos e corretos → acurados, mas não deduplicados. * Um único registro, mas errado → deduplicado, mas não acurado. ✔ Conclusão **A afirmação está falsa, pois acurácia ≠ deduplicação.**
884
25. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, relativos à qualidade de dados. Executar o profiling dos dados é similar a fazer uma fotografia inicial do estado dos dados em um domínio ou em uma área de assunto da organização.
**Gabarito: CERTO** A afirmação está **correta**. **Explicação:** O *data profiling* consiste em analisar um conjunto de dados para identificar seu estado atual — padrões, distribuições, tipos de dados, valores ausentes, inconsistências, duplicidades, regras de integridade etc. Por isso, ele é frequentemente descrito como uma **“fotografia inicial”** ou **diagnóstico inicial** da qualidade dos dados, permitindo entender como eles realmente se apresentam antes de qualquer processo de limpeza, integração ou governança. Portanto, a frase está alinhada ao conceito de *profiling* na qualidade de dados.
885
26. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, relativos à qualidade de dados. Definir processos de qualidade para modelos de dados implica analisar as regras de negócios fundamentais dos processos, bem como observar a qualidade dos dados, com a finalidade de garantir a conformidade da regra com o processo.
**Gabarito: CERTO** A afirmação está **correta**. **Explicação:** Quando se definem **processos de qualidade para modelos de dados**, é necessário: * **Analisar as regras de negócio** que regem os processos organizacionais. * **Observar e medir a qualidade dos dados** (completude, consistência, acurácia, integridade, atualidade etc.). * **Garantir que os modelos de dados estejam alinhados às regras de negócio** e que a implementação dos processos reflita corretamente essas regras. Ou seja, a definição de processos de qualidade envolve verificar se **regra → processo → dados** estão coerentes entre si, garantindo conformidade e padronização. Portanto, o item está **correto**.
886
27. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, relativos à qualidade de dados. Uma boa prática em relação à qualidade de dados é verificar a precisão dos dados, validando-se se estão corretamente representados, e a sua consistência, avaliando-se se há integridade cruzada entre duas ou mais fontes que armazenem o mesmo dado.
**Gabarito: CERTO** A afirmação está **correta**. Ela descreve exatamente duas dimensões clássicas da **qualidade de dados**: ✅ **Precisão (Acurácia)** * Refere-se a quão **corretamente os dados representam o valor real**. * Envolve verificar se o dado está **correto, verdadeiro e coerente com o mundo real**. ✅ **Consistência** * Relacionada à **integridade cruzada entre diferentes fontes ou sistemas**. * Significa que, se o mesmo dado aparece em mais de um lugar, **ele deve estar igual**, sem conflitos ou divergências. A frase está alinhada com o DAMA-DMBOK e com boas práticas de data quality, portanto está **correta**.
887
28. (CEBRASPE/SERPRO/2021) Julgue o item a seguir, referentes a conceitos e especificidades de MDM (master data management). A fim de gerenciar a qualidade de dados, o MDM se serve de ferramentas de validação dos dados que ajudam na visualização de todo o fluxo de gestão dos dados mestres, o que torna possível, de maneira rápida, a identificação de quaisquer desvios em relação à política de dados da empresa.
O Master Data Management (MDM) é uma prática que envolve a gestão de dados mestres para assegurar a consistência, acuracidade e integridade desses dados em toda a organização. Ferramentas de MDM frequentemente incluem funcionalidades de validação de dados para garantir que os dados mestres estejam em conformidade com as regras de negócios e políticas de governança de dados da empresa. No entanto, afirmar que o MDM por si só proporciona uma visualização de todo o fluxo de gestão dos dados mestres e permite a identificação rápida de quaisquer desvios pode ser uma simplificação. Embora o MDM ajude a centralizar e gerenciar dados mestres, a visualização completa do fluxo de dados e a rápida identificação de desvios geralmente dependem de uma combinação de ferramentas adicionais, como data lineage, data quality e data governance, que atuam em conjunto para monitorar e auditar o fluxo de dados e conformidade com as políticas. Gabarito: Errado
888
29. (AOCP/MJSP/2020) Assinale a alternativa que NÃO apresenta um princípio vinculado à Qualidade de Dados. a) O foco de um programa de qualidade de dados deve estar no impedimento de erros de dados. b) O escopo da qualidade dos dados vai da criação ou aquisição até a utilização dos dados. c) Um programa de qualidade de dados deve se concentrar nos dados mais críticos para a empresa e seus clientes. d) Problemas com a qualidade dos dados devem ser entendidos e abordados em suas causas raiz. e) Os níveis de qualidade dos dados precisam ser medidos de maneira objetiva e consistente.
a) Certo. Na verdade, acho essa alternativa um pouco discutível - temos vários focos, não um foco. O maior seria atender aos requisitos organizacionais, não o impedimento de erros... mas, temos alternativas ‘mais erradas’. b) Errado. O escopo vai até o descarte - ele não acaba no uso dos dados. c) Certo. De fato, o foco é nos dados críticos. d) Certo. Devemos encontrar as causas subjacentes nos erros. e) Certo. É imperioso que tenhamos uma medida objetiva e mensurável dos níveis de qualidade. Portanto, incorreta a letra B - com a ressalva do item A. Gabarito: Letra B
889
30. (Marinha/CP-T/2021) O guia DAMA-DMBOK estabelece alguns princípios básicos que visam a orientar a adoção da Gestão de Dados nas organizações. Nesse contexto, assinale a opção **INCORRETA**. a) Dados e informações são ativos valiosos das organizações e, como todo ativo, os dados devem ser gerenciados, assegurando qualidade adequada, segurança, integridade, proteção, disponibilidade, compreensão e uso efetivo. b) A responsabilidade da Gestão de Dados é compartilhada entre os Gestores de Dados de Negócio e os profissionais de Gestão de Dados de Tecnologia. c) A Gestão de Dados é uma disciplina que se propõe a gerir tão somente os metadados (e seus modelos de dados) da organização. d) Gestão de Dados é uma profissão emergente e em amadurecimento. e) Gestão de Dados é uma disciplina de negócios e um conjunto de funções relacionadas.
**Gabarito: C** A opção **INCORRETA** é: ❌ **c) A Gestão de Dados é uma disciplina que se propõe a gerir tão somente os metadados (e seus modelos de dados) da organização.** --- ✔ Por que está incorreta? Segundo o **DAMA-DMBOK**, a **Gestão de Dados** (Data Management) abrange **todas** as funções relacionadas ao ciclo de vida dos dados, incluindo: * governança de dados; * qualidade de dados; * arquitetura de dados; * dados mestres e de referência; * segurança de dados; * armazenamento e operações; * metadados; * modelagem e design, etc. Ou seja, **metadados são apenas uma das áreas**, não o foco exclusivo. --- ✔ Por que as demais estão corretas? **a)** Correto — Dados são sim ativos e devem ser gerenciados. **b)** Correto — A responsabilidade é compartilhada entre negócio e TI. **d)** Correto — A profissão está em expansão e amadurecimento. **e)** Correto — A gestão de dados é uma disciplina de negócios e um conjunto de funções. --- 📌 **Resposta: letra C.**
890
1. (CESPE / Polícia Federal – 2021) Em um sistema gerenciador de banco de dados, as restrições de integridade garantem que os dados possam ser armazenados, consultados e utilizados com confiabilidade.
Item **CORRETO (Verdadeiro)**. **Justificativa:** As **restrições de integridade** em um SGBD (como integridade de entidade, referencial, de domínio e regras de negócio) asseguram que os dados armazenados sejam **consistentes, válidos e confiáveis**, prevenindo inserções, atualizações ou exclusões que violem regras definidas. Com isso, os dados podem ser **armazenados, consultados e utilizados** de forma confiável.
891
2. (CESPE / TJ-AM – 2019) Uma das vantagens de utilizar sistema gerenciador de banco de dados é o fato de ele realizar o controle da redundância de dados, o que impede a ocorrência de inconsistências entre os arquivos.
Item **CORRETO (Verdadeiro)**. **Justificativa:** Uma das principais vantagens de um **SGBD** é o **controle da redundância de dados**, centralizando as informações e reduzindo a duplicação desnecessária. Com isso, diminui-se significativamente a possibilidade de **inconsistências** entre arquivos ou tabelas, aumentando a integridade e a confiabilidade dos dados.
892
3. (CESPE / EBSERH – 2018) Após um banco de dados ser criado, o administrador executa uma série de tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar informações na base de dados. A responsabilidade de gerir os acessos ao banco de dados é do sistema gerenciador de banco de dados (SGBD).
Item **CORRETO (Verdadeiro)**. **Justificativa:** Cabe ao **SGBD** implementar e controlar os mecanismos de **segurança e controle de acesso**, permitindo ao administrador do banco de dados (DBA) definir **permissões de leitura, gravação, atualização e exclusão** para usuários e perfis. Assim, a **gestão dos acessos** é realizada pelo próprio sistema gerenciador de banco de dados.
893
7. (CESPE / AGER-MT - 2023) Assinale a opção em que é apresentada a propriedade envolvida quando uma transação de banco de dados é completada com sucesso e as mudanças que ela fez no banco persistem, mesmo que existam falhas no sistema. a) atomicidade b) consistência c) isolamento d) durabilidade e) inconsistência de dados.
A alternativa **correta é a letra d) durabilidade**. **Justificativa:** A **durabilidade** é uma das propriedades **ACID** das transações em bancos de dados. Ela garante que, **uma vez que a transação seja concluída com sucesso (commit)**, todas as alterações realizadas **persistirão no banco de dados**, mesmo que ocorram **falhas no sistema**, como quedas de energia ou travamentos.
894
8. (CESPE / TCE-SC - 2022) Um esquema de banco de dados pode ser definido como a representação gráfica e simbológica dos componentes de um banco de dados, seja comercial, industrial ou residencial.
Item **INCORRETO (Falso)**. **Justificativa:** O **esquema de banco de dados** é a **descrição lógica** da estrutura do banco (tabelas, atributos, relacionamentos, restrições etc.), definida por meio de **linguagem formal** (como DDL), e **não** uma representação gráfica de componentes comerciais, industriais ou residenciais. A descrição do enunciado mistura o conceito de esquema de banco de dados com **plantas ou esquemas de instalações físicas**, o que não se aplica ao contexto de SGBD.
895
3. (CESPE / SEPLAN-RR - 2023) No modelo relacional, as estruturas de dados lógicas não são separadas das estruturas de armazenamento físico, o que significa que os administradores de banco de dados não podem gerenciar o armazenamento de dados físicos sem afetar o acesso a esses dados como uma estrutura lógica.
Item **INCORRETO (Falso)**. **Justificativa:** No **modelo relacional** (e nos SGBDs modernos), existe **independência entre o nível lógico e o nível físico** dos dados (**independência de dados**). Isso significa que o **administrador do banco de dados pode gerenciar o armazenamento físico** (índices, organização de arquivos, partições, métodos de acesso etc.) **sem impactar a estrutura lógica** nem o modo como os usuários acessam os dados por meio de consultas SQL. O enunciado afirma exatamente o contrário desse princípio, razão pela qual está incorreto.
896
4. (CESPE / FUNPRESP-EXE - 2022) Seguindo uma visão relacional, além de seus próprios atributos, a entidade ENDERECO deve possuir como chave estrangeira a chave primária CODIGO da tabela PESSOA.
Item **CORRETO (Verdadeiro)**. **Justificativa:** Em uma **visão relacional**, quando a entidade **ENDERECO** está associada à entidade **PESSOA** (por exemplo, no relacionamento *uma pessoa possui um ou mais endereços*), é necessário que a tabela **ENDERECO** contenha, além de seus próprios atributos, uma **chave estrangeira** que **referencie a chave primária `CODIGO` da tabela `PESSOA`**. Essa chave estrangeira garante a **integridade referencial** entre as tabelas, sendo a forma padrão de implementação de relacionamentos no modelo relacional.
897
5. (CESPE / FUNPRESP-EXE - 2022) View é uma visualização customizada de uma ou mais tabelas, com seus dados armazenados fisicamente e montada a partir da execução de uma consulta.
Item **INCORRETO (Falso)**. **Justificativa:** Uma **view** é uma **tabela virtual**, definida a partir da execução de uma **consulta SQL**, que fornece uma visualização customizada de uma ou mais tabelas. Entretanto, **os dados da view não são armazenados fisicamente** no banco de dados; o que é armazenado é apenas a **definição da consulta**. Os dados são obtidos dinamicamente a cada acesso à view. > Observação: somente **views materializadas** armazenam dados fisicamente, o que não foi mencionado no enunciado.
898
6. (CESPE / SEFAZ-AL – 2021) Em um banco de dados relacional, uma chave externa fornece uma relação entre duas tabelas, ou seja, ela é a chave principal de uma tabela e, portanto, aparece como atributo em outra tabela.
Item **CORRETO (Verdadeiro)**. **Justificativa:** Em um **banco de dados relacional**, a **chave estrangeira (chave externa)** estabelece o **relacionamento entre duas tabelas**, pois corresponde à **chave primária de uma tabela** que **aparece como atributo em outra tabela**. Esse mecanismo garante a **integridade referencial**, assegurando que os valores da chave estrangeira existam na tabela referenciada.
899
7. (CESPE / ISS-Aracaju – 2021) Em um banco de dados relacional, a condição que garante que valores não possam se repetir dentro da mesma coluna denomina-se: a) Foreign key. b) Cláusula unique. c) Domain restriction. d) Índice cluster. e) Reference key.
A alternativa **correta é a letra b) Cláusula UNIQUE**. **Justificativa:** A **cláusula (ou restrição) UNIQUE** garante que **os valores de uma coluna (ou conjunto de colunas)** não se repitam dentro de uma tabela em um banco de dados relacional. **Análise das demais alternativas:** * **a) Foreign key** – garante integridade referencial entre tabelas. * **c) Domain restriction** – limita o conjunto de valores possíveis (tipo, faixa, formato). * **d) Índice cluster** – define a organização física dos dados, não unicidade. * **e) Reference key** – não é a denominação correta no modelo relacional.
900
9. (CESPE / APEX-BRASIL – 2021) Não pode ter valor nulo em uma tabela do banco de dados um campo: a) que seja chave estrangeira. b) que tenha sido utilizado em um índice. c) que seja chave primária. d) que represente uma data de nascimento.
A alternativa **correta é a letra c) que seja chave primária**. **Justificativa:** Em um banco de dados relacional, a **chave primária** identifica unicamente cada registro da tabela e, por definição, **não pode conter valores nulos (NULL)** nem valores repetidos. **Análise das demais alternativas:** * **a) chave estrangeira** – *pode* assumir valor nulo, quando o relacionamento é opcional. * **b) campo utilizado em índice** – pode conter valores nulos, a depender do SGBD. * **d) data de nascimento** – pode ser nula, caso a informação não seja obrigatória. ✅ **Gabarito: letra C**.
901
8. (CESPE / SEFAZ - RS – 2019) Uma das regras de Codd para o modelo relacional consiste: a) na independência de distribuição. b) na presença de uma linguagem de programação no SGBD que promova interface com o banco de dados, com a segurança e com a atualização dos dados. c) na subversão das regras de integridade ou restrições quando utilizada uma linguagem de baixo nível. d) no não tratamento das atualizações de visões de dados. e) na dependência de dados físicos (mudança na memória e no método de acesso).
A alternativa **correta é a letra a) na independência de distribuição**. **Justificativa:** Entre as **12 regras de Codd** para o modelo relacional, está a **independência de distribuição**, que estabelece que a **distribuição física dos dados** (em diferentes locais, servidores ou nós) **não deve afetar o modo como os usuários acessam ou manipulam os dados**. **Análise das demais alternativas:** * **b)** Incorreta. Codd exige uma **linguagem de dados completa** (DDL, DML, controle de integridade e segurança), não uma “linguagem de programação”. * **c)** Incorreta. Há a regra da **não subversão**, que **proíbe** a violação das regras de integridade por linguagens de baixo nível. * **d)** Incorreta. Codd prevê o **tratamento adequado de atualizações em visões (views)**. * **e)** Incorreta. O modelo relacional preza pela **independência de dados físicos**, e não pela dependência. ✅ **Gabarito: letra A**.
902
10. (CESPE / TCE-RJ – 2021) Superchaves e chaves primárias são utilizadas para diferenciar de maneira única as instâncias de uma entidade, assim como para facilitar o processamento.
Item **CORRETO (Verdadeiro)**. **Justificativa:** No modelo relacional, **superchaves** e **chaves primárias** têm a função de **identificar unicamente as instâncias (tuplas) de uma entidade/tabela**. A **chave primária** é uma **superchave mínima** escolhida para identificar os registros e, além de garantir unicidade, **facilita o processamento**, o acesso, a indexação e o estabelecimento de relacionamentos no banco de dados.
903
11. (CEBRASPE / FINEP - 2024) Em relação à modelagem de dados, assinale a opção correta. a) Na especialização parcial, toda a entidade na superclasse deve ser um membro de pelo menos uma das subclasses na especialização. b) O modelo relacional representa os dados em um banco de dados apenas como uma coleção de relações (tabelas). c) Generalização e especialização na modelagem conceitual em banco de dados são conceitos usados para representar objetos do mundo real que possuem diferentes atributos. d) Atributos representam todos os valores possíveis que um domínio pode receber. e) Na modelagem de dados relacional, diferentes tabelas de dados se unem ou se vinculam a partir de chaves que representam a relação de entidades do mundo real.
A alternativa **correta é a letra e)**. **Justificativa:** Na **modelagem de dados relacional**, as **tabelas** se relacionam por meio de **chaves (primárias e estrangeiras)**, que representam, no banco de dados, os **relacionamentos existentes entre entidades do mundo real**. Esse é o mecanismo central para garantir a integridade referencial no modelo relacional. **Análise das demais alternativas:** * **a)** Incorreta. Na **especialização parcial**, **nem toda** entidade da superclasse precisa pertencer a uma subclasse (isso ocorre na especialização **total**). * **b)** Incorreta. O modelo relacional não envolve *apenas* tabelas, mas também **domínios, restrições, chaves e regras de integridade**. * **c)** Incorreta. Generalização e especialização representam principalmente uma relação **IS-A (é-um)** entre entidades, e não apenas a existência de diferentes atributos. * **d)** Incorreta. **Domínio** representa o conjunto de valores possíveis; **atributo** é a característica que assume valores desse domínio. ✅ **Gabarito: letra E**.
904
12. (CEBRASPE / FINEP - 2024) Para combinar informações de duas relações quaisquer, é correto o uso de a) produto cartesiano. b) diagrama de esquema. c) chave primária. d) chave estrangeira. e) superchave.
A alternativa **correta é a letra a) produto cartesiano**. **Justificativa:** No **modelo relacional**, a operação básica que permite **combinar informações de duas relações quaisquer** é o **produto cartesiano**, que associa **cada tupla da primeira relação com todas as tuplas da segunda**. Outras operações, como **junção (JOIN)**, são definidas **a partir do produto cartesiano**, acrescido de uma condição de seleção. **Análise das demais alternativas:** * **b) diagrama de esquema** – é um artefato de modelagem, não uma operação relacional. * **c) chave primária** – identifica tuplas, não combina relações. * **d) chave estrangeira** – estabelece relacionamento lógico, não combina dados. * **e) superchave** – garante unicidade, não combinação. ✅ **Gabarito: letra A**.
905
(CESPE / PO-AL - 2023) Em SQL, para que não haja erro de construção (sintaxe), as cláusulas GROUP BY e HAVING, quando usadas, devem ser definidas sempre antes da cláusula WHERE.
Item **INCORRETO (Falso)**. **Justificativa:** Na **ordem correta de construção de uma consulta SQL**, as cláusulas seguem, de forma geral, a seguinte sequência: ```sql SELECT FROM WHERE GROUP BY HAVING ORDER BY ``` Ou seja: * **WHERE** vem **antes** do **GROUP BY**; * **HAVING** vem **depois** do **GROUP BY**, sendo usada para filtrar **grupos agregados**. O enunciado afirma que **GROUP BY e HAVING devem vir antes do WHERE**, o que está **em desacordo com a sintaxe SQL**, tornando a assertiva falsa.
906
(CESPE / SEPLAN-RR - 2023) Os comandos TRUNCATE e DROP TABLE removem todas as linhas de uma tabela, porém o comando DROP TABLE exclui também a estrutura da tabela do banco de dados bem como todos os dados armazenados na tabela.
Item **CORRETO (Verdadeiro)**. **Justificativa:** * **TRUNCATE TABLE** remove **todas as linhas** da tabela, de forma rápida, mantendo a **estrutura da tabela** (colunas, tipos, restrições básicas). * **DROP TABLE** remove **todas as linhas** **e também a própria estrutura da tabela**, excluindo a tabela do banco de dados. Assim, ambos eliminam os dados, mas **apenas o DROP TABLE exclui a estrutura**, exatamente como afirma o enunciado.
907
(CESPE / TCE-SC - 2022) Considerando as tabela1 e tabela2 apresentadas, julgue o item que se segue, referentes a banco de dados. Considere que o comando a seguir seja executado sem erro. select campo from tabela2 where exists (select campo from tabela1) Nesse caso, o resultado será a tabela seguinte. campo ------ 5 5 8 8 9
Item **INCORRETO (Falso)**. **Justificativa:** A subconsulta usada no `EXISTS` **não é correlacionada** com a consulta externa: ```sql select campo from tabela2 where exists (select campo from tabela1) ``` * A subconsulta `(select campo from tabela1)` **retorna linhas** (tabela1 não está vazia). * Quando a subconsulta retorna **ao menos uma linha**, a condição `EXISTS` é **verdadeira para todas as linhas** da consulta externa. * Portanto, **todas as linhas de `tabela2`** devem ser retornadas. Como `tabela2` possui os valores: ``` 5 5 7 8 8 9 ``` ➡️ **Resultado correto**: ``` campo ------ 5 5 7 8 8 9 ``` O resultado apresentado no enunciado **omite o valor 7**, logo o item está **falso**.
908
(CESPE / TCE-SC - 2022) O comando create database aluno permite criar uma tabela de nome aluno no banco de dados.
Item **INCORRETO (Falso)**. **Justificativa:** O comando: ```sql CREATE DATABASE aluno; ``` é utilizado para **criar um banco de dados** chamado **aluno**, e **não uma tabela**. Para criar uma **tabela**, o comando correto seria: ```sql CREATE TABLE aluno (...); ``` Portanto, o enunciado confunde os comandos **CREATE DATABASE** e **CREATE TABLE**, o que torna a assertiva falsa.
909
1. (CESPE / CEBRASPE - 2020 - Ministério da Economia - Tecnologia da Informação - Ciência de Dados) Um arquivo CSV (character-separated values) típico é composto de um registro header, um ou mais registros de detalhe e um registro trailer, e cada um desses registros possui um campo de tamanho fixo.
**Item: ERRADO (FALSO).** **Justificativa:** Um arquivo **CSV (Comma-Separated Values)** **não possui uma estrutura rígida** como a descrita no enunciado. Em geral: * ✅ Pode até ter **header** (linha de cabeçalho), mas **não é obrigatório**. * ❌ **Não existe conceito padrão de registro trailer** em CSV. * ❌ Os registros **não possuem campos de tamanho fixo** — os campos são **delimitados por caracteres separadores** (vírgula, ponto e vírgula, tabulação etc.). * ❌ O modelo **header + detalhe + trailer** é típico de **arquivos de tamanho fixo (fixed-width)** ou layouts bancários/legados, **não de CSV**. 📌 **Resumo:** CSV é um formato **simples, flexível e delimitado**, sem exigência de trailer nem campos com tamanho fixo. ✔️ Portanto, o item está **INCORRETO**, conforme o padrão CESPE/CEBRASPE.
910
2. (CESPE / DPDF - 2022) Nos códigos em XML a seguir, sexo é um atributo no código A e um elemento no código B, mas ambos os códigos fornecem as mesmas informações. **código A** Maria Silva **código B** fem Maria Silva
**Item: CERTO (VERDADEIRO).** **Justificativa:** Nos dois trechos de **XML**, a informação **“sexo = fem”** está presente, apenas representada de formas diferentes: * **Código A:** 👉 `sexo` é um **atributo** do elemento ``. * **Código B:** fem 👉 `sexo` é um **elemento filho** de ``. Do ponto de vista **semântico (da informação transmitida)**, ambos os códigos informam que a pessoa é do sexo feminino. O XML permite modelar dados tanto por **atributos** quanto por **elementos**, sem que isso altere o conteúdo informacional. 📌 **Atenção ao padrão CESPE/CEBRASPE:** Embora existam **boas práticas** (por exemplo, usar elementos para dados que podem crescer ou ter estrutura), **a questão afirma apenas que a informação fornecida é a mesma**, o que é **verdade**. ✔️ Portanto, o item está **CORRETO**.
911
3. (CEBRASPE (CESPE)/2019/Auditor de Controle Interno (COGE CE) / Auditoria/ Tecnologia da Informação As estruturas básicas que constituem um JSon são a) uma lista de valores e uma coleção de strings/inteiros. b) uma lista de inteiros e uma coleção de pares de strings. c) uma lista de valores ordenados e uma coleção de pares nome/valor. d) uma lista de strings e uma coleção de pares de booleanos. e) uma lista de booleanos e uma coleção de listas de strings.
**Resposta correta: letra C.** **Justificativa:** O **JSON (JavaScript Object Notation)** possui **duas estruturas básicas**, conforme sua especificação: 1. **Array (lista ordenada de valores)** * Representado por colchetes `[]` * Pode conter valores de vários tipos: string, número, boolean, objeto, array, `null` * Exemplo: ["Maria", 30, true] 2. **Object (coleção de pares nome/valor)** * Representado por chaves `{ }` * Cada par é composto por um **nome (string)** e um **valor** * Exemplo: { "nome": "Maria", "idade": 30 } 📌 **Análise das alternativas:** * **a)** ❌ Incorreta — não se limita a strings/inteiros. * **b)** ❌ Incorreta — arrays não são apenas de inteiros. * **c)** ✅ **Correta** — descreve exatamente **array (lista ordenada de valores)** e **object (coleção de pares nome/valor)**. * **d)** ❌ Incorreta — não há essa limitação de tipos. * **e)** ❌ Incorreta — definição incompatível com JSON. ✔️ **Gabarito:** **C**
912
4. (CESPE / Ministério de Economia – 2020) O JavaScript Object Notation (JSON) é um formato de intercâmbio de dados baseado em texto. De acordo com a gramática JSON, especificada na RFC 8259, é correto afirmar que: a) um array é representado como colchetes em torno de zero ou mais elementos. b) uma string começa e termina com crases. c) nomes literais devem ser utilizados em caixa alta. d) um número é representado na base 16 usando símbolos alfanuméricos. e) um objeto é representado como um par de parênteses em torno de zero ou mais pares nome/valor.
**Resposta correta: letra A.** **Justificativa (conforme a RFC 8259):** * **a) ✅ Correta** — Um **array JSON** é representado por **colchetes `[ ]`** contendo **zero ou mais elementos**, separados por vírgula. Ex.: [1, "abc", true] * **b) ❌ Incorreta** — Strings em JSON começam e terminam com **aspas duplas (`"`)**, e **não com crases**. ✔️ Correto seria: `"texto"` * **c) ❌ Incorreta** — **Nomes literais (chaves)** em objetos JSON **não precisam estar em caixa alta**; apenas devem ser **strings entre aspas duplas**. Ex.: `"nome": "Maria"` * **d) ❌ Incorreta** — Números em JSON são representados **em base 10**, não em base 16 (hexadecimal não é permitido). * **e) ❌ Incorreta** — Um **objeto JSON** é representado por **chaves `{ }`**, e não por parênteses. Ex.: {"idade": 30} ✔️ **Gabarito:** **A**
913
5. (CESPE / TRT8 – 2022) Assinale a opção que apresenta a notação que representa corretamente em JSON a propriedade de Nome para as Pessoas João e Maria. a) {"Pessoas": {"Nome":"João" }, {"Nome":"Maria"}} b) {"Pessoas": [{"Nome":"João" } {"Nome":"Maria"}]} c) {"Pessoas": ["Nome":"João", "Nome":"Maria"]} d) {"Pessoas" [{"Nome":"João"}, {"Nome":"Maria"}]} e) {"Pessoas": [{"Nome":"João"}, {"Nome":"Maria"}]}
**Resposta correta: letra E.** **Justificativa:** Em **JSON**, para representar **mais de uma pessoa**, devemos usar: * Um **objeto** `{ }` para a estrutura principal; * Um **array** `[ ]` para a lista de pessoas; * Cada pessoa como um **objeto** com a propriedade `"Nome"`. A notação correta é: { "Pessoas": [ {"Nome": "João"}, {"Nome": "Maria"} ] } 📌 **Análise das alternativas:** * **a)** ❌ Incorreta — estrutura inválida: dois objetos soltos dentro de outro objeto. * **b)** ❌ Incorreta — falta **vírgula** entre os objetos do array. * **c)** ❌ Incorreta — pares `"Nome":"valor"` não podem existir diretamente em arrays. * **d)** ❌ Incorreta — falta o **dois-pontos (`:`)** após `"Pessoas"`. * **e)** ✅ **Correta** — objeto com a chave `"Pessoas"` associada a um **array de objetos**, cada um contendo `"Nome"`. ✔️ **Gabarito:** **E**
914
6. (CESPE / TRE-MT – 2015) Assinale a opção que apresenta corretamente um objetivo seguido de uma representação em JSON (JavaScript Object Notation). a) Representar o ano de 2015: ano:= [2015]. b) Representar a cotação do dólar: "dolar": 3.87. c) Representar a projeção do PIB brasileiro negativo: {PIB-BR}= -3[%]. d) Representar valor booleano: {recessão}:= [true]. e) Representar array de strings: {“[DF],[MT],[MS],[AM]”}.
**Resposta correta: letra B.** **Justificativa (análise conforme a sintaxe JSON):** * **a) ❌ Incorreta** ano:= [2015]. ❌ JSON **não usa `:=` nem ponto final**. Além disso, isso não é um objeto JSON válido. * **b) ✅ Correta** "dolar": 3.87 ✔️ É uma **propriedade nome/valor válida em JSON**: * nome (string entre aspas) * valor numérico em base 10 Embora isolada não forme um objeto completo, **a questão pede corretamente uma representação**, e esta está sintaticamente correta segundo o padrão CESPE. * **c) ❌ Incorreta** {PIB-BR}= -3[%] ❌ Uso de `{}` incorreto, sinal de igual inválido, `%` não existe em JSON e nomes devem estar entre aspas. * **d) ❌ Incorreta** {recessão}:= [true] ❌ Uso incorreto de `{}`, `:=` e colchetes sem necessidade; além disso, chave deveria estar entre aspas. * **e) ❌ Incorreta** {“[DF],[MT],[MS],[AM]”} ❌ Isso é apenas uma **string**, não um array. O correto seria: ["DF", "MT", "MS", "AM"] ✔️ **Gabarito:** **B**
915
7. (CEBRASPE / ITAIPU BINACIONAL - 2024) XML é considerado(a) a) uma linguagem de programação. b) uma IDE para desenvolvimento. c) uma linguagem de marcação. d) um protocolo para comunicação mobile. e) um padrão para interface web.
**Resposta correta: letra C.** **Justificativa:** **XML (eXtensible Markup Language)** é classificado como uma **linguagem de marcação**, utilizada para **estruturar, armazenar e transportar dados** de forma legível por humanos e máquinas. 📌 **Análise das alternativas:** * **a) ❌ Linguagem de programação** — XML **não possui lógica, controle de fluxo ou execução**. * **b) ❌ IDE** — XML não é um ambiente de desenvolvimento. * **c) ✅ Linguagem de marcação** — **definição correta**. * **d) ❌ Protocolo mobile** — XML pode ser usado em protocolos, mas **não é um protocolo**. * **e) ❌ Padrão para interface web** — pode ser usado na web, mas não define interface gráfica. ✔️ **Gabarito:** **C**
916
8. (CEBRASPE / MPE-RO - 2023) Em XML, a linguagem de marcação que define a estrutura e os elementos que vão compor um documento, além de suportar tipos de dados e namespaces, é chamada de a) XML Schema. b) XPATH (XML Path Language). c) DOM (Document Object Model). d) XSLT (eXtensible Stylesheet Language Transformations). e) DTD (Document Type Definition).
**Resposta correta: letra A.** **Justificativa:** A linguagem de marcação que **define a estrutura e os elementos de um documento XML**, **suporta tipos de dados** e **namespaces** é o **XML Schema (XSD)**. 📌 **Por que o XML Schema é o correto?** * Define **elementos, atributos e hierarquia** do XML; * Permite especificar **tipos de dados** (string, integer, date, boolean etc.); * **Suporta namespaces**, possibilitando integração entre diferentes vocabulários XML; * É mais poderoso e moderno que o DTD. 📌 **Análise das alternativas:** * **a) ✅ XML Schema** — **correta**, atende exatamente ao que o enunciado descreve. * **b) ❌ XPath** — linguagem de **consulta/navegação** em documentos XML. * **c) ❌ DOM** — modelo de **representação em memória** do documento XML. * **d) ❌ XSLT** — linguagem de **transformação** de documentos XML. * **e) ❌ DTD** — define estrutura, mas **não suporta tipos de dados avançados nem namespaces**. ✔️ **Gabarito:** **A**
917
1. (CEBRASPE / TRF - 6ª REGIÃO - 2025) Acerca de business intelligence, ETL e OLAP, julgue o item que se segue. A análise preditiva utiliza algoritmos estatísticos e modelos de machine learning para identificar padrões históricos nos dados e projetar tendências futuras, de forma a guiar decisões proativas e permitir a antecipação de cenários críticos para o negócio.
**Item: CERTO (VERDADEIRO).** **Justificativa:** A **análise preditiva** é, de fato, uma vertente do **Business Intelligence avançado / Analytics**, que: * utiliza **métodos estatísticos** (regressão, séries temporais, probabilidade etc.); * emprega **modelos de machine learning** (árvores de decisão, redes neurais, regressão logística, entre outros); * analisa **padrões históricos dos dados**; * **projeta tendências e comportamentos futuros**. O objetivo central é **apoiar decisões proativas**, permitindo que a organização **antecipe cenários, riscos e oportunidades**, inclusive **situações críticas para o negócio**. 📌 O enunciado está **alinhado com a definição clássica** adotada em provas do CEBRASPE sobre: * BI estratégico, * analytics, * e uso de dados para apoio à decisão. ✔️ **Gabarito:** **CERTO**
918
2. (CEBRASPE / TRF - 6ª REGIÃO - 2025) Acerca de business intelligence, ETL e OLAP, julgue o item que se segue. Na transformação avançada do ETL, a derivação de dados cria novos atributos ou métricas a partir de colunas existentes, usando cálculos complexos e funções analíticas para enriquecer o dataset e suportar análises preditivas e segmentações contextuais.
**Item: CERTO (VERDADEIRO).** **Justificativa:** No processo **ETL (Extract, Transform, Load)**, especialmente na **fase de transformação avançada**, é comum realizar **derivação de dados**, que consiste em: * criar **novos atributos ou métricas** a partir de colunas já existentes; * aplicar **cálculos, regras de negócio, agregações e funções analíticas**; * **enriquecer o dataset**, tornando-o mais adequado para análises. Essas transformações são amplamente utilizadas para: * **análises preditivas**; * **segmentação de clientes, produtos ou eventos**; * suporte a **modelos analíticos e de BI avançado**. 📌 O enunciado está **tecnicamente correto** e em consonância com a literatura de **Data Warehousing, BI e Analytics**, sendo compatível com o padrão de cobrança do **CEBRASPE**. ✔️ **Gabarito:** **CERTO**
919
3. (CEBRASPE / TRF - 6ª REGIÃO - 2025) A respeito da arquitetura de DW (data warehouse) e do processo ETL (Extract, Transformation and Load), julgue o item a seguir. No processo ETL, a etapa de transformação é responsável por aplicar as regras de adequação, convertendo os dados ao formato requerido pelo DW, garantindo sua consistência e usabilidade.
**Item: CERTO (VERDADEIRO).** **Justificativa:** No processo **ETL (Extract, Transform, Load)**, a etapa de **Transformação (Transform)** tem exatamente a função descrita no enunciado, sendo responsável por: * aplicar **regras de adequação e de negócio**; * **converter formatos de dados** (tipos, unidades, códigos, padrões); * realizar **limpeza, padronização e validação** dos dados; * garantir **consistência, qualidade e integridade**; * tornar os dados **usáveis e compatíveis** com o modelo do **Data Warehouse (DW)**. Essa etapa é essencial para que os dados carregados no DW sejam **confiáveis**, **consistentes** e **adequados às análises OLAP e de BI**. 📌 O enunciado está **perfeitamente alinhado** com a arquitetura clássica de **DW/ETL** cobrada pelo **CEBRASPE**. ✔️ **Gabarito:** **CERTO**
920
4. (CESPE / TCE-RJ - 2021) ETL (Extract Transform Load) é uma ferramenta utilizada para extrair informações e realizar análise multidimensional no Data Warehouse.
**Item: ERRADO (FALSO).** **Justificativa:** O **ETL (Extract, Transform, Load)** **não é utilizado para análise multidimensional**. Sua função é **preparar os dados** para que **outras ferramentas** possam realizar a análise. 📌 **O que o ETL faz:** * **Extrai** dados de sistemas operacionais e fontes diversas; * **Transforma** os dados (limpeza, padronização, regras de negócio); * **Carrega** os dados no **Data Warehouse**. 📌 **O que realiza a análise multidimensional:** * Ferramentas **OLAP** (Online Analytical Processing); * Cubos OLAP, consultas analíticas, drill-down, roll-up, slice e dice. ❌ Portanto, afirmar que o ETL “extrai informações e realiza análise multidimensional no DW” está incorreto, pois **a análise multidimensional não é função do ETL**, e sim das **ferramentas OLAP/BI**. ✔️ **Gabarito:** **ERRADO**
921
5. (CESPE / TJ-PA – 2020) Assinale a opção que indica um processo de extração e transformação de dados em um data Warehouse: a) Big Data b) OLAP c) OLTP d) ETL e) machine learning
O processo de extração e transformação de dados para um data Warehouse é o ETL. Gabarito: D
922
6. (CESPE / STM – 2018) Em processos ligados a ETL, os dados são identificados e extraídos de diferentes fontes, incluindo sistemas de banco de dados e aplicações.
Dados realmente são identificados e extraídos de diversas fontes diferentes de forma consistente, padronizada e uniforme no Processo de ETL. Gabarito: C
923
7. (CESPE / CGM JOÃO PESSOA – 2018) Uma ferramenta de ETL deve ser capaz de extrair dados de fontes heterogêneas, copiá-los para uma área de transição, onde possam ser convertidos conforme o padrão estabelecido, e, ainda, realizar limpeza e correção nesses dados, de acordo com regras preestabelecidas.
**Item: CERTO (VERDADEIRO).** **Justificativa:** A afirmação descreve **corretamente as funcionalidades essenciais de uma ferramenta de ETL**, que incluem: * **Extração** de dados a partir de **fontes heterogêneas** (bancos de dados, arquivos, sistemas legados, APIs etc.); * **Carga em uma área de transição (staging area)**, onde os dados ficam temporariamente armazenados; * **Conversão e padronização** dos dados conforme o **modelo e os padrões definidos**; * **Limpeza, validação e correção** dos dados, aplicando **regras de negócio e qualidade** previamente estabelecidas. 📌 Esses passos são **clássicos na arquitetura de Data Warehouse** e estão totalmente alinhados com a literatura de **ETL, BI e DW**, bem como com o padrão de cobrança do **CESPE/CEBRASPE**. ✔️ **Gabarito:** **CERTO**
924
9. (CESPE / TJ-SE – 2014) O processo de extração, transformação e carga, comumente referenciado como ETL (Extract-Transform-Load), é um processo usado na criação e na atualização de um Datawarehouse.
**Item: CERTO (VERDADEIRO).** **Justificativa:** O **ETL (Extract, Transform, Load)** é o processo **fundamental** utilizado tanto na **criação** quanto na **atualização/manutenção** de um **Data Warehouse**. 📌 **Na criação do DW:** * extrai dados das fontes operacionais; * transforma e padroniza os dados; * carrega os dados iniciais no DW. 📌 **Na atualização do DW:** * realiza cargas **periódicas** (batch ou incrementais); * mantém os dados **atualizados, consistentes e históricos**. Essa definição é **clássica** na literatura de **Data Warehousing e BI** e está totalmente alinhada ao padrão de cobrança do **CESPE/CEBRASPE**. ✔️ **Gabarito:** **CERTO**
924
8. (CESPE / STM – 2018) O ambiente ETL permite a visualização dos dados para análise de maneira multidimensional.
**Item: ERRADO (FALSO).** **Justificativa:** O **ambiente ETL (Extract, Transform, Load)** **não é destinado à visualização nem à análise multidimensional** dos dados. 📌 **Função do ETL:** * **Extrair** dados de diversas fontes; * **Transformar** os dados (limpeza, padronização, regras de negócio); * **Carregar** os dados no **Data Warehouse**. 📌 **Quem realiza análise e visualização multidimensional:** * Ferramentas **OLAP (Online Analytical Processing)**; * Cubos OLAP; * Ferramentas de **BI e dashboards**. ❌ Portanto, afirmar que o ETL “permite a visualização dos dados para análise de maneira multidimensional” está incorreto, pois essa função pertence ao **OLAP/BI**, não ao ETL. ✔️ **Gabarito:** **ERRADO**
925
10. CESPE /TJ-PA – 2020) Assinale a opção que indica um processo de extração e transformação de dados em um data Warehouse: a) Big Data b) OLAP c) OLTP d) ETL e) machine learning
**Resposta correta: letra D.** **Justificativa:** O processo responsável pela **extração e transformação de dados** em um **Data Warehouse** é o **ETL (Extract, Transform, Load)**. 📌 **Análise das alternativas:** * **a) Big Data** ❌ — conceito/ecossistema para tratamento de grandes volumes de dados, não um processo de extração e transformação específico do DW. * **b) OLAP** ❌ — voltado à **análise multidimensional**, não à extração ou transformação. * **c) OLTP** ❌ — sistemas transacionais, foco em operações do dia a dia. * **d) ETL** ✅ — **extrai**, **transforma** e **carrega** dados no Data Warehouse. * **e) Machine learning** ❌ — técnica analítica, não processo de integração de dados. ✔️ **Gabarito:** **D**
926
2. (CESPE / CNMP - 2023) Fatos, dimensões e medidas são elementos essenciais de um data warehouse.
**Item: CERTO (VERDADEIRO).** **Justificativa:** Em um **Data Warehouse (DW)**, especialmente na **modelagem dimensional** (como o esquema estrela ou floco de neve), os elementos **fundamentais** são: * **Fatos** Representam os **eventos de negócio** (ex.: vendas, atendimentos, transações). * **Medidas** São os **valores quantitativos** associados aos fatos (ex.: valor da venda, quantidade, tempo). * **Dimensões** Fornecem o **contexto de análise** dos fatos (ex.: tempo, produto, cliente, local). 📌 Esses três componentes são **basilares** para permitir análises **OLAP**, como *drill-down*, *roll-up*, *slice* e *dice*, e constituem o núcleo de qualquer arquitetura de **Data Warehouse**. ✔️ **Gabarito:** **CERTO**
927
3. (CESPE / DPDF – 2022) Um ambiente de data warehouse permite acessos simultâneos ao mesmo registro, para consulta e(ou) atualização, sem a preocupação com bloqueios de deadlock.
Deadlock é uma situação em que ocorre um impasse, e dois ou mais processos ficam impedidos de continuar suas execuções. Essa situação não ocorre em data warehouses, pois eles suportam o acesso simultâneo. Os dados vêm de um ambiente operacional e, depois de carregados no DW, podem ser consultados sem necessidade de nenhum tipo de bloqueio por concorrência de usuários no seu acesso. Gabarito: Correto
928
4. (CESPE / Petrobrás - 2022) No processo de preparação de dados para BI, um dado com incompletude é normalmente aquele cujo valor está fora do domínio do atributo.
**Item: ERRADO (FALSO).** **Justificativa:** No contexto de **preparação de dados para BI / qualidade de dados**: * **Incompletude** refere-se a **dados ausentes ou não preenchidos** 👉 valores nulos, em branco ou desconhecidos. * Já um dado **fora do domínio do atributo** caracteriza **inconsistência** ou **invalidade**, **não incompletude**. Ex.: * Idade = `-5` → fora do domínio válido * Sexo = `"X"` quando o domínio é `{M, F}` 📌 **Resumo clássico (muito cobrado pelo CESPE):** * **Incompletude** → dado faltante * **Inconsistência / Invalidade** → valor fora do domínio ou regra de negócio ❌ Portanto, a afirmação está **INCORRETA**. ✔️ **Gabarito:** **ERRADO**
929
5. (CESPE / SEFAZ-AL – 2021) Um armazém de dados contém um subconjunto de informações obtidas de um repositório de dados, para atender às necessidades de uma unidade de negócios em uma empresa.
**Item: ERRADO (FALSO).** **Justificativa:** A afirmação **não descreve corretamente um Data Warehouse**, mas sim um **Data Mart**. 📌 **Diferença conceitual (clássica no CESPE/CEBRASPE):** * **Data Warehouse (DW):** * Repositório **centralizado e corporativo**; * Integra dados de **toda a organização**; * Atende **múltiplas áreas de negócio**; * Visão **global e integrada** dos dados. * **Data Mart:** * **Subconjunto** de dados; * Derivado de um **Data Warehouse** ou outro repositório; * Voltado a **uma unidade ou área específica** (ex.: finanças, RH, vendas). 📌 O enunciado afirma que o “armazém de dados contém um subconjunto de informações para atender uma unidade de negócios”, o que caracteriza **Data Mart**, e não **Data Warehouse**. ❌ Portanto, o item está **INCORRETO**. ✔️ **Gabarito:** **ERRADO**
930
6. (CESPE / ANTT – 2024) Um sistema de suporte à decisão possui, tipicamente, os seguintes subsistemas: gerenciamento de dados, gerenciamento de modelos e gerenciamento de diálogo.
**Item: CERTO (VERDADEIRO).** **Justificativa:** Um **Sistema de Suporte à Decisão (DSS – Decision Support System)** é tradicionalmente composto por três **subsistemas clássicos**, conforme a literatura de **Sistemas de Informação Gerencial**: 1. **Gerenciamento de dados** * Responsável pelo acesso, armazenamento e recuperação dos dados * Inclui bancos de dados, Data Warehouse, Data Marts etc. 2. **Gerenciamento de modelos** * Abrange **modelos analíticos, estatísticos, matemáticos e de simulação** * Suporta análises, cenários (*what-if*), otimizações e previsões 3. **Gerenciamento de diálogo (interface)** * Interface de interação com o usuário * Permite consultas, visualizações e exploração dos resultados 📌 Essa **tríade (dados, modelos e diálogo)** é **conceito clássico** e recorrente em provas do **CESPE/CEBRASPE**. ✔️ **Gabarito:** **CERTO**
931
7. (CESPE / DATAPREV – 2023) Sistemas de apoio à decisão complementam os recursos intelectuais dos indivíduos com as capacidades do computador para melhorar a qualidade das decisões.
**Item: CERTO (VERDADEIRO).** **Justificativa:** Os **Sistemas de Apoio à Decisão (SAD / DSS – Decision Support Systems)** têm como finalidade **complementar — e não substituir — o julgamento humano**, combinando: * o **conhecimento, experiência e intuição** do decisor; * com as **capacidades computacionais**, como: * processamento de grandes volumes de dados, * aplicação de modelos analíticos e estatísticos, * simulações e análises de cenários (*what-if*). 📌 O objetivo é **melhorar a qualidade, a consistência e a fundamentação das decisões**, especialmente em problemas **semiestruturados ou não estruturados**. Essa definição é **clássica** na literatura de **Sistemas de Informação** e **recorrente em provas do CESPE/CEBRASPE**. ✔️ **Gabarito:** **CERTO**
932
8. (CESPE / DATAPREV – 2023) Um sistema de apoio à decisão tem como características a manipulação de limitado volume de dados, o processamento de dados de fontes diferentes e orientação textual e gráfica.
**Item: ERRADO (FALSO).** **Justificativa:** Embora o enunciado acerte em alguns pontos, ele erra em um aspecto **central**, o que torna o item **incorreto**. 📌 **Análise das características citadas:** * ✅ **Processamento de dados de fontes diferentes** Correto. Sistemas de Apoio à Decisão (SAD/DSS) integram dados **heterogêneos** (DW, bases externas, planilhas, etc.). * ✅ **Orientação textual e gráfica** Correto. SADs utilizam **relatórios, gráficos, dashboards e interfaces visuais** para apoiar o decisor. * ❌ **Manipulação de limitado volume de dados** **Incorreto.** SADs **não se limitam a pequenos volumes de dados**. Pelo contrário, frequentemente trabalham com: * grandes volumes históricos (Data Warehouse), * dados agregados e detalhados, * informações complexas para análises e simulações. 📌 Essa ideia de “volume limitado” não é compatível com a evolução dos SADs modernos, fortemente integrados a **BI, DW e OLAP**. ❌ Portanto, por conter uma afirmação incorreta, o item deve ser julgado como **FALSO**. ✔️ **Gabarito:** **ERRADO**
933
10. (CESPE / APEX-BRASIL – 2021) Os objetivos característicos do BI (Business Intelligence) incluem: a) possibilitar acessos interativos a dados, a sua manipulação e a realização de análises apropriadas pelos gestores e analistas, com base na transformação desses dados em informações, decisões e ações. b) criar um conjunto de processos para gerenciar relacionamentos com clientes efetivos e potenciais e com parceiros de negócios, por meio de marketing, vendas e serviços, independentemente do canal de comunicação. c) gerenciar os produtos e os serviços direcionados aos consumidores, por meio de uma rede de organizações interligadas, com base no gerenciamento de uma cadeia de suprimentos. d) estabelecer relação entre a eficácia na gestão e a estratégia de negócio, a partir de uma composição balanceada de medidas, de metas, de objetivos e de requisitos para essa finalidade.
**Resposta correta: letra A.** **Justificativa:** Os **objetivos característicos do Business Intelligence (BI)** estão diretamente ligados a **acesso, exploração e análise de dados** para **apoio à tomada de decisão**. 📌 **Análise das alternativas:** * **a) ✅ Correta** Descreve exatamente o propósito do BI: * acesso **interativo** aos dados; * **manipulação e análise** das informações; * transformação de **dados → informações → decisões → ações**, apoiando gestores e analistas. * **b) ❌ Incorreta** Trata de **CRM (Customer Relationship Management)**, não de BI. * **c) ❌ Incorreta** Refere-se a **SCM (Supply Chain Management)** — gestão da cadeia de suprimentos. * **d) ❌ Incorreta** Descreve o **Balanced Scorecard (BSC)**, ferramenta de gestão estratégica, não BI em si. ✔️ **Gabarito:** **A**
934
1. Os gatilhos (triggers) em bancos de dados são usados apenas para realizar validações de dados antes da entrada no banco.
Gabarito: E Gatilhos podem ser usados para várias funções além de validações, incluindo o registro de auditoria, atualizações automáticas, e outras ações automáticas após eventos específicos.
935
2. O conceito de escalabilidade horizontal em bancos de dados relacionais se refere à capacidade do sistema de melhorar o desempenho adicionando mais recursos ao servidor existente, como memória e poder de processamento, em vez de distribuir a carga entre vários servidores.
Gabarito: E Escalabilidade horizontal se refere à distribuição da carga entre vários servidores, enquanto a escalabilidade vertical (e não horizontal) é que envolve a adição de mais recursos ao servidor existente.
936
3. Um dos principais desafios ao utilizar o modelo de banco de dados hierárquico é a complexidade em realizar operações de leitura e escrita, especialmente em cenários onde os dados precisam ser acessados de maneiras diferentes das estabelecidas pela estrutura rígida de árvore.
Gabarito: C O modelo de banco de dados hierárquico possui uma estrutura rígida de árvore, o que pode tornar complexas as operações de leitura e escrita, especialmente quando o acesso aos dados precisa ser realizado de maneiras que não estão diretamente suportadas pela hierarquia estabelecida.
937
5. Um SGBD orientado a objetos é conhecido por sua eficiência em consultas complexas e processamento de grandes volumes de dados não estruturados.
Gabarito: E Embora um SGBD orientado a objetos permita a manipulação de objetos complexos, ele pode não ser tão eficiente quanto outros modelos, como o NoSQL, para consultas complexas e processamento de grandes volumes de dados não estruturados.
937
4. O princípio da atomicidade em um banco de dados significa que as transações serão tratadas como uma única unidade, onde ou todas as operações são concluídas com sucesso ou nenhuma é feita.
Gabarito: C No contexto de bancos de dados, o princípio da atomicidade significa que uma transação (um conjunto de operações) é tratada como uma única unidade de processamento. Basicamente, isto significa que quando uma transação é submetida para execução, o sistema de banco de dados garante que ela será completada em sua totalidade. Se qualquer parte da transação falhar, por qualquer razão, então todas as mudanças feitas ao banco de dados pela transação devem ser desfeitas, retornando o banco de dados ao estado que estava antes da tentativa de execução da transação.
938
6. A replicação de dados em bancos de dados assegura que um único ponto de falha pode interromper o acesso aos dados.
Gabarito: E A replicação de dados na verdade visa distribuir cópias de dados em múltiplos servidores para aumentar a disponibilidade e reduzir o risco de um único ponto de falha.
939
7. Atomicidade em bancos de dados permite que apenas algumas operações em uma transação sejam bem-sucedidas, enquanto outras falham, mantendo a consistência do banco de dados.
Gabarito: E A atomicidade é uma propriedade fundamental dos sistemas de gerenciamento de banco de dados que garante que as transações sejam tratadas de maneira indivisível e irredutível. Isso significa que todas as operações dentro de uma transação devem ser concluídas com sucesso para que a transação seja considerada finalizada. Se qualquer operação dentro da transação falhar, toda a transação falhará e o banco de dados permanecerá inalterado. Portanto, a declaração de que a atomicidade permite operações parcialmente bem-sucedidas e parcialmente malsucedidas é falsa.
940
8. Disponibilidade em um banco de dados é a capacidade de processar e retornar consultas rapidamente.
Gabarito: E Disponibilidade refere-se à capacidade do banco de dados de estar sempre acessível aos usuários, enquanto o desempenho é que trata da rapidez no processamento e retorno de consultas.
941
9. A segurança em um banco de dados é a capacidade de operar com precisão e sem interrupções.
Gabarito: E A segurança de um banco de dados refere-se à proteção dos dados contra acesso não autorizado e uso indevido. A capacidade de operar com precisão e sem interrupções está relacionada à confiabilidade.
942
10. A estrutura rígida de um SGBD relacional torna-o inadequado para aplicações que necessitam de um esquema de dados flexível e frequentemente alterado, como as encontradas em ambientes de big data.
Gabarito: C A estrutura rígida de um SGBD relacional pode tornar difícil a adaptação a mudanças frequentes no esquema de dados, o que pode ser uma desvantagem em ambientes de big data que requerem flexibilidade e adaptação rápida.
943
11. Um relacionamento recursivo ocorre quando uma entidade se relaciona com ela mesma.
Gabarito: C Certo. Relacionamentos recursivos são aqueles em que uma instância de uma entidade está associada a outra instância da mesma entidade.
944
12. A migração de dados de um sistema antigo para um novo sistema de banco de dados deve ser realizada com cuidado, utilizando ferramentas de ETL (Extract, Transform, Load) e testes rigorosos para garantir a integridade e a consistência dos dados durante a transição.
Gabarito: C Correto. O uso de ferramentas de ETL e a realização de testes rigorosos são práticas recomendadas para assegurar que os dados sejam corretamente migrados, mantendo a integridade e consistência dos dados.
945
13. Em um ambiente de banco de dados complexo, como o do Instituto Nacional de Estatística, o Administrador de Dados (AD) e o Administrador de Banco de Dados (DBA) desempenham papéis complementares, onde o AD foca na definição da estrutura conceitual e o DBA na implementação e manutenção da infraestrutura física.
Gabarito: C Correto. O AD e o DBA têm papéis complementares, com o AD focando na estrutura conceitual e o DBA cuidando da implementação e manutenção da infraestrutura física, garantindo assim a eficiência e integridade do sistema.
946
14. A redundância de dados é sempre uma prática desejável em um banco de dados para garantir a integridade e a confiabilidade.
Gabarito: E Errado. A redundância de dados pode levar a problemas de integridade, consistência e confiabilidade dos dados, devendo ser evitada sempre que possível.
947
15. No modelo Entidade-Relacionamento (ER), a definição de chaves primárias e estrangeiras não é necessária para garantir a integridade referencial, pois os relacionamentos podem ser gerenciados apenas com índices.
Gabarito: E Incorreto. A definição de chaves primárias e estrangeiras é essencial para garantir a integridade referencial, assegurando que os relacionamentos entre tabelas sejam consistentes e que cada registro seja único.
948
16. A modelagem de dados eficiente não é capaz de resolver problemas de lentidão nas consultas, pois esses problemas são causados exclusivamente pelo hardware utilizado.
Gabarito: E Incorreto. A modelagem de dados eficiente, incluindo a definição de índices e a normalização, pode melhorar significativamente o desempenho das consultas, embora o hardware também seja um fator relevante.
949
17. A denormalização é a prática de alterar a estrutura de um banco de dados para aumentar a redundância e melhorar o desempenho, e é sempre uma boa prática independentemente do contexto.
Gabarito: E A denormalização deve ser uma decisão cuidadosa e aplicada somente quando os benefícios de desempenho superam os custos da redundância. Portanto, a afirmativa de que ela é sempre uma boa prática é incorreta.
950
18. No modelo ER, uma entidade pode se relacionar consigo mesma no máximo uma única vez.
Gabarito: E Esta afirmação é incorreta porque no modelo de entidade relação (ER), uma entidade pode se relacionar consigo mesma mais de uma vez, o que é conhecido como auto-relacionamento ou relacionamento recursivo. Essa é uma característica importante para capturar relacionamentos complexos onde entidades desempenham diferentes papéis.
951
19. A modelagem de dados eficiente, realizada durante a fase de criação do modelo Entidade-Relacionamento (ER), é suficiente para garantir a performance e segurança do banco de dados, eliminando a necessidade de otimizações e ajustes durante as etapas de implementação e manutenção.
Gabarito: E Incorreto. Embora a modelagem de dados seja essencial para a estruturação do banco de dados, a performance e segurança requerem otimizações e ajustes contínuos, especialmente durante as etapas de implementação e manutenção, incluindo o uso de índices e políticas de segurança.
952
20. No modelo ER, uma entidade pode ser identificada unicamente por uma chave estrangeira.
Gabarito: E Errado. Uma entidade é identificada unicamente por uma chave primária, não por uma chave estrangeira.
953
21. A palavra-chave SQL DISTINCT é utilizada em uma consulta SELECT para eliminar os registros duplicados do conjunto de resultados, garantindo que apenas valores únicos sejam retornados para as colunas especificadas.
Gabarito: C Esta afirmação é correta. A palavra-chave DISTINCT é usada em uma consulta SELECT para remover duplicatas do conjunto de resultados, retornando apenas os valores únicos para as colunas especificadas, o que é útil em consultas que exigem resultados sem repetição.
954
22. Uma subconsulta SQL pode ser usada dentro de uma cláusula WHERE para filtrar registros da consulta principal com base nos resultados da subconsulta.
Gabarito: C Esta afirmação é correta. Subconsultas são consultas aninhadas dentro de outra consulta SQL, frequentemente utilizadas dentro da cláusula WHERE para filtrar registros da consulta principal usando os resultados obtidos pela subconsulta.
955
23. O comando TRUNCATE TABLE em SQL é mais rápido para remover todos os registros de uma tabela do que o comando DELETE, porque não grava a remoção de cada registro no log de transações.
Gabarito: C Esta afirmação é correta. O comando TRUNCATE TABLE é geralmente mais rápido que o DELETE porque remove todos os registros de uma tabela sem registrar a remoção de cada registro individual no log de transações, o que torna a operação menos intensiva em recursos.
956
24. A função agregada MIN() em SQL retorna o menor valor de uma coluna específica.
Gabarito: C Esta afirmação é correta. A função agregada MIN() é usada para encontrar o menor valor em uma coluna especificada em um conjunto de registros.
957
25. A função INSERT INTO em SQL é usada para recuperar registros de uma tabela.
Gabarito: E A função INSERT INTO é usada para adicionar novos registros a uma tabela, não para recuperar registros existentes.
958
26. O comando SQL UNION pode ser usado para combinar os resultados de duas consultas SELECT, mantendo todas as linhas duplicadas.
Gabarito: E Esta afirmação é incorreta. O comando UNION combina os resultados de duas ou mais consultas SELECT em um único conjunto de resultados e, por padrão, remove duplicatas. Para manter linhas duplicadas, UNION ALL deve ser usado.
959
27. A cláusula WHERE em SQL pode ser utilizada em conjunto com a cláusula GROUP BY para filtrar registros antes de serem agrupados, aplicando condições específicas aos dados.
Gabarito: C Esta afirmação é correta. A cláusula WHERE pode ser utilizada em conjunto com a cláusula GROUP BY para filtrar registros antes de serem agrupados, aplicando condições específicas aos dados.
960
28. O comando SQL DROP DATABASE é usado para remover todos os registros de uma tabela, mas mantém a estrutura da tabela.
Gabarito: E Esta afirmação é incorreta. O comando DROP DATABASE remove um banco de dados inteiro, incluindo todas as suas tabelas e dados. Para remover todos os registros de uma tabela, mas manter a estrutura, usa-se o comando TRUNCATE TABLE.
961
29. O operador SQL LIKE, que é utilizado para buscar padrões dentro de strings, permite o uso de caracteres curingas como '%' para representar qualquer sequência de caracteres e '_' para representar um único caractere, facilitando buscas flexíveis em colunas de texto.
**Gabarito: CERTO** **Comentário:** A assertiva está correta. O operador **LIKE** em SQL é utilizado para realizar buscas por **padrões em strings**, permitindo o uso de **caracteres curingas**: * **`%`**: representa **qualquer sequência de caracteres** (inclusive vazia); * **`_`**: representa **exatamente um único caractere**. Esses curingas tornam as consultas mais flexíveis ao filtrar valores em colunas do tipo texto. 🔎 **Observação importante (nível de prova):** O comportamento do `LIKE` quanto a **sensibilidade a maiúsculas e minúsculas** pode variar conforme o SGBD (por exemplo, PostgreSQL é case-sensitive por padrão, enquanto MySQL pode não ser, dependendo do collation). Isso, contudo, **não invalida a assertiva**, pois o enunciado trata corretamente da função e dos curingas do operador. ✔ Item correto.
962
30. Ao criar uma nova tabela no banco de dados usando o comando SQL CREATE TABLE, é possível especificar restrições como NOT NULL e UNIQUE diretamente nas colunas durante a definição da tabela, garantindo a integridade dos dados desde a inserção dos primeiros registros.
Gabarito: C Esta afirmação é correta. Durante a criação de uma tabela com o comando CREATE TABLE, é possível definir restrições como NOT NULL, UNIQUE, PRIMARY KEY e outras diretamente nas colunas, assegurando a integridade dos dados e evitando a inserção de registros inválidos.
963
31. A normalização de dados sempre resulta em um número menor de tabelas no banco de dados.
Gabarito: E Incorreta. A normalização geralmente resulta em um maior número de tabelas, já que as tabelas são divididas para eliminar redundâncias e dependências inadequadas.
964
32. Na Segunda Forma Normal, uma tabela deve eliminar dependências parciais de seus atributos não-chave.
Gabarito: C Correta. A Segunda Forma Normal (2FN) exige que todos os atributos não-chave dependam totalmente da chave primária, eliminando assim as dependências parciais.
965
33. Ao projetar um banco de dados relacional, a normalização é um processo que deve ser aplicado independentemente das necessidades específicas do sistema, pois sempre melhora a eficiência das operações de consulta e manipulação de dados.
Gabarito: E Incorreta. A normalização melhora a integridade dos dados e reduz a redundância, mas pode aumentar a complexidade das consultas e operações devido ao maior número de junções. Portanto, a normalização deve ser aplicada considerando as necessidades específicas do sistema.
966
34. Na Terceira Forma Normal (3FN), nenhum atributo não-chave deve depender de outros atributos não-chave.
Gabarito: C Correta. A Terceira Forma Normal é alcançada quando a tabela está na Segunda Forma Normal e, além disso, nenhum atributo não-chave depende de outros atributos não-chave, eliminando assim dependências transitivas.
967
35. A normalização em bancos de dados busca apenas minimizar a redundância de dados, sem impactar a integridade dos dados.
Gabarito: E Incorreta. A normalização em bancos de dados busca minimizar a redundância de dados e, ao mesmo tempo, melhorar a integridade dos dados. Reduzir a redundância e evitar anomalias de inserção, atualização e exclusão contribui significativamente para a integridade dos dados.
968
36. A Quarta Forma Normal (4FN) se aplica principalmente a situações em que há dependências multivaloradas entre diferentes atributos de uma tabela, eliminando a necessidade de dividir a tabela em várias outras para resolver essa questão.
Gabarito: C Correta. A 4FN se aplica em situações com dependências multivaloradas e resolve essa questão ao eliminar a necessidade de múltiplas tabelas para tratar esses atributos, mantendo a integridade dos dados.
969
37. Quando se aplica a normalização até a Quarta Forma Normal (4FN), todas as dependências transitivas são automaticamente eliminadas, mesmo que a tabela ainda não tenha sido normalizada até a Terceira Forma Normal (3FN).
Gabarito: E Incorreta. A 4FN trata de dependências multivaloradas, mas as dependências transitivas devem ser resolvidas na 3FN antes de chegar à 4FN. Normalizar até a 4FN não elimina automaticamente as dependências transitivas.
970
38. Dependências transitivas são eliminadas automaticamente ao normalizar uma tabela até a Forma Normal de Boyce-Codd (BCNF), sem a necessidade de passar pela Terceira Forma Normal (3FN) primeiro.
Gabarito: E Incorreta. Para eliminar dependências transitivas, a tabela deve estar pelo menos na 3FN. A BCNF é mais rigorosa e pode eliminar anomalias adicionais, mas a 3FN é necessária para tratar as dependências transitivas.
971
39. Dependências transitivas são sempre eliminadas ao se normalizar um banco de dados até a Segunda Forma Normal.
Gabarito: E Incorreta. A Segunda Forma Normal (2FN) elimina dependências parciais, mas as dependências transitivas são eliminadas apenas na Terceira Forma Normal (3FN).
972
40. Dependências multivaloradas podem causar anomalias no banco de dados, onde um único registro em uma tabela pode se expandir em múltiplas linhas redundantes, sendo esse problema resolvido pela Quarta Forma Normal (4FN).
Gabarito: C Correta. Dependências multivaloradas, que causam redundâncias e anomalias, são resolvidas pela 4FN, que elimina tais dependências ao dividir as tabelas de maneira que cada atributo multivalorado seja tratado separadamente.
973
41. Os segmentos no Oracle são unidades de armazenamento físico que contêm uma ou mais extensões.
Gabarito: E Na arquitetura de armazenamento do Oracle, os segmentos são conjuntos de extensões e representam uma unidade lógica de armazenamento dentro de um tablespace, não uma unidade física.
974
42. Os arquivos de Redo Log são utilizados para recuperar transações após uma falha do sistema, garantindo a integridade dos dados.
Gabarito: C Os arquivos de Redo Log são fundamentais para a recuperação de transações no Oracle, pois armazenam um registro de todas as mudanças aplicadas ao banco de dados, permitindo a recuperação após falhas.
975
43. Os arquivos de Redo Log são utilizados para recuperar transações após uma falha do sistema.
Gabarito: C Os arquivos de Redo Log são fundamentais para a recuperação de transações no Oracle, pois armazenam um registro de todas as mudanças aplicadas ao banco de dados, permitindo a recuperação após falhas.
976
44. Os arquivos de Redo Log armazenam as instruções SQL executadas para possibilitar a recuperação de dados.
Gabarito: E Os arquivos de Redo Log armazenam informações sobre todas as alterações feitas no banco de dados, não as instruções SQL em si, para possibilitar a recuperação de dados.
977
45. O Data Pump no Oracle é utilizado principalmente para realizar tuning de desempenho em um banco de dados.
Gabarito: E O Oracle Data Pump é uma ferramenta de movimentação de dados que permite o carregamento e a exportação de dados e metadados, e não é especificamente usado para tuning de desempenho.
978
46. As visões DBA_TABLES e USER_TABLES fornecem informações sobre tabelas no banco de dados, mas apenas DBA_TABLES requer privilégios de DBA para acesso.
**Gabarito: CERTO** **Comentário:** A assertiva está correta. No **Oracle Database**, as visões de dicionário de dados possuem escopos e requisitos de privilégio distintos: * **`USER_TABLES`**: Exibe informações sobre **as tabelas pertencentes ao próprio usuário** conectado. 👉 **Não requer privilégios de DBA**, pois todo usuário pode consultar suas próprias tabelas. * **`DBA_TABLES`**: Exibe informações sobre **todas as tabelas do banco de dados**, independentemente do proprietário. 👉 **Requer privilégios elevados**, normalmente o papel **DBA** ou o privilégio **`SELECT ANY DICTIONARY`**. Assim, a afirmação de que ambas fornecem informações sobre tabelas, mas **apenas `DBA_TABLES` exige privilégios de DBA**, está correta. ✔ Item **CERTO**.
979
47. Um Schema no Oracle é uma coleção de objetos de banco de dados, como tabelas e índices, que pertencem a um usuário específico.
**Gabarito: CERTO** **Comentário:** A assertiva está correta. No **Oracle Database**, um **schema** é definido como um **conjunto (coleção) de objetos de banco de dados** — como **tabelas, índices, visões, sequências, procedimentos, funções**, entre outros — que **pertencem a um usuário específico**. 📌 Pontos importantes para prova: * **Schema ≠ usuário**, mas **todo schema está associado a exatamente um usuário**. * Quando um usuário é criado, **um schema com o mesmo nome é criado automaticamente**. * Os objetos criados pelo usuário passam a integrar **seu schema**. ✔ Portanto, o item está **CERTO**.
980
48. O Oracle Database não suporta a realização de backups a quente, exigindo que o banco de dados seja desligado para realizar backups.
**Gabarito: ERRADO** **Comentário:** A assertiva está incorreta. O **Oracle Database** **suporta, sim, backups a quente (hot backup)**, ou seja, **com o banco de dados em funcionamento**, desde que o banco esteja operando em **modo ARCHIVELOG**. 📌 Pontos-chave para prova: * **Backup a quente (online)**: ✔ Permitido no Oracle quando o banco está em **ARCHIVELOG**. ✔ Pode ser realizado com ferramentas como o **RMAN**. * **Backup a frio (offline)**: ✔ Exige que o banco esteja desligado ou montado, sem acesso dos usuários. * **Modo NOARCHIVELOG**: ❌ Não permite backups a quente consistentes. Assim, a afirmação de que o Oracle **não suporta backups a quente** e que exige desligamento do banco é **falsa**. ✔ Item **ERRADO**.
981
49. Todas as visões do dicionário de dados, como DBA_TABLES e USER_TABLES, são acessíveis a qualquer usuário do banco de dados Oracle sem restrições.
**Gabarito: ERRADO** **Comentário:** A assertiva está incorreta. No **Oracle Database**, as **visões do dicionário de dados** possuem **níveis distintos de acesso**, conforme o prefixo da visão e os privilégios do usuário: * **`USER_`** (ex.: `USER_TABLES`) ✔ Acessíveis a qualquer usuário, **mas apenas para objetos do próprio schema**. * **`ALL_`** (ex.: `ALL_TABLES`) ✔ Acessíveis a usuários comuns, mostrando **objetos aos quais possuem privilégio de acesso**. * **`DBA_`** (ex.: `DBA_TABLES`) ❌ **Não são acessíveis a qualquer usuário**; exigem **privilégios elevados**, como o papel **DBA** ou o privilégio **`SELECT ANY DICTIONARY`**. Portanto, é incorreto afirmar que **todas** as visões do dicionário de dados são acessíveis **sem restrições**. ✔ Item **ERRADO**.
982
50. Em um Oracle RAC (Real Application Clusters), cada nó possui uma SGA separada que não é compartilhada com outros nós.
Por que a afirmativa é considerada **ERRADA (E)** A frase diz: > *“Em um Oracle RAC, cada nó possui uma SGA separada que **não é compartilhada** com outros nós.”* 🔹 O problema está na expressão **“não é compartilhada”** Tecnicamente: * ✔ **É verdade** que **cada nó tem sua própria instância** e sua **própria SGA** * ❌ **É falso** afirmar que essa SGA **não é compartilhada**, no sentido **lógico/funcional** --- O que a banca considera como “compartilhamento” No **Oracle RAC**, ocorre o **Cache Fusion**, que permite que: * Blocos de dados presentes na **SGA de uma instância** * Sejam **acessados diretamente por outra instância** * **Sem necessidade de leitura em disco** Ou seja: * As SGAs **não são fisicamente únicas**, mas * **São logicamente acessíveis entre si**, graças à interconexão do cluster 📌 Para a banca, isso **configura compartilhamento**, ainda que **não seja memória física comum**. --- Conclusão (padrão CESPE / CEBRASPE) 👉 A afirmativa é **ERRADA (E)** porque: > Apesar de cada instância possuir sua própria SGA, **a arquitetura do Oracle RAC permite o compartilhamento lógico de dados entre as SGAs**, o que invalida a afirmação de que elas “não são compartilhadas”.
983
51. A validação de um documento XML usando um esquema XML envolve a comparação do documento com exemplos válidos definidos no esquema.
A assertiva está **ERRADA (E)**. 🔹 **Justificativa técnica** A **validação de um documento XML** com base em um **XML Schema (XSD)** **não** envolve a comparação do documento com *exemplos válidos* definidos no esquema. O que realmente ocorre é: * O **XML Schema** define **regras formais**, como: * Estrutura do documento (elementos, hierarquia) * Tipos de dados * Cardinalidade (minOccurs / maxOccurs) * Restrições (patterns, enums, limites numéricos etc.) * O documento XML é validado **contra essas regras**, e **não contra instâncias ou exemplos**. 📌 Esquemas **não armazenam exemplos de documentos válidos**, mas sim **restrições e definições formais** que o XML deve obedecer. --- Por que a afirmativa está errada? A expressão **“comparação com exemplos válidos definidos no esquema”** caracteriza um **equívoco conceitual**, comum em provas, pois: * XSD ≠ conjunto de exemplos * XSD = **modelo formal de validação** --- Forma correta da ideia (como cairia certa em prova): > *A validação de um documento XML por meio de um esquema XML consiste em verificar se o documento atende às regras estruturais e semânticas definidas no esquema.* ✅ **Gabarito: E (Errada)**
984
52. O formato CSV é recomendado para armazenar dados complexos e altamente estruturados.
A assertiva está **ERRADA (E)**. 🔹 **Justificativa técnica** O formato **CSV (Comma-Separated Values)** **não é recomendado** para armazenar **dados complexos e altamente estruturados**, pois: * É um **formato simples e plano**, sem: * Hierarquia * Tipos de dados explícitos * Relacionamentos entre entidades * Metadados estruturais * Trabalha basicamente com **linhas e colunas**, sendo adequado para: * Dados tabulares simples * Intercâmbio básico de dados * Importação e exportação entre sistemas 📌 Dados **complexos e altamente estruturados** são melhor representados por formatos como: * **XML** * **JSON** * **Avro** * **Parquet** * Bancos de dados relacionais ou NoSQL --- Por que a banca considera errada? A recomendação feita na assertiva é **incompatível com as características do CSV**, que não suporta estruturas complexas nem validação estrutural. --- Forma correta da assertiva: > *O formato CSV é recomendado para armazenar dados simples e tabulares, sem estrutura hierárquica.* ✅ **Gabarito: E (Errada)**
985
53. Um arquivo CSV pode conter formatação avançada, como negrito e itálico.
A assertiva está **ERRADA (E)**. 🔹 **Justificativa técnica** Um arquivo **CSV (Comma-Separated Values)** é um **formato de texto puro**, utilizado exclusivamente para armazenamento de **dados tabulares**. Ele **não suporta formatação avançada**, como: * **Negrito** * **Itálico** * Cores * Fontes * Estilos visuais 📌 Qualquer formatação visual vista ao abrir um CSV em programas como **Excel** ou **LibreOffice Calc** **não faz parte do arquivo**, mas sim da **interface do software** que o interpreta. --- Por que a afirmativa está errada? A assertiva confunde: * **Formato de armazenamento (CSV)** ❌ com * **Forma de visualização em planilhas** ✔ ✅ **Gabarito: E (Errada)**
986
54. JSON e XML são formatos de dados que oferecem suporte à serialização e deserialização de objetos em muitas linguagens de programação.
A assertiva está **CORRETA (C)**. 🔹 **Justificativa técnica** Tanto **JSON** quanto **XML** são **formatos amplamente utilizados para troca de dados** e **oferecem suporte nativo à serialização e desserialização de objetos** em diversas linguagens de programação, como: * Java * Python * JavaScript * C# * PHP * Go * Ruby 📌 A maioria das linguagens possui **bibliotecas e frameworks** que convertem automaticamente: * **Objetos → JSON/XML (serialização)** * **JSON/XML → Objetos (desserialização)** Conclusão A afirmação descreve corretamente uma **característica fundamental** desses formatos. ✅ **Gabarito: C (Correta)**
987
55. O formato CSV é adequado para representar dados hierárquicos.
Gabarito: E Errado. O CSV é mais adequado para dados tabulares simples e não suporta representação hierárquica.
988
56. O XML é um formato de intercâmbio de dados amplamente utilizado na web.
A assertiva está **CORRETA (C)**. 🔹 **Justificativa técnica** O **XML (eXtensible Markup Language)** é, de fato, um **formato de intercâmbio de dados amplamente utilizado na web**, especialmente em: * **Web services SOAP** * **Integrações corporativas** * **Troca de dados entre sistemas heterogêneos** * **Configurações e documentos estruturados** * **Padrões abertos** (RSS, SVG, XHTML, entre outros) 📌 Embora atualmente o **JSON** seja mais popular em APIs REST modernas, o **XML continua amplamente adotado**, sobretudo em ambientes corporativos, governamentais e sistemas legados. --- Conclusão A afirmativa descreve corretamente o papel histórico e ainda relevante do XML como formato de intercâmbio de dados na web. ✅ **Gabarito: C (Correta)**
989
57. Um objeto JSON pode ter apenas chaves e valores numéricos.
A assertiva está **ERRADA (E)**. 🔹 **Justificativa técnica** Um **objeto JSON** **não está limitado** a chaves e valores numéricos. Pelas regras do padrão **JSON**: * **Chaves**: **devem ser strings** (entre aspas duplas) * **Valores**: podem ser de vários tipos, como: * Número * String * Boolean (`true` / `false`) * `null` * Array * Outro objeto JSON 📌 Portanto, além de números, um objeto JSON pode conter **valores complexos e variados**. --- Exemplo válido de JSON ```json { "id": 10, "nome": "Fábio", "ativo": true, "enderecos": ["DF", "GO"], "perfil": { "tipo": "admin" } } ``` ✅ **Gabarito: E (Errada)**
990
58. O JSON suporta tipos de dados como string, número, booleano, array e objeto.
Gabarito: C Certo. O JSON oferece suporte a uma variedade de tipos de dados para representar informações estruturadas.
991
59. O XML Namespace é usado para evitar conflitos de nomes entre elementos e atributos em documentos XML.
A assertiva está **CORRETA (C)**. 🔹 **Justificativa técnica** O **XML Namespace** foi criado exatamente para **evitar conflitos de nomes** entre **elementos e atributos** em documentos XML, principalmente quando: * Diferentes vocabulários XML são combinados no mesmo documento * Elementos possuem o mesmo nome, mas significados diferentes 📌 O namespace associa elementos e atributos a um **URI único**, garantindo sua identificação inequívoca. --- Exemplo ilustrativo ```xml Apples Bananas Table 80 120 ``` --- Conclusão A afirmativa descreve corretamente a **função principal dos XML Namespaces**. ✅ **Gabarito: C (Correta)**
992
60. O XSLT é uma linguagem usada para transformar documentos XML em outros formatos, como HTML ou texto.
A assertiva está **CORRETA (C)**. 🔹 **Justificativa técnica** O **XSLT (eXtensible Stylesheet Language Transformations)** é uma **linguagem declarativa** usada para **transformar documentos XML** em outros formatos, tais como: * **HTML** (uso muito comum na web) * **Texto simples** * **Outro XML** * **XHTML**, entre outros 📌 O XSLT define **regras de transformação** que descrevem como os elementos do XML de entrada devem ser convertidos para o formato de saída. --- Exemplo conceitual * **Entrada**: XML * **Processamento**: XSLT * **Saída**: HTML / Texto / XML transformado --- Conclusão A afirmação está alinhada com a definição e o uso do XSLT. ✅ **Gabarito: C (Correta)**
993
61. O processo de Master Data Management (MDM) envolve o gerenciamento centralizado dos dados de referência da organização.
A assertiva está **CORRETA (C)**. 🔹 **Justificativa técnica** O **Master Data Management (MDM)** é um conjunto de **processos, políticas, padrões e ferramentas** voltado ao **gerenciamento centralizado dos dados mestres (ou dados de referência)** de uma organização. Esses dados normalmente incluem entidades essenciais e compartilhadas, como: * Clientes * Fornecedores * Produtos * Funcionários * Unidades organizacionais 📌 O objetivo do MDM é garantir que esses dados sejam: * **Únicos** * **Consistentes** * **Confiáveis** * **Alinhados entre os diversos sistemas da organização** --- Benefícios do MDM * Redução de duplicidade de dados * Melhoria da qualidade da informação * Integração entre sistemas * Suporte mais confiável à tomada de decisão --- Conclusão A afirmação descreve corretamente o conceito e a finalidade do **Master Data Management**. ✅ **Gabarito: C (Correta)**
994
62. A técnica de Data Virtualization simplifica o gerenciamento de dados ao permitir que eles sejam movidos fisicamente de suas fontes originais para um data warehouse centralizado, facilitando a análise em tempo real.
A assertiva está **ERRADA (E)**. 🔹 **Justificativa técnica** A técnica de **Data Virtualization** **não envolve a movimentação física dos dados** para um repositório central, como um **data warehouse**. Na verdade, ocorre o oposto: * ✔ Os dados **permanecem em suas fontes originais** (bancos, APIs, arquivos, sistemas legados). * ✔ A virtualização cria uma **camada lógica de acesso**, que unifica e abstrai essas fontes. * ✔ As consultas são feitas **em tempo quase real**, acessando os dados **sob demanda**, sem replicação. 📌 A **movimentação física de dados** é característica de processos de **ETL/ELT**, e **não** de Data Virtualization. ✅ **Gabarito: E (Errada)**
995
63. No processo de ETL, a transformação dos dados ocorre após a carga dos dados no data warehouse, no processo de ELT.
Gabarito: E Errado. No processo de ETL, a transformação dos dados ocorre antes da carga no data warehouse, ao contrário do processo de ELT.
996
64. A técnica de Data Virtualization é amplamente utilizada para facilitar a movimentação física dos dados entre diferentes sistemas, garantindo que todos os dados estejam centralizados em um único local antes de serem processados.
Gabarito: E Errado. A Data Virtualization permite o acesso e a integração de dados de múltiplas fontes sem a necessidade de movê-los fisicamente, ao contrário do que é afirmado.
997
65. O Master Data Management (MDM) assegura que os dados mestres da organização sejam geridos de forma centralizada e coerente, evitando redundâncias e garantindo que todos os departamentos utilizem uma única versão da verdade.
Gabarito: C Certo. O MDM é responsável pela gestão centralizada e coerente dos dados mestres, evitando duplicações e assegurando que todos os departamentos trabalhem com dados consistentes e precisos.
998
66. A utilização da técnica de Data Virtualization em uma organização pode reduzir a complexidade e os custos associados à movimentação e replicação de dados, além de permitir consultas em tempo real.
Gabarito: C Certo. A Data Virtualization oferece a vantagem de reduzir a complexidade e os custos associados à movimentação de dados, além de permitir consultas em tempo real, proporcionando uma visão unificada dos dados.
999
67. A técnica de Data Virtualization permite integrar dados de várias fontes sem a necessidade de replicá-los fisicamente.
Gabarito: C Certo. A Data Virtualization cria uma camada virtual que permite acessar e integrar dados de diversas fontes sem movê-los ou copiá-los fisicamente.
1000
68. O componente de entrega no processo de ETL é responsável pela transformação dos dados.
Gabarito: E Errado. O componente de entrega é responsável por carregar os dados limpos e transformados no data warehouse, não pela transformação dos dados.
1001
69. A etapa de transformação no processo de ETL é crucial para a limpeza, validação e padronização dos dados, eliminando duplicações e inconsistências, o que garante que os dados estejam prontos para serem carregados no destino final.
Gabarito: C Certo. A etapa de transformação é responsável por garantir que os dados sejam precisos e consistentes, realizando limpeza, validação e padronização antes de carregá-los no sistema de destino.
1002
70. A utilização de regras de negócios na fase de transformação do processo de ETL permite que os dados sejam ajustados de acordo com as necessidades específicas da organização antes de serem carregados no sistema de destino.
Gabarito: C Certo. A fase de transformação é onde as regras de negócios são aplicadas, ajustando os dados de acordo com as necessidades da organização, garantindo que estejam prontos para o carregamento.
1003
71. A arquitetura de Data Marts independentes envolve um modelo em que cada Data Mart é projetado sem um Data Warehouse centralizado.
Gabarito: C Esta afirmação é verdadeira. Na arquitetura de Data Marts independentes, cada Data Mart é desenvolvido de forma independente, sem a necessidade de um Data Warehouse central, permitindo flexibilidade nas operações de diferentes departamentos.
1004
72. O Data Mart é um subconjunto de um Data Warehouse projetado para atender a necessidades específicas de um departamento ou área de negócios.
Gabarito: C Esta afirmação é verdadeira. Data Marts são subconjuntos de um Data Warehouse que são focados em uma linha de negócios ou departamento específico, proporcionando dados relevantes e específicos para aqueles setores.
1005
73. Na construção de um Data Warehouse, a abordagem bottom-up, que começa com a criação de Data Marts específicos e os integra posteriormente em um DW centralizado, é sempre a melhor escolha para organizações que buscam implementar rapidamente uma solução de armazenamento de dados sem preocupações iniciais com a integração e consistência global dos dados.
Gabarito: E Esta afirmação está incorreta. Embora a abordagem bottom-up permita uma implementação rápida e incremental, pode levar a desafios significativos de integração e consistência de dados no futuro, especialmente em grandes organizações.
1006
74. Self-Service BI é uma abordagem que permite aos usuários de negócios gerar suas próprias análises e relatórios sem dependência significativa da equipe de TI.
Gabarito: C Esta afirmação é verdadeira, pois o Self-Service BI visa capacitar os usuários de negócios, permitindo-lhes criar relatórios e análises independentemente, reduzindo a dependência da equipe de TI.
1007
75. Governança de dados é exclusivamente responsável pela segurança dos dados dentro de uma organização.
Gabarito: E Esta afirmação é falsa porque a governança de dados envolve muito mais do que a segurança dos dados; ela abrange a gestão da qualidade, acessibilidade, consistência e proteção dos dados, além da segurança.
1008
76. Self-Service BI permite que os usuários finais criem e manipulem seus próprios relatórios e dashboards sem dependência significativa da equipe de TI.
Gabarito: C Esta afirmação é verdadeira. Self-Service BI é projetado para capacitar os usuários finais, permitindo-lhes acessar dados e criar relatórios sem a necessidade constante de intervenção da equipe de TI.
1009
77. Na abordagem bottom-up para a construção de um Data Warehouse, os Data Marts são desenvolvidos primeiro, seguidos pelo Data Warehouse integrado.
Gabarito: C Esta afirmação é verdadeira. A abordagem bottom-up começa com o desenvolvimento de Data Marts específicos, que depois são integrados para formar um Data Warehouse abrangente, facilitando a consolidação de informações.
1010
78. O Esquema Floco de Neve é ideal para cenários em que a simplicidade e a rapidez das consultas são as principais prioridades, pois ele elimina completamente a necessidade de múltiplas junções entre tabelas de dimensão e a tabela de fatos.
Gabarito: E Esta afirmação está incorreta. O Esquema Floco de Neve normaliza as tabelas de dimensão, o que pode aumentar a complexidade das consultas devido ao maior número de junções necessárias.
1011
79. O Esquema Floco de Neve é uma simplificação do Esquema Estrela, removendo completamente as tabelas de dimensão.
Gabarito: E Esta afirmação é falsa. O Esquema Floco de Neve é uma variação do Esquema Estrela onde as tabelas de dimensão são normalizadas, criando estruturas adicionais e não removendo-as.
1012
80. Em um esquema em estrela, a tabela de fatos está no centro e é conectada diretamente a várias tabelas de dimensão, formando uma estrutura simples e eficiente para consultas.
Gabarito: C Esta afirmação é verdadeira. No esquema em estrela, a tabela de fatos central é conectada diretamente a várias tabelas de dimensão, proporcionando uma estrutura simples e eficiente para a realização de consultas e análises.
1013
1. (CESPE / SEFAZ-SE – 2022) Com relação a noções de big data, julgue os itens que se seguem. I Como qualquer tecnologia, soluções de big data também apresentam algumas restrições. Por exemplo, elas não podem ser utilizadas na área da saúde para determinar a causa de uma doença, porque esse é um procedimento complexo que somente pode ser executado por pessoas devidamente capacitadas — nesse caso, os médicos. II Big data é qualquer tipo de fonte de dados que possui, no mínimo, as seguintes três características: volume de dados extremamente grande; velocidade de dados extremamente alta; e variedade de dados extremamente ampla. III Para que as organizações obtenham os conhecimentos corretos, a tecnologia big data não permite que elas executem as operações de armazenar e administrar as grandes quantidades de dados de si próprias. IV Big data é uma combinação de tecnologias de gestão de dados que evoluíram ao longo dos anos, razão por que não é considerado um mercado único. Estão certos apenas os itens: a) I e III b) I e IV c) II e IV d) II e V e) III e V
(I) Errado. Que viagem! Big Data não só pode como já é muito utilizado na área de saúde; (II) Correto. Há versões que consideram tanto 3V’s quanto 5V’s; (III) Errado. Não há restrições para que organizações executem operações de armazenamento e administração; (IV) Correto. Atualmente é considerado um grande conjunto de tecnologias que envolve diversas áreas de conhecimento. Gabarito: C
1014
2. (CESPE / TCE-RJ - 2021) Os fatores críticos de sucesso da análise de Big Data incluem uma sólida infraestrutura de dados, além de ferramentas analíticas e pessoal habilitado para lidar com elas.
✅ **Gabarito: CERTO (Verdadeiro)** A afirmativa está **correta**. Na **análise de Big Data**, os **fatores críticos de sucesso** incluem, de forma essencial: * **Infraestrutura de dados robusta** (armazenamento escalável, processamento distribuído, redes adequadas etc.) * **Ferramentas analíticas apropriadas** (plataformas de Big Data, analytics avançado, machine learning, BI) * **Pessoal qualificado** (cientistas de dados, engenheiros de dados, analistas com domínio técnico e de negócio) Sem a **combinação equilibrada** desses três elementos — tecnologia, ferramentas e pessoas — os projetos de Big Data tendem a falhar, seja por incapacidade técnica, seja por falta de interpretação e uso adequado dos dados. 🔎 Esse entendimento está alinhado com a literatura e com a abordagem clássica do **CESPE**, que costuma cobrar a visão **sistêmica** dos fatores de sucesso em TI e governança de dados.
1015
3. (CESPE / PETROBRAS – 2022) Em sistemas NoSQL baseados em armazenamento de chavevalor, a chave é multidimensional e composta pela combinação do nome de tabela com a chave linha-coluna e com o rótulo de data e hora.
No modelo chave-valor, a chave é bidimensional e composta pela combinação de um identificador alfanumérico único (chave) e um valor associado em uma tabela (valor). Em outras palavras, esse modelo armazena dados por meio de uma estrutura de mapeamento ou dicionário, em que todo dado armazenado possui uma chave identificadora e seu valor em si – para cada chave de entrada, é retornado um valor de saída. Gabarito: E
1016
4. (CESPE / SERPRO – 2021) MapReduce divide o conjunto de dados de entrada em blocos independentes que são processados pelas tarefas de mapa de uma maneira completamente paralela. Essa estrutura classifica as saídas dos mapas, as quais são, então, inseridas nas tarefas de redução.
✅ **Gabarito: CERTO (Verdadeiro)** A afirmativa está **correta**. **Justificativa técnica:** O modelo **MapReduce** funciona exatamente dessa forma: 1. **Divisão dos dados de entrada** * O conjunto de dados é dividido em **blocos independentes** (splits). * Cada bloco é processado por uma **tarefa de mapeamento (map)**. 2. **Processamento paralelo** * As tarefas de **map** são executadas de maneira **altamente paralela**, explorando múltiplos nós do cluster. 3. **Shuffle e Sort (classificação)** * As saídas das tarefas de map são **agrupadas, classificadas e redistribuídas** automaticamente pelo framework. 4. **Redução (reduce)** * Os dados já classificados são então enviados às **tarefas de redução**, que produzem o resultado final. 📌 Essa separação clara entre **map → shuffle/sort → reduce** é justamente o que torna o MapReduce eficiente para processamento distribuído de grandes volumes de dados. 🔎 Portanto, a descrição apresentada na questão está **alinhada ao funcionamento clássico do MapReduce**, sendo **VERDADEIRA**, conforme o padrão de cobrança do CESPE.
1017
5. (CEBRASPE / SEBRAE-NACIONAL - 2024) Assinale a opção em que é indicado o termo afeto a Big Data que se refere ao fato de fluxos de dados serem imprevisíveis, com frequentes mudanças e alterações substanciais, aliado ao aumento da velocidade. a) bare metal b) map reduce c) variabilidade d) escalabilidade
✅ **Gabarito: letra C) variabilidade** **Justificativa:** No contexto de **Big Data**, o termo que descreve **fluxos de dados imprevisíveis**, com **mudanças frequentes**, **alterações substanciais** e **associados ao aumento da velocidade**, é **variabilidade**. 📌 **Variabilidade** refere-se a: * Oscilações no **ritmo de geração dos dados** * Mudanças no **formato, estrutura e significado** * Picos e quedas repentinas no volume e na velocidade * Dificuldade de prever o comportamento dos fluxos de dados Análise das alternativas: * **a) bare metal** ❌ Relaciona-se a infraestrutura física (servidores sem virtualização), não a Big Data. * **b) map reduce** ❌ É um modelo de processamento distribuído, não uma característica dos dados. * **c) variabilidade** ✅ Termo clássico de Big Data ligado à imprevisibilidade e mudanças nos fluxos de dados. * **d) escalabilidade** ❌ Capacidade de crescer ou reduzir recursos conforme a demanda, não descreve imprevisibilidade dos dados. 🔎 Em provas do **CEBRASPE**, é comum associar **variabilidade** aos desafios causados por dados dinâmicos, irregulares e velozes — exatamente o que o enunciado descreve.
1018
1. No contexto de Big Data, a característica de Velocidade está ligada à rapidez com que os dados são gerados e processados.
Gabarito: C A característica de Velocidade em Big Data refere-se à rapidez com que os dados são gerados, capturados e processados, exigindo tecnologias que possam lidar com o fluxo contínuo de informações.
1019
2. O processamento MapReduce envolve apenas as etapas de Map e Sort, sem a necessidade da etapa Reduce.
❌ **Gabarito: ERRADO (Falso)** A afirmativa está **incorreta**. **Conceito de MapReduce:** **MapReduce** é um **modelo de programação e processamento distribuído** utilizado para tratar **grandes volumes de dados** em ambientes de **computação distribuída**. Ele divide o processamento em etapas bem definidas, permitindo **execução paralela, escalabilidade e tolerância a falhas**. O modelo é estruturado, conceitualmente, em **três fases principais**: 1. **Map** * Converte os dados de entrada em pares **(chave, valor)** intermediários. * Executa de forma **paralela** em diferentes nós do cluster. 2. **Shuffle/Sort** * Agrupa, redistribui e **ordena os pares intermediários por chave**. * Prepara os dados para a próxima etapa. 3. **Reduce** * Aplica uma função de agregação ou processamento sobre os valores associados a cada chave, * Produzindo o **resultado final**. 📌 Embora seja possível configurar execuções **sem reducers**, a **fase Reduce faz parte do modelo MapReduce**, sendo um de seus pilares conceituais. 👉 Portanto, ao afirmar que o processamento MapReduce envolve **apenas Map e Sort, sem a necessidade da etapa Reduce**, o item está **FALSO**.
1020
3. A característica de Volume do Big Data refere-se apenas à quantidade de dados armazenados, independentemente de sua relevância ou utilidade.
Gabarito: C Essa afirmação está correta. A característica de Volume se refere ao grande volume de dados, sem considerar sua relevância.
1021
4. O modelo de processamento de dados MapReduce é adequado apenas para tarefas simples, como somas e contagens, sendo incapaz de lidar com operações complexas, como agregações avançadas ou análises estatísticas profundas.
Gabarito: E Essa afirmação está incorreta. MapReduce é bastante versátil e pode ser utilizado para uma ampla gama de operações complexas, incluindo agregações avançadas e análises estatísticas detalhadas.
1022
5. A característica de Velocidade do Big Data se refere à capacidade de processar e analisar dados em tempo real.
Gabarito: C Essa afirmação está correta. A Velocidade do Big Data trata do processamento rápido de dados em tempo real.
1023
6. O modelo MapReduce é projetado para funcionar exclusivamente em ambientes locais e não é aplicável a arquiteturas de computação em nuvem devido às limitações de escalabilidade e paralelismo.
Gabarito: E Essa afirmação está incorreta. MapReduce é amplamente utilizado em arquiteturas de computação em nuvem, aproveitando sua capacidade de escalabilidade e processamento paralelo em grandes clusters distribuídos.
1024
7. No contexto de Big Data, a característica de Velocidade refere-se apenas à rapidez com que os dados são gerados, não levando em consideração a necessidade de processá-los em tempo real ou próximo disso.
Gabarito: E Essa afirmação está incorreta. A característica de Velocidade em Big Data envolve tanto a rapidez na geração dos dados quanto a necessidade de processá-los em tempo real ou próximo disso para análises eficazes.
1025
8. A característica de Velocidade em Big Data refere-se apenas à capacidade de armazenamento dos dados, ignorando completamente a importância da rapidez no processamento e na análise em tempo real, que são essenciais em muitas aplicações modernas.
Gabarito: E Essa afirmação está incorreta. A característica de Velocidade em Big Data não só envolve a capacidade de armazenamento, mas principalmente a rapidez no processamento e análise dos dados em tempo real, o que é fundamental para aplicações como monitoramento de redes sociais e detecção de fraudes.
1026
9. O subtipo de padrão de acesso 'dados de dispositivos' refere-se apenas a informações provenientes de smartphones.
Gabarito: E Essa afirmação está incorreta. O subtipo de padrão de acesso 'dados de dispositivos' pode abranger uma variedade de dispositivos, não apenas smartphones.
1027
10. A característica de Variedade do Big Data aborda a capacidade de lidar apenas com um único formato de dados em uma aplicação.
Gabarito: E Essa afirmação está incorreta. A Variedade do Big Data se refere à diversidade de tipos e formatos de dados que podem ser tratados.