BD e SGBD: quem faz o quê
O que você vai aprender
- diferenciar um banco de dados (um conjunto organizado de dados) de um SGBD — o programa que executa consultas SQL e gerencia esses dados
- explicar o caminho de uma consulta, «SQL → SGBD → resultado», e por que um monte de planilhas do Excel não dá conta de milhares de usuários ao mesmo tempo
- listar o que um SGBD oferece além de «arquivos comuns»: transações, log de recuperação (), controle de acesso (
GRANT) e verificações de integridade
Capítulo 1 — «O mapa do arquivo»
O instantâneo do «Kotomarket» já não é um sinal vindo de um setor morto — está num compartimento de quarentena a bordo da estação Vault-9, e abaixo da última linha do continua a mesma assinatura: «K.». Esta manhã, um novo registro pisca no seu holopainel: «Acesso liberado: o índice do arquivo. Emitido por: módulo S.Q.L.» A porta do cofre desliza para o lado; atrás dela, sob uma luz âmbar, os racks de servidores zumbem sem parar.
QUERY: Antes de ler a memória de outra pessoa, entenda como ela foi construída. Vamos começar pelo essencial: o que aqui é o armazenamento e quem é o guardião.
Banco de dados e SGBD
Um banco de dados (BD) é um conjunto organizado de dados. O instantâneo do «Kotomarket» guarda compradores, produtos, pedidos e eventos: nada está espalhado em arquivos soltos; tudo segue uma estrutura clara — e é por isso que ainda pode ser lido cento e sessenta anos depois.
Mas o armazenamento sozinho não responde a perguntas. É preciso um programa capaz de criar tabelas, registrar novos pedidos, ler os dados e garantir que as conexões não se rompam. Esse programa é um SGBD (sistema de gerenciamento de banco de dados). Exemplos: PostgreSQL, MySQL, ClickHouse. Nosso instantâneo é um banco PostgreSQL, e ele ainda fala o mesmo SQL de quando a loja estava ativa.
Você escreve uma consulta em SQL → envia para o SGBD → o SGBD busca os dados pedidos e devolve o resultado. O Excel é ótimo para uma planilha pessoal, mas não para uma loja em que milhares de usuários navegam pelos produtos, fazem pedidos e registram eventos no sistema ao mesmo tempo.

Database and DBMS
A database is an organized store. The Kotomarket holds buyers, products, orders, and events — not scattered across files, but in a clear structure. That’s exactly why it can still be read a hundred and sixty years later.
But the store itself doesn’t answer questions. You need a program that can create tables, record new orders, read data, and make sure the links never break. That’s a (database management system). Examples: PostgreSQL, MySQL, ClickHouse. Our snapshot is a PostgreSQL database, and it still speaks the same SQL it did when the shop was alive.
You write a query in SQL → send it to the DBMS → the DBMS fetches the data you asked for and returns the result. Excel is fine for a personal spreadsheet, but not for a shop where thousands of users browse products, place orders, and leave events in the system all at once.
O que um SGBD faz que «arquivos comuns» não conseguem
À primeira vista, a loja poderia funcionar sem um SGBD: bastaria gravar os pedidos em CSV ou Excel. Na escala de uma planilha pessoal, isso até funciona — até aparecerem os problemas para os quais o SGBD foi criado.
- Acesso concorrente. No «Kotomarket» em funcionamento, os compradores faziam pedidos ao mesmo tempo. Dois processos gravando no mesmo arquivo podem sobrescrever as alterações um do outro; um SGBD executa as alterações como transações e organiza sozinho as operações paralelas. O PostgreSQL faz isso pelo mecanismo : quem lê não bloqueia quem escreve, e vice-versa.
- Recuperação após falha. A energia oscilou no meio de uma gravação — o arquivo corrompeu, e não há como saber qual parte do pedido chegou a ser salva. O SGBD primeiro registra a alteração em um log (no PostgreSQL, o — write-ahead log) e a reaplica depois da falha: o pedido é gravado por inteiro ou não é gravado.
- Controle de acesso. Um arquivo se abre por inteiro ou não se abre. Em um SGBD, as permissões são granulares — até o nível de uma única tabela:
-- O analista só pode ler os pedidos, sem direito de alterá-los
GRANT SELECT ON orders TO analyst;
- Integridade. Um SGBD não aceita um pedido com preço em formato de texto, nem uma referência a um comprador que não existe: os tipos das colunas e as restrições são verificados a cada gravação. Para um arquivo, tanto faz o que há dentro dele.
- Perguntas declarativas. «Mostre os pedidos acima de 5000» vira uma única linha de SQL. Com um arquivo, esse mesmo trabalho cairia sobre um programa que alguém teria que escrever — e acertar.
O SGBD é o intermediário de plantão entre você e os dados: ele recebe consultas SQL, executa essas consultas e impede que o banco vire uma bagunça. Neste curso, vamos aprender com o PostgreSQL — ele aparece com frequência em vagas de análise de dados e backend. Você já conhece o guardião. Mas, antes de abrir o índice do nosso instantâneo, QUERY te leva até a seção vizinha: o registro de outros arquivos da velha Terra — para você entender por que o nosso, e só o nosso, sobreviveu intacto.
Interview question
Pergunta de entrevista: qual é a diferença entre um banco de dados e um SGBD? Por que uma aplicação não deveria simplesmente guardar seus dados em arquivos?
Resposta forte: um banco de dados é um conjunto de dados organizados; um SGBD é o programa que gerencia esses dados (PostgreSQL, MySQL, ClickHouse). Arquivos não oferecem acesso concorrente (gravações paralelas podem se sobrescrever), recuperação após falha (um SGBD mantém um log e reaplica alterações inacabadas), permissões granulares nem verificações de integridade. E, acima de tudo, um SGBD responde a consultas SQL declarativas, enquanto um arquivo teria que ser interpretado por um código escrito por você.