Início / Trilha 1 / Conteúdo Completo
📊
TRILHA 1

Fundamentos de BD e SQL Oracle

Domine os conceitos essenciais de bancos de dados relacionais e a linguagem SQL. Esta trilha é a base para toda sua carreira como DBA Oracle.

📖 Definição

Um banco de dados relacional organiza dados em tabelas (como planilhas) com linhas e colunas. Cada linha é um registro único, cada coluna é um atributo. As tabelas se relacionam através de chaves, permitindo consultas complexas e integridade dos dados.

🛠️ Aplicação Prática

Chave Primária (PK): Identifica unicamente cada registro (ex: ID do cliente).
Chave Estrangeira (FK): Cria relacionamentos entre tabelas (ex: pedido referencia cliente).
Isso garante consistência: não é possível ter um pedido sem um cliente válido.

✅ Resultado Esperado

Ao dominar estes conceitos, você conseguirá projetar estruturas de dados eficientes, entender esquemas existentes rapidamente e identificar problemas de modelagem que causam lentidão ou inconsistências.

Página Completa

📖 Definição

O Diagrama Entidade-Relacionamento (DER) é uma representação visual da estrutura do banco. Entidades são objetos do mundo real (CLIENTES, PRODUTOS). Atributos são suas características. Relacionamentos mostram como as entidades se conectam.

🛠️ Aplicação Prática

Antes de criar tabelas, desenhe o DER. Identifique: quais entidades existem? Quais atributos cada uma tem? Como se relacionam (1:1, 1:N, N:N)? Ferramentas como Oracle SQL Developer Data Modeler facilitam esse processo.

✅ Resultado Esperado

Um bom modelo evita redundância de dados, facilita manutenção e melhora performance. DBAs que dominam modelagem conseguem otimizar bancos existentes e projetar novos com eficiência.

Página Completa

📖 Definição

SQL Developer: Interface gráfica gratuita da Oracle. Ideal para desenvolvimento, administração visual, debug de código PL/SQL e exportação/importação de dados.
SQL*Plus: Cliente de linha de comando. Essencial para scripts, automação e situações onde não há interface gráfica disponível.

🛠️ Aplicação Prática

Use SQL Developer para tarefas do dia a dia: escrever queries, visualizar dados, criar objetos. Use SQL*Plus para scripts de manutenção, startup/shutdown do banco, e quando acessar via SSH. Ambos executam os mesmos comandos SQL - a diferença é a interface.

✅ Resultado Esperado

Dominar ambas as ferramentas torna você versátil: pode trabalhar em qualquer ambiente, automatizar tarefas repetitivas e resolver problemas mesmo em servidores sem GUI.

Página Completa

📖 Definição

DQL: Consultas (SELECT)
DML: Manipulação (INSERT, UPDATE, DELETE)
DDL: Definição de estrutura (CREATE, ALTER, DROP)
DCL: Controle de acesso (GRANT, REVOKE)

🛠️ Aplicação Prática

No dia a dia, você usará principalmente DQL (80% das operações são consultas). DML para manutenção de dados. DDL raramente (alterações estruturais planejadas). DCL é crítico para segurança - controla quem pode fazer o quê no banco.

✅ Resultado Esperado

Entender as categorias ajuda a saber o impacto de cada comando: DML pode ser revertido com ROLLBACK, DDL faz COMMIT automático. Essa distinção evita erros graves em produção.

Página Completa

📖 Definição

SELECT: Busca dados (SELECT * FROM tabela WHERE condição)
INSERT: Adiciona registros (INSERT INTO tabela VALUES (...))
UPDATE: Modifica registros (UPDATE tabela SET coluna = valor WHERE condição)
DELETE: Remove registros (DELETE FROM tabela WHERE condição)

🛠️ Aplicação Prática

SEMPRE use WHERE em UPDATE e DELETE - sem WHERE, afeta TODOS os registros!
Antes de UPDATE/DELETE, faça SELECT com a mesma condição para verificar quais registros serão afetados. Use COMMIT para confirmar ou ROLLBACK para desfazer.

✅ Resultado Esperado

Após praticar estes comandos, você conseguirá fazer manutenção de dados com segurança, extrair informações rapidamente e resolver a maioria das solicitações do dia a dia.

