Alternativa B - Somente as afirmações I e II estão corretas.
Introdução
Esta questão aborda conceitos fundamentais da arquitetura de um Sistema Gerenciador de Banco de Dados (SGBD), focando especificamente nos seus módulos internos e no tratamento de códigos de aplicação. Vamos analisar cada item para entender por que duas estão corretas e uma está incorreta.
Desenvolvimento
Análise da Afirmação I
"O catálogo armazena os metadados do sistema de banco de dados."
Esta afirmação é CORRETA.
- O Catálogo de Dados (ou Dicionário de Dados) é o coração da autodescrição do SGBD.
- Ele guarda informações sobre a estrutura dos dados, como nomes de tabelas, colunas, tipos de dados, índices e restrições de integridade.
- Essas informações sobre os dados são chamadas de Metadados ("dados sobre dados"). Sem o catálogo, o SGBD não saberia onde guardar ou como recuperar as informações.
Análise da Afirmação II
"Os programas de aplicação são pré-compilados para separar os comandos da linguagem de programação dos comandos de manipulação de dados."
Esta afirmação é CORRETA.
- Isso descreve o funcionamento do Embedded SQL (SQL Embutido). Quando programamos em linguagens como C++, Java ou Python, misturamos comandos da linguagem com comandos SQL (como
SELECT, INSERT). - O Pré-compilador (ou pré-processador) analisa o código-fonte da aplicação antes da compilação normal.
- Sua função é identificar os comandos SQL, extraí-los e substituí-los por chamadas de biblioteca (APIs) que o SGBD entende, permitindo a comunicação entre a aplicação e o banco de dados de forma segura e organizada.
Análise da Afirmação III
"As transações são compiladas após passarem pelo otimizador de consultas."
Esta afirmação é INCORRETA.
- Existe um erro de terminologia aqui: não são as transações que são compiladas, mas sim as consultas (queries) individuais contidas nelas.
- Além disso, a sequência lógica do processador de consultas geralmente segue este fluxo:
- Análise Sintática (verifica se o SQL está escrito corretamente).
- Análise Semântica (verifica se as tabelas e colunas existem).
- Otimizador de Consultas (define a melhor estratégia de acesso aos dados).
- Executor (executa o plano).
- Dizer que a transação é compilada após o otimizador inverte a lógica interna de geração de planos de execução e usa um termo inadequado ("compilação de transação").
Análise Detalhada
| Afirmação | Status | Justificativa Principal |
|---|
| I | ✅ Correta | O catálogo é, por definição, o repositório de metadados do SGBD. |
| II | ✅ Correta | Descreve corretamente o papel do pré-compilador no Embedded SQL. |
| III | ❌ Incorreta | Termos inadequados ("transações compiladas") e sequência lógica imprecisa. |
Conclusão
Como as afirmações I e II apresentam conceitos técnicos corretos sobre a estrutura de metadados e o processamento de aplicações conectadas a bancos de dados, enquanto a III contém erros conceituais graves, a combinação correta é apenas I e II.
Alternativa B.