Pular para o conteudo

Resumo TI Banco de Dados: Estrutura Básica da Linguagem SQL

A teoria de projeto de esquemas está completa: da identificação de anomalias até o framework de decisão entre normalização e desempenho. Chegou a hora de sair do papel. A SQL (Structured Query Language) é a linguagem usada para implementar, no SGBD, o esquema que a teoria de normalização ajudou a projetar — e é sobre ela que a trilha se debruça a partir de agora.

Neste resumo, você vai conhecer a origem da SQL, entender por que ela é uma linguagem declarativa (não procedural), e aprender a classificar qualquer comando SQL numa das cinco subcategorias que organizam a linguagem: DDL, DML, DQL, DCL e TCL.

📲 Canal Oficial do Dicionário do Concurseiro no WhatsApp

Receba resumos, questões comentadas e novidades diretamente no seu celular!

👉 Acessar Canal no WhatsApp

💡 Conteúdo exclusivo para concurseiros. Totalmente gratuito!

📜 Origem e padronização

A SQL nasceu na IBM nos anos 1970, dentro do projeto System R, como linguagem de acesso ao modelo relacional proposto por Edgar Codd. Tornou-se padrão ANSI em 1986 e ISO em 1987, com revisões periódicas desde então (SQL-92, SQL:1999, SQL:2003, entre outras). Existe, porém, uma distância entre o padrão e a implementação: cada SGBD (PostgreSQL, MySQL, Oracle, SQL Server) adota o núcleo padronizado e acrescenta extensões próprias — os chamados dialetos de SQL.

🗣️ Declarativa, não procedural

Numa linguagem procedural, quem programa descreve o passo a passo de como obter o resultado. Na SQL, quem escreve o comando descreve o que quer obter — o “COMO” (qual algoritmo de busca usar, em que ordem varrer as tabelas) fica a cargo do otimizador de consultas do SGBD, tema já visto em resumos anteriores da trilha. Escrever SELECT nome FROM Cliente WHERE cidade = 'Curitiba' não diz ao banco como buscar essas linhas — só o que deve ser retornado.

🗂️ DDL — Data Definition Language

Comandos que definem ou alteram a estrutura do banco (tabelas, esquemas, índices, restrições) — não os dados armazenados nas tabelas. Principais comandos: CREATE, ALTER, DROP e TRUNCATE.

✏️ DML — Data Manipulation Language

Comandos que manipulam os dados já armazenados nas tabelas, sem alterar a estrutura. Principais comandos: INSERT, UPDATE e DELETE.

🔍 DQL — Data Query Language

Categoria dedicada exclusivamente à consulta de dados, cujo único comando é o SELECT. Muitas bancas tratam DQL como categoria própria, separada de DML; outras — seguindo uma tradição mais antiga — classificam SELECT como parte de DML. As duas classificações aparecem em prova; o importante é saber justificar a resposta pela definição usada no enunciado.

🔐 DCL — Data Control Language

Comandos que controlam permissões de acesso aos objetos do banco. Principais comandos: GRANT (concede permissão) e REVOKE (revoga permissão).

🔄 TCL — Transaction Control Language

Comandos que controlam os limites de uma transação — o conjunto de operações que deve ser executado de forma atômica. Principais comandos: COMMIT (confirma a transação), ROLLBACK (desfaz a transação) e SAVEPOINT (marca um ponto intermediário para desfazer parcialmente). Transações e suas propriedades (ACID) são aprofundadas mais adiante na trilha.

⚠️ Pegadinhas comuns

  • TRUNCATE é DDL, não DML — mesmo “parecendo” um DELETE de todas as linhas, ele é tratado como definição de estrutura porque, na maioria dos SGBDs, não gera log linha a linha e não dispara triggers de linha (só de nível de instrução, quando suportado). Em muitos SGBDs, o TRUNCATE também reinicia contadores de auto-incremento — mas isso não é universal: no PostgreSQL, por exemplo, o padrão é não reiniciar a sequência, a menos que o comando use explicitamente RESTART IDENTITY;
  • SQL não diferencia maiúsculas de minúsculas em palavras-chave (SELECT = select), mas o tratamento de maiúsculas/minúsculas em dados e nomes de identificadores depende do SGBD e da configuração de collation — não generalizar um comportamento como universal;
  • SQL padrão (ANSI/ISO) e “SQL de um produto específico” não são sinônimos: um comando que funciona no MySQL pode não existir no PostgreSQL, e vice-versa — a banca costuma explorar exatamente essa diferença de dialeto;
  • Classificação de DQL varia por banca: não existe consenso universal sobre SELECT ser DML ou uma categoria à parte — ambas as respostas têm lastro na literatura, dependendo do autor de referência adotado pelo edital.

🎯 Dica Final para a Prova

Para classificar qualquer comando SQL, pergunte: ele define/altera estrutura (DDL), manipula dados (DML), só consulta dados (DQL), controla acesso (DCL) ou controla transação (TCL)? A única pegadinha estrutural a decorar de cor é o TRUNCATE — todo o resto segue a lógica da própria definição da categoria.

✓ Com a classificação dos comandos SQL estabelecida, o próximo resumo entra no primeiro passo prático de qualquer banco: os tipos de dados disponíveis para definir uma coluna — a base de que os comandos DDL desta seção vão precisar.


📍Gostou do conteúdo? Deixe um comentário, compartilhe e continue acompanhando o Dicionário do Concurseiro para mais Resumos de TI – Banco de Dados. Aqui você encontra explicações claras, atualizadas e com foco total no que cai em prova!

👉 Leia também no Dicionário do Concurseiro: Resumo TI Banco de Dados: Tipos de Dados SQL Mais Comuns


📘 SQL diz o que você quer, não como o banco deve buscar — e todo comando cabe numa das cinco categorias: DDL, DML, DQL, DCL ou TCL. Continue estudando!

Gostou deste conteúdo?

Favoritar

Comentários

Seja o primeiro a comentar.