Campos, tipos e validação com ASSERT no SurrealDB
Por Mauro Mequelussi · Curso gratuito SurrealDB do zero: fundamentos com um CRM · Português (PT-BR)
Resposta direta · O que esta aula resolve
A Aula 14 de 20 ("Campos, tipos e validação com ASSERT no SurrealDB"), parte do módulo "Schema" do curso gratuito "SurrealDB do zero: fundamentos com um CRM" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: o aluno aprende a estruturar os campos das tabelas do CRM no SurrealDB usando DEFINE FIELD. O conteúdo aborda tipos primitivos, objetos aninhados, arrays, a flexibilidade da cláusula FLEXIBLE e campos opcionais. Também explora validações com ASSERT, automação de datas com DEFAULT e VALUE, além de regras de segurança por campo baseadas no Código de Defesa do Consumidor.
Crie sua conta grátis para assistir a esta videoaula em HD
O resumo técnico e os capítulos abaixo são abertos para consulta. Crie sua conta 100% gratuita em segundos para liberar todas as 20 videoaulas em HD, controle automático de progresso, Tutor IA e certificado gratuito verificável.
- R$ 0 · Sem cartão de crédito
- Tutor IA tira-dúvidas da aula
- Certificado gratuito incluso
O que você vai aprender
- Como usar o comando DEFINE FIELD e a cláusula TYPE em tabelas com schema
- A diferença entre tipos simples (string, decimal) e tipos complexos (objetos, arrays e option)
- Como permitir estruturas flexíveis em tabelas rígidas usando a cláusula FLEXIBLE
- A criar restrições e regras de validação personalizadas usando ASSERT
- A diferença prática entre DEFAULT e VALUE para campos de data (created_at e updated_at)
- Como configurar permissões de acesso e edição direto na definição de cada campo
Pontos-chave da aula
- O DEFINE FIELD opera de forma independente do DEFINE TABLE e sempre exige indicar a tabela com ON TABLE.
- Valores monetários devem usar o tipo decimal para evitar erros de arredondamento inerentes a números de ponto flutuante.
- A cláusula FLEXIBLE viabiliza armazenar objetos ou listas sem schema pré-definido dentro de tabelas schemafull.
- O ASSERT avalia expressões lógicas usando $value e recusa operações que não cumpram a condição estabelecida.
- DEFAULT roda apenas no momento da criação do registro, enquanto VALUE é recalculado a cada modificação.
- Permissões por campo garantem regras de negócio robustas, como limitar o pedido de reembolso ao prazo do CDC.
Capítulos e roteiro técnico da aula
7 capítulos minutados- 00:00
Por que definir regras e tipos em campos
Entenda os riscos de deixar um banco sem validação e veja como o comando DEFINE FIELD funciona.
- 00:56
Tipos simples e tipos complexos no SurrealDB
Aprenda a definir strings, decimais, objetos com notação de ponto e arrays estruturados.
- 02:10
Campos FLEXIBLE, record links e option
Veja como liberar dados sem schema rígido usando FLEXIBLE e como usar record e option para campos opcionais.
- 03:27
Validação de dados com a cláusula ASSERT
Garanta a consistência de e-mails e notas numéricas barrando valores inválidos diretamente no banco.
- 04:19
Diferença prática entre DEFAULT e VALUE
Descubra quando usar DEFAULT para criação e VALUE para atualização automática de timestamps.
- 05:01
Permissões de campo e regra de reembolso do CDC
Implemente regras de negócio complexas como o prazo de 7 dias do Código de Defesa do Consumidor via permissões no campo.
- 05:59
Resumo das definições de campo
Recapitulação dos conceitos de campos, tipos, asserções e permissões para preparar o CRUD com schema.
Momentos de destaque na prática
Como usar campos FLEXIBLE para dados variáveis
Precisa salvar dados sem formato fixo dentro de uma tabela com schema rígido? Veja como a cláusula FLEXIBLE resolve isso.
Evite lixo no banco validando dados com ASSERT
Descubra como impedir e-mails inválidos e notas fora da escala diretamente na camada de dados com o comando ASSERT.
DEFAULT versus VALUE na prática
Entenda de vez a diferença entre DEFAULT e VALUE configurando datas de criação e atualização automáticas.
Aplicando o CDC com permissões por campo
Veja como aplicar a regra de 7 dias de arrependimento do CDC direto na permissão do campo de reembolso.
Notas de aula e guia de estudo
Após definir as tabelas do CRM, é hora de blindar os dados aplicando regras e tipos específicos em cada campo. Nesta aula, você verá como o comando DEFINE FIELD permite estabelecer tipos primitivos, lidar com objetos e arrays aninhados, e garantir a consistência das informações com validações em tempo de gravação.
O que você vai aprender
- Como usar o comando DEFINE FIELD e a cláusula TYPE em tabelas com schema
- A diferença entre tipos simples (string, decimal) e tipos complexos (objetos, arrays e option)
- Como permitir estruturas flexíveis em tabelas rígidas usando a cláusula FLEXIBLE
- A criar restrições e regras de validação personalizadas usando ASSERT
- A diferença prática entre DEFAULT e VALUE para campos de data (created_at e updated_at)
- Como configurar permissões de acesso e edição direto na definição de cada campo
Pontos-chave
- O DEFINE FIELD opera de forma independente do DEFINE TABLE e sempre exige indicar a tabela com ON TABLE.
- Valores monetários devem usar o tipo decimal para evitar erros de arredondamento inerentes a números de ponto flutuante.
- A cláusula FLEXIBLE viabiliza armazenar objetos ou listas sem schema pré-definido dentro de tabelas schemafull.
- O ASSERT avalia expressões lógicas usando $value e recusa operações que não cumpram a condição estabelecida.
- DEFAULT roda apenas no momento da criação do registro, enquanto VALUE é recalculado a cada modificação.
- Permissões por campo garantem regras de negócio robustas, como limitar o pedido de reembolso ao prazo do CDC.
