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.
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
DEFAULTouNULL. Se a coluna omitida forNOT NULLsem 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á aindaINSERT INTO tabela DEFAULT VALUES. - A palavra-chave
DEFAULTpode ocupar a posição de um valor:VALUES ('Teclado', DEFAULT). INSERT … SELECTinsere 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.
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