0Pricing
JavaScript Academy · Aula

Transações e CRUD

Adicione, leia, atualize e exclua registros.

Transações e CRUD é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 4 aulas no total.

Tudo é uma transação

No IndexedDB, todas as leituras e gravações acontecem dentro de uma transação. Uma transação agrupa operações para que todas tenham sucesso ou todas sejam revertidas, mantendo os dados consistentes.

Iniciando uma transação

Crie uma com db.transaction(storeNames, mode). O modo é 'readonly' (padrão) ou 'readwrite' para modificações.

const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');

Obtendo o armazenamento de objetos

Na transação, obtenha o armazenamento de objetos com o qual deseja trabalhar usando tx.objectStore(name). Todos os métodos de CRUD estão nesse armazenamento.

const tx = db.transaction('notes', 'readwrite');
const store = tx.objectStore('notes');
// store.add / get / put / delete

Adicionando registros

store.add(value) insere um novo registro. A operação falha se já existir um registro com a mesma chave, o que protege contra substituições acidentais.

const store = tx.objectStore('notes');
const req = store.add({ id: 1, text: 'Buy milk' });
req.onsuccess = () => console.log('added with key', req.result);

Lendo um registro

store.get(key) recupera um registro pela chave. O resultado chega em onsuccess da solicitação como request.result (undefined se não for encontrado).

const req = store.get(1);
req.onsuccess = () => {
  console.log('record:', req.result);
};

Atualizando com put

store.put(value) insere ou substitui um registro. Diferentemente de add, ele substitui um registro existente com a mesma chave, sendo ideal para atualizações.

store.put({ id: 1, text: 'Buy milk and eggs' });
// Replaces the existing record with id 1.

Excluindo um registro

store.delete(key) remove o registro com a chave fornecida. A operação tem sucesso mesmo que não exista um registro com essa chave.

const req = store.delete(1);
req.onsuccess = () => console.log('deleted');

Limpando um armazenamento

store.clear() remove de uma só vez todos os registros do armazenamento de objetos. Use-o para redefinir os dados armazenados em cache.

store.clear();
// All records in 'notes' are removed.

Conclusão da transação

A própria transação dispara oncomplete quando todas as suas operações são confirmadas, e onerror ou onabort se algo falha. Use oncomplete para saber que as gravações são persistentes.

tx.oncomplete = () => console.log('all changes saved');
tx.onerror = () => console.log('transaction failed');

Comportamento de confirmação automática

As transações são confirmadas automaticamente quando o controle retorna ao ciclo de eventos sem solicitações pendentes. Você não pode manter uma transação aberta durante um await de uma operação assíncrona não relacionada; execute todas as operações do armazenamento em conjunto.

// Queue operations synchronously within the same tx:
store.add({ id: 2, text: 'A' });
store.add({ id: 3, text: 'B' });
// Both commit together when tx completes.

Resumo de CRUD

As quatro operações principais correspondem diretamente:

  • Criar: add
  • Ler: get
  • Atualizar: put
  • Excluir: delete

Tudo dentro de uma transaction que garante a consistência.

Verificação rápida

Teste sua compreensão sobre transactions e CRUD.

Recapitulação

Você aprendeu sobre transactions e CRUD:

  • Comece com db.transaction(store, mode).
  • Obtenha o store com tx.objectStore(name).
  • add insere, get lê, put insere ou atualiza, e delete remove.
  • Os resultados chegam em onsuccess de cada requisição.
  • tx.oncomplete confirma que as alterações foram salvas.

Em seguida, veremos índices e consultas.

Perguntas Frequentes

A aula “Transações e CRUD” é grátis?

Sim — o texto completo de “Transações e CRUD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 4 aulas no total.

O que vou aprender em “Transações e CRUD”?

Adicione, leia, atualize e exclua registros. Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Transações e CRUD”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Abrindo um banco de dados
  2. Transações e CRUD
  3. Índices e consultas
  4. Versionamento e atualizações
← Voltar para JavaScript Academy