Página Completa

📖 Definição

JOINs: Combinam dados de múltiplas tabelas (INNER, LEFT, RIGHT, FULL)
Funções de Agregação: COUNT, SUM, AVG, MAX, MIN com GROUP BY
Subqueries: Consultas dentro de consultas para filtros complexos

🛠️ Aplicação Prática

INNER JOIN: Apenas registros que existem em ambas tabelas
LEFT JOIN: Todos da esquerda + matches da direita (útil para encontrar órfãos)
Use GROUP BY com funções de agregação para relatórios (total por departamento, média salarial, etc.)

✅ Resultado Esperado

Com JOINs e agregações, você cria relatórios complexos, identifica inconsistências entre tabelas, e responde perguntas de negócio que envolvem múltiplas fontes de dados.

Página Completa

📖 Definição

Um SGBD é o software que gerencia o banco de dados: controla acesso, garante integridade, gerencia transações e otimiza performance. Oracle é um SGBD enterprise com recursos avançados de alta disponibilidade, enquanto outros como PostgreSQL, MySQL e SQL Server têm características específicas.

🛠️ Aplicação Prática

Na arquitetura cliente-servidor, o SGBD (servidor) processa requisições SQL de múltiplos clientes. Oracle destaca-se em ambientes críticos com RAC (cluster), Data Guard (replicação) e recursos de particionamento. Entender essas diferenças ajuda a escolher a ferramenta certa.

✅ Resultado Esperado

Compreender o papel do SGBD permite tomar decisões arquiteturais melhores, entender limitações e vantagens de cada plataforma, e comunicar-se efetivamente com equipes de infraestrutura e desenvolvimento.

Página Completa

📖 Definição

VARCHAR2: Texto variável (até 4000 bytes)
NUMBER: Números com precisão definida
DATE: Data e hora (até segundos)
TIMESTAMP: Data e hora com frações de segundo
CLOB/BLOB: Texto ou binário grande (até 4GB)

🛠️ Aplicação Prática

Use VARCHAR2 para textos, NUMBER para valores numéricos, DATE para datas simples e TIMESTAMP quando precisar de precisão em milissegundos. Conversões entre tipos usam TO_CHAR, TO_NUMBER, TO_DATE. Escolher o tipo correto economiza espaço e melhora performance.

✅ Resultado Esperado

Dominar data types evita erros de conversão implícita, otimiza uso de storage e permite trabalhar com dados complexos como documentos XML ou imagens armazenadas no banco.

Página Completa

📖 Definição

Aritméticos: +, -, *, / para cálculos
Comparação: =, !=, <, >, <=, >= para filtros
Lógicos: AND, OR, NOT para combinar condições
Especiais: BETWEEN (intervalo), IN (lista), LIKE (padrão), IS NULL (nulo)

🛠️ Aplicação Prática

Use BETWEEN para intervalos (WHERE salario BETWEEN 3000 AND 5000). Use IN para múltiplos valores (WHERE dept IN ('TI','RH')). Use LIKE com % para buscas parciais (WHERE nome LIKE 'João%'). Use IS NULL para valores ausentes (não use = NULL).

✅ Resultado Esperado

Dominar operadores permite criar filtros precisos, fazer buscas complexas e construir cálculos dentro das queries, reduzindo a necessidade de processamento externo.

Página Completa

📖 Definição

DUAL: Tabela especial para testar expressões (SELECT SYSDATE FROM DUAL)
Aliases: Apelidos para colunas/tabelas (SELECT nome AS funcionario)
ORDER BY: Ordena resultados (ASC/DESC)
DISTINCT: Remove duplicatas
ROWNUM: Limita número de linhas retornadas

🛠️ Aplicação Prática

Use aliases para tornar queries legíveis. Use prefixação (tabela.coluna) em JOINs para evitar ambiguidade. ORDER BY organiza resultados para relatórios. DISTINCT elimina duplicatas em consultas. ROWNUM permite paginação (WHERE ROWNUM <= 10 para top 10).

✅ Resultado Esperado

Queries avançadas ficam mais eficientes e legíveis. Você consegue criar relatórios ordenados, evitar duplicatas, limitar resultados e testar funções sem precisar de tabelas reais.

Página Completa

📖 Definição

