Questão de Banco de Dados — MySQL — Avança SP 2023
- Código
- qa541296
- Banca
- Avança SP
- Órgão
- Pref Morungaba
- Ano
- 2023
- Cargo
- Tec (Morungaba)
- ACassandra.
- BMySQL.
- CHBase.
- DRedis.
- EMongoDB.
GabaritoB — MySQL.
Gabarito: letra B. O MySQL é um Sistema Gerenciador de Banco de Dados Relacional (SGBDR), pois organiza os dados em tabelas (relações) com linhas e colunas e utiliza a linguagem SQL como interface — exatamente o que define um banco relacional. As demais alternativas (Cassandra, HBase, Redis e MongoDB) são bancos de dados NoSQL, que não seguem o modelo relacional.
Para entender a questão, é preciso primeiro distinguir os dois grandes paradigmas de bancos de dados: o relacional e o NoSQL (Not Only SQL). O modelo relacional, criado por Edgar Frank Codd na década de 1970, organiza os dados em tabelas (também chamadas de relações), compostas por linhas (registros) e colunas (atributos). Cada tabela possui uma chave primária que identifica unicamente cada registro, e os relacionamentos entre tabelas são estabelecidos por meio de chaves estrangeiras. A linguagem padrão para manipular esses dados é o SQL (Structured Query Language).
O SGBD relacional exige um esquema predefinido: antes de inserir dados, é necessário definir os tipos de dados e os relacionamentos. Isso garante a integridade e a consistência dos dados, mas também impõe uma estrutura rígida. Os exemplos mais conhecidos de SGBDR são: MySQL, Oracle, PostgreSQL, Microsoft SQL Server e MariaDB.
Já os bancos NoSQL surgiram para atender a cenários de Big Data e aplicações que exigem alta escalabilidade e flexibilidade, onde o modelo relacional rígido não é adequado. Eles não utilizam tabelas com esquema fixo e podem ser classificados em quatro grandes tipos:
Tipo NoSQL | Descrição | Exemplos |
|---|---|---|
Orientado a colunas | Armazena dados em colunas, otimizado para consultas analíticas | Cassandra, HBase |
Orientado a documentos | Armazena dados em documentos (JSON, BSON) | MongoDB, CouchDB |
Chave-valor | Armazena pares chave-valor, de acesso rápido | Redis, DynamoDB |
Baseado em grafos | Armazena entidades e relacionamentos como nós e arestas | Neo4j |
A pegadinha desta questão é justamente a classificação dos bancos: o candidato que conhece apenas os nomes, mas não sabe a qual paradigma cada um pertence, pode se confundir. A banca mistura bancos relacionais e NoSQL na mesma lista, exigindo que o aluno saiba diferenciá-los. O critério decisivo é: o banco organiza os dados em tabelas com SQL? Se sim, é relacional; se não, é NoSQL.
O Cassandra é um banco de dados NoSQL orientado a colunas, projetado para lidar com grandes volumes de dados distribuídos. Ele não segue o modelo relacional, pois não utiliza tabelas com esquema fixo nem SQL como linguagem principal (usa a CQL — Cassandra Query Language). Portanto, não é um SGBDR.
O MySQL é um dos SGBDR mais populares do mundo. Ele organiza os dados em tabelas (relações) com linhas e colunas, utiliza a linguagem SQL como interface e segue o modelo relacional. É amplamente utilizado em aplicações web, frequentemente integrado ao PHP, e suporta recursos como controle transacional, triggers, stored procedures e replicação — todas características de um SGBD relacional.
O HBase é um banco de dados NoSQL orientado a colunas, baseado no modelo do Google BigTable. Ele roda sobre o Hadoop e é projetado para armazenar grandes volumes de dados esparsos. Não utiliza tabelas relacionais nem SQL, portanto não é um SGBDR.
O Redis é um banco de dados NoSQL do tipo chave-valor, que armazena dados em memória para acesso extremamente rápido. Ele não organiza dados em tabelas relacionais e não utiliza SQL. É usado principalmente para cache e filas de mensagens, não como SGBDR.
O MongoDB é um banco de dados NoSQL orientado a documentos, que armazena dados em documentos BSON (formato binário do JSON). Ele não segue o modelo relacional, não utiliza tabelas nem SQL, e é conhecido por sua flexibilidade de esquema. Portanto, não é um SGBDR.
A banca mistura bancos relacionais e NoSQL na mesma lista, testando se o candidato sabe classificar cada um. O erro mais comum é confundir o MongoDB (NoSQL orientado a documentos) com um banco relacional, ou achar que o Cassandra (NoSQL orientado a colunas) é relacional por usar o termo "colunas". Lembre-se: o que define um SGBDR é a organização em tabelas com SQL, não apenas o nome ou a estrutura de armazenamento.
Para fixar, memorize os exemplos clássicos de cada paradigma: Relacionais → MySQL, Oracle, PostgreSQL, SQL Server, MariaDB. NoSQL → Cassandra e HBase (colunas), MongoDB e CouchDB (documentos), Redis e DynamoDB (chave-valor), Neo4j (grafos). Na prova, ao ver um banco desconhecido, pergunte-se: "ele usa tabelas e SQL?" — se sim, é relacional.
Gabarito: letra B
Link permanente: /questoes/qa541296