Figura: Mapa mental do Banco de dados.
Figura: Mapa mental do Banco de dados.

Objetivos

  • Entender o conceito de banco de dados e seus usos.
  • Diferenciar bancos de dados de coleções de arquivos.
  • Conhecer operações básicas (CRUD) e seu mapeamento em SQL.
  • Identificar limitações do armazenamento em arquivos e vantagens dos SGBD.

O que é um banco de dados?

Um banco de dados é uma coleção organizada de informações que pode ser armazenada, consultada e manipulada de forma eficiente. Ao contrário de arquivos soltos (planilhas ou documentos), um banco de dados oferece estruturas e regras que facilitam a recuperação, a integridade e o compartilhamento dos dados.

Operações básicas (CRUD)

As operações mais comuns sobre dados formam o acrônimo CRUD:

  • Create (Criar): adicionar novos registros.
  • Read (Ler): recuperar informações por meio de consultas.
  • Update (Atualizar): modificar registros existentes.
  • Delete (Excluir): remover registros.

Exemplo em SQL — recuperar nomes e e‑mails de usuários ativos:

SELECT nome, email
FROM usuarios
WHERE ativo = TRUE;

Tabelas, registros e campos

No modelo relacional, os dados são organizados em tabelas. Cada tabela representa uma entidade (por exemplo, clientes) e é formada por linhas (registros ou tuplas) e colunas (campos ou atributos).

Exemplo simplificado de uma tabela clientes:

id nome cpf idade
1 João Saldanha 055.467.956-98 34
2 Ana da Silva 123.456.789-00 22

Por que não usar apenas arquivos?

Antes dos SGBD, informações eram armazenadas em arquivos separados (planilhas, textos, DBFs). Esse modelo apresenta várias limitações:

  • Inconsistência e redundância: dados iguais podem existir em vários locais, levando a divergências.
  • Dificuldade de integração: relacionar informações entre arquivos exige programação específica para cada necessidade.
  • Isolamento de dados: formatos diferentes dificultam a criação de novas aplicações.
  • Problemas de integridade: falta de regras que garantam a validade dos dados.

O que os SGBD resolvem

Sistemas Gerenciadores de Banco de Dados (SGBD) fornecem mecanismos para:

  • Garantir integridade (por meio de restrições e chaves).
  • Controlar concorrência e isolamento entre usuários.
  • Assegurar atomicidade e recuperação em caso de falhas (transações).
  • Aplicar políticas de segurança e permissões de acesso.

Esses recursos tornam os bancos de dados adequados para aplicações críticas e ambientes multiusuário.

Tipos de Bancos de Dados

Os bancos de dados podem ser classificados de acordo com sua estrutura e finalidade. Os principais tipos são:

Tipo Estrutura Principal Exemplos de Uso
Textual Arquivos de texto, documentos Armazenamento simples, logs
Grafos Nós e arestas (relacionamentos) Redes sociais, mapas, recomendação
Relacional Tabelas, linhas e colunas Sistemas empresariais, ERP
NoSQL Documentos, chave-valor, colunas, grafos Big Data, aplicações web escaláveis
Hierarquico Estrutura de árvore (pai-filho) Sistemas de arquivos, XML, organizações
Orientado a objetos Objetos com atributos e métodos Aplicações complexas, CAD, simulações

Estrutura de Cada Tipo

Textual: Armazena dados em arquivos de texto ou documentos, sem estrutura rígida. Exemplo: arquivos CSV, TXT.

Grafos: Organiza dados em nós (entidades) e arestas (relações). Ideal para dados altamente conectados.

Relacional: Utiliza tabelas com linhas (registros) e colunas (atributos). Permite relacionamentos entre tabelas por meio de chaves.

NoSQL: Inclui diversos modelos: documentos (JSON, BSON), chave-valor, colunar e grafos. Flexível para dados não estruturados ou semi-estruturados.

Qual tipo é mais usado?

O modelo relacional é o mais utilizado em ambientes corporativos devido à sua robustez, padronização (SQL) e facilidade de integração. No entanto, bancos NoSQL têm ganhado espaço em aplicações que exigem alta escalabilidade e flexibilidade.

Exemplos de Produtos de Banco de Dados

Produto Tipo Características Principais
Oracle Relacional Alta performance, segurança, escalabilidade
MySQL Relacional Open source, amplamente utilizado
PostgreSQL Relacional Extensível, suporte avançado a dados
Microsoft SQL Server Relacional Integração com ambiente Windows
MongoDB NoSQL (Documentos) Flexível, escalável, JSON nativo
Cassandra NoSQL (Colunar) Alta disponibilidade, Big Data
Neo4j Grafos Otimizado para relacionamentos complexos
Elasticsearch NoSQL (Documentos) Busca textual, análise de dados
Redis NoSQL (Chave-valor) Rápido, usado para cache
BM IMS Hierárquico Transacional, histórico (IBM mainframes)
XML Databases Hierárquico Armazenamento nativo de documentos XML
ObjectDB Orientado a Objetos ODBMS puro, compatível com Java JPA
db4o Orientado a Objetos Open source, embutido, para Java/.NET

Essas opções atendem diferentes necessidades, desde sistemas transacionais até análise de grandes volumes de dados.