Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — Quadrix 2024
- Código
- qg354238
- Banca
- Quadrix
- Órgão
- IBICT
- Ano
- 2024
- Nível
- Superior
- Cargo
- Tecnologista - Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: CERTO. O ODBC (Open Database Connectivity) é, de fato, uma API genérica e padronizada que permite que aplicações acessem diferentes SGBDs de forma uniforme, independentemente do banco de dados subjacente, e pode ser utilizada por diversas linguagens de programação. Essa é a definição clássica do ODBC, amplamente aceita na literatura e cobrada em concursos.
O ODBC foi desenvolvido pela Microsoft na década de 1990 como uma especificação de API para acesso a bancos de dados. Seu principal objetivo é fornecer uma camada de abstração entre a aplicação e o SGBD, de modo que o programador não precise conhecer os detalhes específicos de cada banco. Isso é possível graças à arquitetura do ODBC, que envolve um Gerenciador de Driver (Driver Manager) e drivers específicos para cada SGBD (como MySQL, PostgreSQL, SQL Server, Oracle, etc.).
A aplicação utiliza as funções padrão do ODBC (como SQLConnect, SQLExecDirect, SQLFetch), e o Gerenciador de Driver encaminha essas chamadas para o driver correto, que traduz as instruções para o protocolo nativo do banco de dados. Essa abstração é o que torna o ODBC uma API "genérica": o mesmo código-fonte pode acessar bancos de dados diferentes apenas trocando o driver, sem alterações significativas no código da aplicação.
A portabilidade entre linguagens é outra característica fundamental. Como o ODBC é uma API baseada em C, praticamente todas as linguagens de programação modernas (C, C++, Java, Python, PHP, C#, etc.) possuem bibliotecas ou wrappers que permitem acessar o ODBC. Isso reforça a afirmação do enunciado de que o ODBC "pode ser utilizada com várias linguagens de programação".
É importante distinguir o ODBC de outras tecnologias de acesso a banco de dados, como o JDBC (Java Database Connectivity), que é uma API específica para a linguagem Java, e o ADO.NET, que é específico para a plataforma .NET. O ODBC, por ser uma API de nível mais baixo e independente de linguagem, serve como base para muitas dessas outras tecnologias. Por exemplo, o JDBC pode usar o ODBC como ponte (JDBC-ODBC Bridge) para acessar bancos de dados que não possuem driver JDBC nativo.
A pegadinha que a banca poderia explorar aqui seria inverter os papéis: afirmar que o ODBC é uma API específica para uma única linguagem ou que ele é um SGBD. No entanto, o enunciado está correto ao descrever o ODBC como uma API genérica e multiplataforma. Guarde essa distinção: ODBC é uma API de acesso, não um SGBD, e é genérica, não específica de uma linguagem.
A afirmação está correta. O ODBC é uma API (Application Programming Interface) genérica, padronizada, que permite o acesso a diferentes bancos de dados de forma uniforme. Sua principal característica é a independência: independência do SGBD (desde que exista um driver ODBC) e independência da linguagem de programação (desde que a linguagem tenha suporte a chamadas de funções ODBC).
O termo "genérica" é o ponto-chave: o ODBC não foi projetado para um banco de dados específico, mas para servir como uma interface comum entre aplicações e diversos SGBDs. O "Driver Manager" do ODBC gerencia a comunicação entre a aplicação e os drivers específicos, permitindo que o mesmo código acesse bancos de dados diferentes. Essa é a essência da afirmação, e ela está tecnicamente correta.
Para questões sobre ODBC, lembre-se da tríade: API (não é um SGBD), genérica (funciona com vários bancos) e multilinguagem (pode ser usada com várias linguagens). Se a alternativa trocar qualquer um desses três elementos, está errada. Compare com o JDBC, que é específico para Java, e com o ADO.NET, específico para .NET — o ODBC é a opção mais universal.
Gabarito: CERTO.
Link permanente: /questoes/qg354238