Unidade 5 - Introdução ao Modelo Físico: SGBD Relacional
Aula 14 – SQL Avançado e Operações CRUD
Capítulo 1
Fundamentos do SQL Avançado e CRUD
Neste capítulo, vamos explorar os conceitos fundamentais das operações CRUD e compreender como elas formam a base de toda interação com bancos de dados relacionais. Dominar estas operações é essencial para qualquer desenvolvedor que trabalha com sistemas de informação.
O que é CRUD?
Definição e Importância
CRUD é o acrônimo para Create, Read, Update e Delete - as quatro operações fundamentais para manipulação de dados em bancos relacionais.
Estas operações são essenciais para qualquer sistema que interaja com banco de dados, desde aplicações web simples até sistemas empresariais complexos.
Todo desenvolvedor precisa dominar CRUD para construir aplicações funcionais e eficientes.
CRUD em Detalhes
Create
Inserção de novos registros
Comando: INSERT
Adiciona novas informações ao banco de dados, criando registros que antes não existiam.
Read
Consulta e leitura de dados
Comando: SELECT
Recupera e visualiza informações armazenadas, permitindo análises e apresentação de dados.
Update
Atualização de registros
Comando: UPDATE
Modifica dados existentes, mantendo as informações sempre atualizadas e precisas.
Delete
Remoção de dados
Comando: DELETE
Remove registros do banco quando não são mais necessários ou estão obsoletos.
Ciclo de Vida das Operações CRUD
As operações CRUD formam um ciclo contínuo de gerenciamento de dados. Cada operação tem seu papel específico no fluxo de informações: desde a criação inicial dos dados, passando pela consulta constante, atualização quando necessário, até a eventual remoção quando os dados se tornam obsoletos.
Compreender este ciclo é fundamental para projetar sistemas robustos e eficientes que mantêm a integridade e a qualidade dos dados ao longo do tempo.
Linguagens SQL e Seus Comandos
A linguagem SQL é organizada em diferentes categorias de comandos, cada uma com propósitos específicos na gestão de bancos de dados relacionais.
DDL - Data Definition Language
CREATE, ALTER, DROP
Comandos para definição e estruturação de objetos do banco: tabelas, índices, views e constraints.
DML - Data Manipulation Language
INSERT, UPDATE, DELETE
Manipulação direta dos dados armazenados, permitindo inserção, modificação e remoção de registros.
DQL - Data Query Language
SELECT
Consulta e recuperação de dados, a operação mais utilizada em sistemas de banco de dados.
DCL - Data Control Language
GRANT, REVOKE
Controle de permissões e acesso, gerenciando quem pode executar quais operações no banco.
DTL - Data Transaction Language
BEGIN, COMMIT, ROLLBACK
Gerenciamento de transações, garantindo consistência e integridade nas operações do banco.
Capítulo 2
Consultas Complexas e JOINs
Avançando além das consultas simples, os JOINs permitem combinar informações de múltiplas tabelas, criando consultas poderosas que revelam insights valiosos através do relacionamento entre dados.
Este capítulo explora como construir consultas sofisticadas que aproveitam a natureza relacional dos bancos de dados.
JOINs: Unindo Tabelas para Consultas Poderosas
INNER JOIN
Retorna apenas os registros que possuem correspondência em ambas as tabelas relacionadas. É o tipo mais comum e útil para dados que devem existir em ambos os lados.
LEFT JOIN
Retorna todos os registros da tabela da esquerda e os correspondentes da direita. Registros sem correspondência retornam NULL nos campos da tabela direita.
RIGHT JOIN e FULL JOIN
RIGHT JOIN retorna todos da direita; FULL JOIN retorna todos de ambas as tabelas. Variações para diferentes necessidades de análise e recuperação completa de dados.
Exemplo Prático de INNER JOIN
Vamos visualizar como um INNER JOIN funciona na prática, combinando informações de clientes e pedidos:
SELECT clientes.nome, clientes.email, pedidos.numero_pedido, pedidos.data_pedido, pedidos.valor_total FROM clientes INNER JOIN pedidos ON clientes.id = pedidos.cliente_id WHERE pedidos.data_pedido >= '2024-01-01' ORDER BY pedidos.data_pedido DESC;
Este exemplo mostra como recuperar dados de clientes junto com seus pedidos, filtrando apenas pedidos de 2024. O INNER JOIN garante que apenas clientes que fizeram pedidos apareçam no resultado.

Dica Prática: Use aliases de tabela (ex: c para clientes) para tornar consultas complexas mais legíveis e fáceis de manter.