No contexto dos drivers ODBC para acesso de bancos de dados, analise as afirmativas a seguir. I. Uma aplicação baseada em drivers ODBC pode obter acesso a diferentes implementações de bancos de dados, como Oracle, SQL Server e MySQL, por exemplo. II. As operações disponíveis nos drivers ODBC variam significativamente de acordo com a linguagem de programação por meio da qual é feito o acesso. III. ODBC é um padrão para acesso a sistemas gerenciadores de bancos de dados. Está correto o que se afirma em
- A)I, somente.
A alternativa reproduz apenas a afirmativa I, que é verdadeira: o ODBC funciona como uma camada de acesso padronizada, permitindo que a aplicação consulte bancos distintos, como Oracle, SQL Server e MySQL, por meio de drivers específicos. O problema é que a III também está correta, pois ODBC é exatamente um padrão de acesso a SGBDs. Assim, a opção fica incompleta ao excluir uma segunda afirmação verdadeira.
- B)II, somente.
A alternativa toma como verdadeira a II, que diz que as operações do ODBC variam significativamente conforme a linguagem usada. Isso está errado porque ODBC define uma interface padronizada de acesso aos bancos, normalmente exposta em C e reutilizável por outras linguagens via bindings ou bibliotecas, de modo que a linguagem não altera o núcleo das operações. O que pode variar é o suporte do driver ou a forma de chamada, não o padrão ODBC em si.
- C)III, somente.
A alternativa afirma somente a III, isto é, que ODBC é um padrão para acesso a sistemas gerenciadores de bancos de dados, e isso está correto. ODBC, de fato, foi criado para padronizar a comunicação entre aplicações e diferentes SGBDs. Contudo, a I também é verdadeira, porque essa padronização permite acessar bancos distintos com a mesma aplicação, desde que existam drivers adequados.
- D)I e III, somente.
A alternativa reúne I e III, que são as duas afirmações verdadeiras. A I está certa porque o ODBC permite que a mesma aplicação converse com bancos diferentes por meio de drivers específicos, como Oracle, SQL Server e MySQL, e a III também está certa porque ODBC é um padrão de acesso a SGBDs. A II é a única incorreta, pois o padrão não depende da linguagem de programação para definir suas operações.
- E)I, II e III.
A alternativa considera verdadeiras as três afirmativas, mas a II está errada. ODBC não faz as operações variarem de acordo com a linguagem; ele define uma API comum de acesso ao banco, e as diferenças entre linguagens aparecem apenas nas camadas de integração ou no uso de bibliotecas. Como I e III são verdadeiras e II é falsa, esta opção não pode ser aceita.
Gabarito: D
ODBC (Open Database Connectivity) é uma interface/padrão criado para padronizar o acesso a bancos de dados, permitindo que uma aplicação converse com diferentes SGBDs por meio de drivers específicos. Na prática, a aplicação usa uma camada intermediária e não precisa ser reescrita toda vez que muda de Oracle para SQL Server, MySQL e por aí vai. Isso torna a afirmação I verdadeira: o mesmo mecanismo pode alcançar vários bancos, desde que exista driver compatível. A afirmativa II está errada porque a lógica do ODBC não varia de forma significativa conforme a linguagem de programação. O ponto central do ODBC é justamente oferecer uma API padronizada para o acesso ao banco, e a linguagem entra como cliente dessa API, não como definidora das operações do driver. Em outras palavras: o “jeito de falar com o banco” é padronizado, o que muda é a biblioteca/ponte usada na linguagem. A afirmativa III também é verdadeira, porque ODBC é, sim, um padrão para acesso a sistemas gerenciadores de bancos de dados. Ele foi criado para dar interoperabilidade entre aplicações e SGBDs, reduzindo dependência de fornecedor e facilitando portabilidade. Em prova, quando aparecer ODBC, pense em “camada padrão de acesso” e “driver por SGBD”. Assim, a combinação correta é I e III, somente, que corresponde à alternativa D.