COMMIT: Confirma alterações permanentemente
ROLLBACK: Desfaz alterações não confirmadas
SAVEPOINT: Marca ponto intermediário para rollback parcial
Uma transação é um conjunto de operações que deve ser executado completamente ou não ser executado.

🛠️ Aplicação Prática

Sempre faça COMMIT após operações bem-sucedidas ou ROLLBACK se algo deu errado. Use SAVEPOINT antes de operações arriscadas para poder voltar parcialmente. Transações garantem integridade: se transferir dinheiro entre contas, ou ambas operações (débito e crédito) ocorrem, ou nenhuma ocorre.

✅ Resultado Esperado

Controlar transações corretamente previne inconsistências de dados, permite recuperação de erros e garante que operações complexas sejam atômicas e confiáveis.

Página Completa

📖 Definição

Numéricas: ROUND, TRUNC, MOD, ABS, CEIL, FLOOR
String: UPPER, LOWER, SUBSTR, LENGTH, CONCAT, TRIM
Data: SYSDATE, ADD_MONTHS, MONTHS_BETWEEN, TRUNC, EXTRACT
Conversão: TO_CHAR, TO_NUMBER, TO_DATE
Condicionais: NVL, NVL2, DECODE, CASE

🛠️ Aplicação Prática

Use funções numéricas para arredondar valores monetários. Funções de string para formatar nomes e textos. Funções de data para calcular diferenças entre datas e adicionar meses. NVL substitui valores nulos. CASE cria lógica condicional complexa dentro de queries.

✅ Resultado Esperado

Dominar funções SQL reduz processamento em aplicações, permite transformações de dados diretamente no banco e cria queries mais eficientes e expressivas.

Página Completa

📖 Definição

GROUP BY: Agrupa linhas com valores idênticos
COUNT: Conta registros
SUM: Soma valores
AVG: Média de valores
MIN/MAX: Valores mínimo e máximo
HAVING: Filtra grupos (WHERE não funciona com agregações)

🛠️ Aplicação Prática

Use GROUP BY para criar relatórios sumarizados: total de vendas por região, média salarial por departamento, número de pedidos por cliente. HAVING filtra após a agregação (ex: HAVING SUM(valor) > 10000 mostra apenas grupos com total acima de 10k).

✅ Resultado Esperado

GROUP BY é essencial para análises e relatórios gerenciais. Permite extrair insights de grandes volumes de dados e criar dashboards diretamente do banco.

Página Completa

📖 Definição

View: Consulta armazenada que age como tabela virtual. Simplifica queries complexas e controla acesso a dados sensíveis.
WITH CHECK OPTION: Garante que DML em views respeite a cláusula WHERE da view.
Synonym: Apelido para objetos do banco (tabelas, views) facilitando referências.

🛠️ Aplicação Prática

Crie views para JOINs frequentes ou cálculos complexos. Use para segurança: view mostra apenas colunas permitidas ao usuário. Synonyms permitem referenciar OWNER.TABELA como TABELA, simplificando código e facilitando migração entre ambientes.

✅ Resultado Esperado

Views tornam queries complexas reutilizáveis e melhoram segurança. Synonyms simplificam código e tornam aplicações mais portáveis entre diferentes schemas e ambientes.

Página Completa

📖 Definição

PRIMARY KEY (PK): Identifica unicamente cada registro
FOREIGN KEY (FK): Garante referência válida entre tabelas
UNIQUE: Impede valores duplicados
NOT NULL: Obriga preenchimento
CHECK: Valida regras customizadas
DEFAULT: Define valor padrão

🛠️ Aplicação Prática

PK e FK garantem integridade referencial (não há pedido órfão sem cliente). UNIQUE impede e-mails duplicados. NOT NULL garante dados essenciais. CHECK valida regras de negócio (ex: salário > 0). DEFAULT simplifica inserções (ex: data_cadastro DEFAULT SYSDATE).

✅ Resultado Esperado

Constraints bem definidas previnem inconsistências, validam dados no nível do banco (não apenas na aplicação) e documentam regras de negócio diretamente na estrutura.

Página Completa

Trilha 1: Fundamentos de BD e SQL

Acesse o resumo da trilha ou veja em formato modal

Voltar para Trilha 1 Próxima: Trilha 2