Exercícios Intermediários de DDL
Exercício 1: Herança de Tabelas
Descrição
Implemente uma estrutura de herança para diferentes tipos de produtos.
Requisitos
Tabela base de produtos
Tabelas específicas para produtos físicos e digitais
Constraints específicas para cada tipo
Solução
Exercício 2: Particionamento de Tabelas
Descrição
Crie uma tabela particionada para histórico de vendas.
Requisitos
Particionamento por intervalo de datas
Partições mensais
Índices apropriados para cada partição
Solução
Exercício 3: Domínios Personalizados
Descrição
Defina domínios customizados para tipos de dados comuns.
Requisitos
Domínio para e-mail
Domínio para telefone
Domínio para CPF/CNPJ
Solução
Exercício 4: Triggers e Funções
Descrição
Implemente triggers para auditoria de alterações.
Requisitos
Tabela de auditoria
Trigger para INSERT/UPDATE/DELETE
Registro de usuário e timestamp
Solução
Exercício 5: Views Materializadas
Descrição
Crie views materializadas para relatórios de vendas.
Requisitos
Agregações complexas
Atualização programada
Índices para performance
Solução
Exercício 6: Schemas e Segurança
Descrição
Configure schemas diferentes para separação de responsabilidades.
Requisitos
Schemas para diferentes módulos
Controle de acesso granular
Roles específicas
Solução
Exercício 7: Constraints Complexas
Descrição
Implemente constraints avançadas com funções personalizadas.
Requisitos
Validação complexa de dados
Constraints exclusivas condicionais
Constraints entre tabelas
Solução
Exercício 8: Extensões e Tipos Customizados
Descrição
Utilize extensões PostgreSQL e crie tipos personalizados.
Requisitos
Extensão para geolocalização
Tipo customizado para endereço
Tipo customizado para dinheiro
Solução
Exercício 9: Otimização de Schema
Descrição
Otimize a estrutura do banco de dados para performance.
Requisitos
Índices apropriados
Estatísticas personalizadas
Configuração de storage
Solução
Exercício 10: Migração de Dados
Descrição
Crie scripts para migração segura de dados.
Requisitos
Verificação de integridade
Tratamento de erros
Rollback em caso de falha
Solução
Critérios de Avaliação
Implementação correta das funcionalidades
Uso adequado de recursos avançados
Performance e escalabilidade
Tratamento de erros
Documentação do código
Dicas de Estudo
Consulte a documentação oficial do PostgreSQL
Teste diferentes cenários
Monitore a performance
Mantenha scripts de rollback
Documente decisões de design