Criar conta grátis

Modelagem de Dados e SQL

11. SQL: DML e transações (TCL)

11º capítulo da apostila Modelagem de Dados e SQL: explicação contínua e em linguagem simples sobre SQL: DML e transações (TCL), com exemplos, conexões e mapa mental.

11 min de leitura60 questões para praticarRevisado em 14/09/2026

Depois de definir e consultar a estrutura, chega o momento de alterar seu estado. Inserções, atualizações e exclusões precisam formar unidades de trabalho que possam ser confirmadas ou desfeitas por inteiro.

O percurso começa pela representação do mundo real. Primeiro entendemos a arquitetura e os níveis de modelagem; depois construímos o modelo relacional, protegemos sua integridade e aprendemos SQL. Ao final, levamos essa base para o ambiente analítico dimensional. Este é o capítulo 11 de 12 da disciplina Modelagem de Dados e SQL. A leitura retoma SQL: consultas (SELECT) e usa essa base para avançar. Depois, seguiremos para Modelagem dimensional e multidimensional.

O fio condutor

Banco de dados deve ser estudado como um sistema de decisões conectadas. O significado atribuído ao dado orienta o modelo; o modelo condiciona consultas e atualizações; o SGBD executa essas operações sob regras de segurança, concorrência, desempenho e recuperação. Quando uma dessas camadas muda, as demais podem ser afetadas.

Ao longo da leitura, acompanhe sempre quatro perguntas: qual problema está sendo resolvido, qual estrutura representa o problema, que garantia precisa ser preservada e qual custo acompanha a escolha. Esse roteiro ajuda a compreender os conceitos em vez de apenas memorizar nomes.

INSERT

Começamos por INSERT, pois essa base permite compreender as decisões apresentadas nas seções seguintes.

  • Com lista de colunas explícita, a ordem pode diferir da definição da tabela, e as colunas omitidas recebem o DEFAULT ou NULL. Se a coluna omitida for NOT NULL sem DEFAULT, o comando falha.
  • Sem lista de colunas, é preciso fornecer um valor para cada coluna, na ordem da definição: INSERT INTO funcionario VALUES (10, 'Ana') numa tabela de três colunas dá erro.
  • O padrão aceita vários construtores de linha num só comando: VALUES (1,'x'), (2,'y'). Há ainda INSERT INTO tabela DEFAULT VALUES.
  • A palavra-chave DEFAULT pode ocupar a posição de um valor: VALUES ('Teclado', DEFAULT).
  • INSERT … SELECT insere o resultado inteiro da consulta; se a consulta não retorna linha alguma, zero linhas são inseridas e não há erro. A compatibilidade exigida é de grau e de tipos.

E ordenar a carga não ordena a tabela: INSERT … SELECT … ORDER BY não cria garantia alguma sobre a ordem de armazenamento ou de retorno futuro. A única ordenação confiável é o ORDER BY da consulta que lê os dados.

Repare como Lista de colunas, VALUES múltiplo, INSERT…SELECT participam da mesma decisão. Ao relacionar esses elementos, fica mais fácil prever o comportamento do banco e reconhecer os efeitos de cada escolha.

UPDATE e DELETE

A seção anterior apresentou INSERT. Agora chegamos a UPDATE e DELETE, que acrescenta a próxima peça do mesmo raciocínio.

No UPDATE, a cláusula WHERE é opcional — sem ela, a alteração atinge todas as linhas, um dos erros mais caros da operação diária. A expressão do SET pode referenciar a própria coluna, avaliada com o valor anterior: SET saldo = saldo * 1.05 é a forma usual de reajuste.

Continue lendo de graça

O capítulo inteiro está liberado no plano gratuito

Criar conta leva menos de um minuto e não pede cartão. Você destrava o texto completo, o mapa mental, o PDF para estudar off-line e ainda resolve questões inéditas todo dia.

Leu o resumo? Agora pratique.

São 60 questões inéditas de SQL: DML e transações (TCL), todas comentadas alternativa por alternativa.

Criar conta grátis e praticar

Você volta para este capítulo depois de criar a conta.

Fontes consultadas

  • ISO/IEC 9075 (padrão SQL, incluindo SQL:2003 para MERGE)
  • Elmasri & Navathe, Sistemas de Banco de Dados — caps. 6, 7 e 20
  • Silberschatz, Korth & Sudarshan, Sistema de Banco de Dados
  • C. J. Date, Introdução a Sistemas de Bancos de Dados
  • Documentação oficial do PostgreSQL, Oracle, MySQL e SQL Server (INSERT, UPDATE, MERGE, SAVEPOINT, commit implícito)
  • Acervo comentado de Banco de Dados — SQL: DML e transações (TCL) (60 questões publicadas), conferido em 14/09/2026