O que é o SGBD, o que faz e exemplos

Entenda o que é SGBD, para que serve, como funciona e quais conceitos, funções e comandos SQL mais aparecem em provas de concursos

Por
Publicado em
3 min. de leitura

Um SGBD (Sistema Gerenciador de Banco de Dados) é um sistema de software utilizado para criar, armazenar, organizar, consultar, alterar e proteger bancos de dados. Ele funciona como uma camada entre os dados armazenados e os usuários ou aplicações que precisam acessá-los. Oracle Database, PostgreSQL, MySQL e Microsoft SQL Server são exemplos conhecidos de SGBDs relacionais encontrados tanto em organizações privadas quanto em órgãos públicos.

Uma referência clássica para compreender o que é um SGBD é a obra de Ramez Elmasri e Shamkant B. Navathe. Os autores definem o DBMS — equivalente em português a SGBD — como um sistema ou conjunto de programas que facilita a criação e a manutenção de um banco de dados computadorizado. Em uma definição mais ampla apresentada pelos autores, o SGBD permite realizar operações de definição, construção, manipulação e compartilhamento de bancos de dados entre diferentes usuários e aplicações. Portanto, seu papel não é apenas guardar informações, mas fornecer toda uma infraestrutura para gerenciá-las.

Elmasri e Navathe também ajudam a separar três conceitos frequentemente confundidos nas provas: dado, banco de dados e SGBD. O dado representa um fato que pode ser registrado e possui algum significado; o banco de dados corresponde a uma coleção de dados relacionados; e o SGBD é o software utilizado para facilitar a criação e a manutenção desse banco. Os autores ainda empregam o conceito de sistema de banco de dados, formado pelo SGBD juntamente com o próprio banco de dados e, conforme o contexto, também pelas aplicações que o utilizam. Essa distinção é simples, mas aparece com frequência em questões de concursos.

Uma das principais funções do SGBD é permitir operações de inserção, consulta, alteração e exclusão de dados. Nos bancos relacionais, essas operações são normalmente realizadas por meio da SQL. Um sistema pode executar um INSERT para cadastrar uma informação, um SELECT para consultá-la, um UPDATE para modificar determinado registro e um DELETE para removê-lo. Além dessas operações, o SGBD oferece mecanismos para criação das estruturas utilizadas para armazenar os dados.

Outro recurso essencial é o controle de concorrência. Em sistemas corporativos, dezenas, centenas ou milhares de usuários podem acessar os mesmos dados simultaneamente. O SGBD precisa coordenar essas operações para preservar a consistência das informações. É nesse contexto que aparecem conceitos como transações, bloqueios, níveis de isolamento e propriedades ACID. O sistema procura garantir que operações simultâneas não produzam situações incompatíveis com as regras estabelecidas para o banco.

O SGBD também participa diretamente da segurança, integridade, recuperação e disponibilidade dos dados. Ele pode autenticar usuários, conceder e revogar privilégios, implementar chaves primárias e estrangeiras, controlar transações e registrar operações em mecanismos de log. Além disso, os produtos modernos oferecem recursos de backup, recuperação, replicação e alta disponibilidade. Essas características mostram por que o SGBD é muito mais do que um simples programa de armazenamento de arquivos.

O que é SGBD e para que ele serve?

SGBD é o sistema utilizado para gerenciar um banco de dados. Ele oferece mecanismos para definir estruturas, armazenar dados, consultar informações, modificar registros, controlar usuários, administrar transações e recuperar o banco em caso de falhas. A abordagem baseada em SGBDs também facilita o compartilhamento dos dados entre diferentes aplicações e usuários. Elmasri e Navathe destacam justamente essa capacidade de fornecer uma infraestrutura geral para criação e manutenção de bancos de dados, evitando que cada aplicação precise implementar isoladamente todos esses mecanismos.

Imagem 1 gerada

Qual é a diferença entre banco de dados e SGBD?

A diferença pode ser resumida da seguinte maneira: o banco de dados contém os dados; o SGBD gerencia esses dados. Se uma universidade possui informações sobre alunos, professores, disciplinas e matrículas, essas informações organizadas constituem o banco de dados. Se essas informações estiverem armazenadas e administradas por PostgreSQL, Oracle ou outro produto semelhante, esse software será o SGBD. Essa distinção corresponde diretamente às definições apresentadas por Elmasri e Navathe e é bastante explorada em provas.

Como funciona um SGBD?

Quando uma aplicação solicita uma informação, o SGBD recebe a operação, interpreta o comando e determina como acessar os dados armazenados. Internamente, existem componentes relacionados ao processamento de consultas, gerenciamento de armazenamento, gerenciamento de memória, controle de concorrência, segurança e recuperação. Em uma consulta SQL, por exemplo, o otimizador pode avaliar diferentes estratégias de acesso e selecionar um plano de execução para obter os registros solicitados. Tudo isso acontece sem que o usuário precise conhecer em detalhes a forma física como cada informação está armazenada.

Qual é a relação entre SGBD e SQL?

A SQL (Structured Query Language) é a linguagem mais utilizada para interação com SGBDs relacionais. Por meio dela, é possível criar tabelas, consultar registros, alterar dados, excluir informações, controlar transações e administrar determinados privilégios. Entretanto, SQL e SGBD não são sinônimos. SQL é uma linguagem; SGBD é o sistema de software que gerencia o banco. Também existem SGBDs e tecnologias de armazenamento que utilizam outras linguagens e modelos de dados, como ocorre em diferentes soluções NoSQL.

Como o SGBD contribui para a segurança e a integridade dos dados?

O SGBD oferece mecanismos de autenticação, autorização e restrições de integridade. É possível definir quais usuários podem acessar determinadas tabelas, quais operações podem executar e quais regras os dados devem obedecer. Chaves primárias evitam determinadas duplicidades de identificação, enquanto chaves estrangeiras auxiliam na manutenção da integridade entre relações. Recursos de transação também ajudam a impedir que uma operação parcialmente executada deixe o banco em uma situação inconsistente.

Quais comandos SQL são mais cobrados em provas sobre SGBD?

O candidato deve dominar especialmente SELECT, INSERT, UPDATE e DELETE, além de comandos como CREATE, ALTER e DROP. Também são recorrentes WHERE, GROUP BY, HAVING, ORDER BY, JOIN, subconsultas, funções de agregação, COMMIT e ROLLBACK. Em provas mais avançadas aparecem índices, views, triggers, procedures, transações e características específicas dos SGBDs. Para aprofundar esses assuntos, recomendo também meus artigos no Blog do Gran: Banco de Dados para a Dataprev: modelo relacional, chaves, normalização e transações do jeito que a FGV cobra e Banco de Dados para o Concurso Dataprev — Parte I: modelagem, modelo relacional, normalização e SQL na prova da FGV.

Por
Publicado em
3 min. de leitura

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *