03-Tipos de SGBD (Relacional x Não Relacional) e o MySQL
Materiais desta aula
3 — Tipos de SGBD (Relacional x Não Relacional) e o MySQL
1. Banco de dados relacional
Um banco de dados relacional organiza os dados em tabelas relacionadas entre si por meio de chaves — exatamente o que vimos na aula anterior (registro, campo, chave primária e chave estrangeira). Ele usa a linguagem SQL para criar, consultar e manipular os dados.
Exemplos de SGBD relacionais: MySQL, PostgreSQL, Oracle, SQL Server.
Um banco relacional raramente tem só uma tabela — o normal é várias tabelas conectadas por chaves, formando uma espécie de "mapa" dos dados. Lembrando o exemplo da aula anterior:
Alunos (matrícula, nome, idade, turma)
│
│ matrícula ← matrícula_aluno
▼
Matrículas_Disciplina (id_matricula, matrícula_aluno, disciplina)
Cada tabela cuida de uma parte da informação, e as chaves garantem que elas conversem entre si sem repetir dados.
2. Banco de dados não relacional (NoSQL)
Um banco de dados não relacional, ou NoSQL, não segue o modelo fixo de tabelas. Ele guarda os dados de formas mais flexíveis, o que ajuda quando o volume de dados é muito grande ou quando os dados mudam de formato com frequência.
Alguns tipos de NoSQL:
| Tipo | Como guarda os dados | Exemplo |
|---|---|---|
| Documentos | Cada registro é um "documento" flexível, parecido com uma ficha | MongoDB |
| Chave-valor | Pares simples de chave e valor, muito rápidos de buscar | Redis |
| Colunar | Dados organizados por colunas, bom para grandes volumes | Cassandra |
| Grafos | Dados como nós conectados, ótimo para relacionamentos complexos | Neo4j |
3. Relacional x não relacional — quando usar cada um
- Relacional: dados bem estruturados, que precisam de relacionamentos confiáveis — sistemas bancários, escolares, de vendas.
- Não relacional: dados variados, que mudam muito, ou que exigem grande escala — redes sociais, sensores (IoT), big data.
Muitos sistemas modernos combinam os dois tipos, cada um cuidando da parte para a qual é mais adequado.
4. O que é o MySQL
- É um SGBD relacional, de código aberto (pode ser usado gratuitamente).
- Foi criado em 1995, na Suécia, por Michael "Monty" Widenius, David Axmark e Allan Larsson.
- O nome "MySQL" vem de "My" (nome da filha de um dos criadores) + "SQL".
- Hoje é mantido pela Oracle Corporation.
5. Onde o MySQL é usado
O MySQL é uma das bases dos sistemas mais comuns da internet:
- É o banco de dados padrão de plataformas de sites muito usadas, como WordPress e Joomla — boa parte dos blogs e sites que você visita provavelmente roda em cima de um banco MySQL.
- É parte da clássica combinação LAMP (Linux, Apache, MySQL, PHP), uma das bases históricas da web.
- É usado por lojas virtuais, sistemas internos de empresas e aplicativos de pequeno, médio e grande porte ao redor do mundo.
- Amplamente utilizado por gigantes globais da tecnologia, como:
- Facebook: Utiliza grandes infraestruturas e personalizações baseadas em MySQL para suportar sua enorme base de usuários.
- YouTube: Emprega o banco de dados para gerenciar o armazenamento e o fluxo de vídeos.
- Netflix: Usa o sistema em partes de suas operações de gerenciamento de dados e catálogos.
- Twitter: Aplica o MySQL para consultas rápidas e suporte a serviços de alta demanda.
- Uber e Airbnb: Utilizam o banco para organizar dados de viagens, transações e perfis de usuários.
- NASA: Emprega o sistema em projetos de missão crítica e armazenamento de informações científicas.
- Wikipédia: Mantém sua infraestrutura clássica de consultas baseada no ecossistema MySQL.
6. MySQL x outros SGBDs — por que vamos usar o MySQL
| SGBD | Licença | Indicado para |
|---|---|---|
| MySQL | Gratuito (código aberto) | Aprendizado, web, pequenas e médias empresas |
| PostgreSQL | Gratuito (código aberto) | Sistemas que exigem recursos mais avançados |
| Oracle | Pago (licença comercial) | Grandes corporações |
| SQL Server | Pago (versão gratuita limitada) | Empresas do ecossistema Microsoft |
Vamos usar o MySQL na disciplina porque é gratuito, fácil de aprender, tem uma comunidade enorme (muitos tutoriais e fóruns de apoio) e é muito usado no mercado de trabalho — uma habilidade que vale a pena levar para a vida profissional.
7. Uma prévia do MySQL Workbench
O MySQL Workbench é a ferramenta visual que vamos usar a partir da próxima aula para criar e gerenciar bancos de dados. De forma resumida, ela tem três áreas principais:
- Navegador: lista os bancos de dados e tabelas que existem.
- Editor SQL: onde escrevemos os comandos para criar, consultar e alterar dados.
- Grade de resultados: onde aparecem os dados retornados por uma consulta.
8. Prévia da próxima aula
Na próxima aula, vamos instalar e conhecer a interface do MySQL Workbench — a ferramenta visual que usaremos para criar e gerenciar nossos bancos de dados a partir de agora.
Vídeos sobre o assunto
- Banco de Dados Relacional x Não Relacional — Qual a diferença? — explica de forma direta a diferença entre os dois modelos, com exemplos.
- Curso MySQL #01 — O que é um Banco de Dados? — primeira aula do curso gratuito de MySQL do CursoemVideo, contextualizando a ferramenta que usaremos.
Para se aprofundar
- Alura — SQL e NoSQL: entenda bancos relacionais e não relacionais — artigo com mais detalhes sobre os tipos de NoSQL.
- Código Fácil — O que é MySQL? — história e características do MySQL, incluindo a origem do nome e a aquisição pela Oracle.