> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dados.rio/llms.txt
> Use this file to discover all available pages before exploring further.

# Recursos de Aprendizado dbt

> Guia com tutoriais essenciais e cursos para dominar as melhores práticas de dbt.

O dbt oferece cursos estruturados e oficiais para desenvolver habilidades desde o básico até tópicos avançados. Abaixo estão os recursos recomendados pelo time, listados em ordem de aprendizado.

## 1. dbt Fundamentals

Introdução completa ao dbt, cobrindo conceitos básicos, estrutura de projetos e fluxo de trabalho essencial.

**Acesso**: [dbt Fundamentals](https://learn.getdbt.com/courses/dbt-fundamentals-vs-code)

**Tópicos cobertos**:

* O que é dbt e por que usar
* Estrutura básica de projetos
* Modelos, testes e documentação
* Execução do dbt (dbt run, dbt test, dbt docs)

***

## 2. Materialization Fundamentals

Aprofunde-se nas diferentes formas de materializar modelos dbt e escolha a mais adequada para cada caso de uso.

**Acesso**: [Materialization Fundamentals](https://learn.getdbt.com/courses/materializations-fundamentals)

**Tópicos cobertos**:

* Tables e views
* Incremental models (conceitos básicos)
* Ephemeral models
* Quando usar cada type de materialização

***

## 3. Snapshots

Capture mudanças em seus dados ao longo do tempo com snapshots, essencial para rastreabilidade de alterações em dimensões.

**Acesso**: [Snapshots](https://learn.getdbt.com/courses/snapshots-vs-code)

**Tópicos cobertos**:

* Como snapshots funcionam
* Configuração e execução
* Diferentes estratégias de snapshot
* Casos de uso em data lakes

***

## 4. Exposures

Documente e comunique o impacto de seus modelos dbt em relatórios, dashboards e outras aplicações downstream.

**Acesso**: [Exposures](https://learn.getdbt.com/courses/exposures)

**Tópicos cobertos**:

* O que são exposures
* Documentar dependências
* Integração com ferramentas de BI
* Rastreamento de lineage

***

## 5. Jinja, Macros and Packages

Aumente a flexibilidade e reutilização de código com Jinja templating, macros customizadas e pacotes dbt.

**Acesso**: [Jinja, Macros and Packages](https://learn.getdbt.com/courses/jinja-macros-and-packages-vs-code)

**Tópicos cobertos**:

* Sintaxe Jinja básica e avançada
* Criação de macros reutilizáveis
* Instalação e uso de packages dbt
* Comunidade e open-source

***

## 6. Unit Testing

Implemente testes unitários para garantir qualidade do código SQL e lógica de transformação.

**Acesso**: [Unit Testing](https://learn.getdbt.com/courses/unit-testing-vs-code)

**Tópicos cobertos**:

* Testes unitários vs testes de integração
* Estrutura de testes unitários
* Fixtures e mock data
* Boas práticas de testing

***

## 7. Incremental Models

Otimize performance implementando modelos que processam apenas dados novos ou modificados.

**Acesso**: [Incremental Models](https://learn.getdbt.com/courses/incremental-models)

**Tópicos cobertos**:

* Conceito de incremental models
* Estratégias de incrementação
* Configuração e troubleshooting
* Performance e otimização

***

## 8. Refactoring SQL for Modularity

Refatore SQL complexo em modelos modulares e reutilizáveis para melhor manutenibilidade.

**Acesso**: [Refactoring SQL for Modularity](https://learn.getdbt.com/courses/refactoring-sql-for-modularity-vs-code)

**Tópicos cobertos**:

* Princípios de modularidade
* Padrões de refatoração
* Common Table Expressions (CTEs)
* Organização de models no dbt

***

## 9. Advanced Testing

Domine técnicas avançadas de testes para garantir qualidade e confiabilidade dos dados em produção.

**Acesso**: [Advanced Testing](https://learn.getdbt.com/courses/advanced-testing)

**Tópicos cobertos**:

* Testes de schema customizados
* Testes singulares avançados
* Testes de performance
* Integração com CI/CD

## Próximos Passos

Após completar os cursos, aplique o aprendizado consultando:

* [Estrutura de Pastas do dbt](./estrutura-pastas.mdx)
* [Padrões YAML](./padroes-yaml.mdx)
* [Testes no dbt](./testes.mdx)
* [Colaboração em Queries](./colaboracao-queries.mdx)
