Introdução ao Modelo Físico: SGBD Relacional
Aula 13 – Linguagem SQL - Fundamentos
Explore a implementação prática de bancos de dados relacionais e domine os fundamentos da linguagem SQL
Capítulo 1
O que é o Modelo Físico de Dados?
O modelo físico representa a concretização do planejamento lógico em estruturas reais dentro de um Sistema de Gerenciamento de Banco de Dados. É onde teoria encontra prática.
Modelo Físico: A Base da Implementação em SGBD
Tradução Estrutural
Converte o modelo lógico abstrato em estruturas físicas concretas no banco de dados
Definição Completa
Estabelece tabelas, colunas, tipos de dados precisos, chaves e relacionamentos funcionais
Adaptação ao SGBD
Varia conforme o sistema utilizado: MySQL, PostgreSQL, Oracle, SQL Server
Por que o Modelo Físico é Essencial?
01
Otimização Inteligente
Maximiza o desempenho do sistema e otimiza o uso do armazenamento disponível
02
Recursos Físicos
Considera características físicas do sistema como buffers de memória e estruturas de índices
03
Implementação Prática
Materializa todas as regras de negócio e validações definidas no modelo lógico
Do Conceito à Realidade
Modelo Lógico
Representação abstrata das entidades e relacionamentos
Modelo Físico
Estruturas concretas com tipos e restrições
SGBD Relacional
Implementação final no sistema de banco de dados
Componentes do Modelo Físico em um SGBD Relacional
Tabelas e Colunas
Estruturas fundamentais com tipos de dados precisamente definidos (INT, VARCHAR, DATE, etc.)
Chaves e Relacionamentos
Chaves primárias identificam registros únicos; chaves estrangeiras garantem integridade referencial entre tabelas
Restrições e Índices
Constraints asseguram qualidade dos dados; índices aceleram consultas e melhoram performance significativamente
Capítulo 2
SQL – A Linguagem do Modelo Físico
Structured Query Language: a ponte universal entre desenvolvedores e sistemas de gerenciamento de bancos de dados relacionais.
O que é SQL?
Linguagem Universal
Structured Query Language para manipulação completa de bancos de dados relacionais
Materialização Prática
Transforma o modelo lógico em comandos executáveis diretamente no SGBD
Operações Completas
Permite criar, alterar, excluir estruturas e consultar dados com facilidade e precisão
História e Importância do SQL
1
Anos 70
Criação baseada no modelo relacional de Edgar Codd na IBM
2
Padronização
Tornou-se padrão ANSI e ISO para bancos relacionais
3
Atualidade
Presente em todos os principais SGBDs do mercado
Adoção Universal
SQL é usado nos principais sistemas de gerenciamento de banco de dados:
  • Oracle Database
  • MySQL e MariaDB
  • PostgreSQL
  • Microsoft SQL Server
  • SQLite
Essa universalidade torna SQL uma habilidade essencial para qualquer profissional de dados.
Componentes do SQL
DDL
Data Definition Language: comandos para definição e modificação de estruturas (CREATE, ALTER, DROP)
DML
Data Manipulation Language: comandos para manipulação de dados nas tabelas (INSERT, UPDATE, DELETE, SELECT)
DCL
Data Control Language: comandos para controle de acesso e permissões de usuários (GRANT, REVOKE)
Capítulo 3
Comandos DDL – Definindo a Estrutura
Data Definition Language: os comandos fundamentais para criar, modificar e remover estruturas no banco de dados.
CREATE: Criando Objetos no Banco de Dados
Funcionalidades Principais
CREATE DATABASE
Cria um novo banco de dados vazio pronto para receber tabelas e dados
CREATE TABLE
Cria tabelas com colunas, tipos de dados e restrições específicas
Exemplo Prático
CREATE TABLE Clientes ( id_cliente INT PRIMARY KEY, nome VARCHAR(100) NOT NULL, cpf VARCHAR(11) UNIQUE, telefone VARCHAR(15), data_cadastro DATE );
Este comando cria uma tabela completa com chave primária e restrições de integridade.
ALTER: Modificando Estruturas Existentes
1
Adicionar Colunas
Insere novas colunas em tabelas existentes sem perda de dados
ALTER TABLE Clientes ADD email VARCHAR(100);
2
Modificar Tipos
Altera o tipo de dados de colunas quando necessário
ALTER TABLE Clientes MODIFY telefone VARCHAR(20);
3
Remover Elementos
Remove colunas ou restrições obsoletas
ALTER TABLE Clientes DROP COLUMN telefone;

O comando ALTER é fundamental para a evolução contínua do banco de dados sem comprometer os dados já armazenados.
DROP: Removendo Objetos do Banco
Comando de Exclusão Permanente
O comando DROP elimina completamente tabelas, bancos de dados ou outros objetos do sistema.
DROP TABLE Clientes;
Este comando remove permanentemente a tabela e todos os seus dados.

⚠️ Atenção Crítica
  • Operação irreversível sem backup
  • Remove dados permanentemente
  • Sempre confirme antes de executar
  • Considere backup preventivo
Ciclo de Vida das Estruturas DDL
CREATE
Criação inicial das estruturas: tabelas, índices, constraints e relacionamentos
ALTER
Evolução e manutenção: adicionar colunas, modificar tipos, ajustar restrições
DROP
Remoção definitiva quando estruturas tornam-se obsoletas ou desnecessárias
Capítulo 4
Comandos DML – Manipulando Dados
Data Manipulation Language: os comandos essenciais para inserir, atualizar e remover informações nas tabelas.
INSERT: Inserindo Registros
Sintaxe Fundamental
O comando INSERT adiciona novos registros às tabelas do banco de dados.
INSERT INTO Clientes (nome, cpf, telefone, email) VALUES ('Maria Silva', '12345678901', '11987654321', 'maria@email.com');
Variações Importantes
Inserção Simples
Adiciona um registro por vez com valores especificados
Inserção Múltipla
Adiciona vários registros em um único comando
Inserção com SELECT
Copia dados de outras tabelas automaticamente
UPDATE: Atualizando Registros Existentes
Modificação Controlada
O UPDATE modifica dados já armazenados nas tabelas, permitindo correções e atualizações.
UPDATE Clientes SET telefone = '11999887766' WHERE id_cliente = 15;
A Importância do WHERE
A cláusula WHERE é crucial para limitar quais registros serão alterados. Sem ela, todos os registros da tabela serão modificados!
-- Atualiza múltiplos campos UPDATE Clientes SET email = 'novo@email.com', telefone = '11988776655' WHERE cpf = '12345678901';
DELETE: Removendo Registros
Exclusão Seletiva de Dados
O comando DELETE remove registros específicos das tabelas.
DELETE FROM Clientes WHERE status = 'inativo' AND data_cadastro < '2020-01-01';

⚠️ Cuidado Essencial
Sempre use WHERE para evitar exclusão acidental de todos os registros. DELETE sem WHERE apaga toda a tabela!
Integridade Referencial e Restrições no DML
NOT NULL
Garante que campos obrigatórios sempre contenham valores, impedindo inserções ou atualizações com dados vazios.
UNIQUE
Assegura que valores em determinadas colunas não se repitam, como CPF ou email, mantendo a unicidade dos dados.
FOREIGN KEY
Mantém a consistência entre tabelas relacionadas, impedindo referências a registros inexistentes e garantindo integridade.
Exemplo prático: ao tentar inserir um cliente sem CPF válido em uma coluna com restrição NOT NULL e UNIQUE, o SGBD rejeitará automaticamente a operação.
Capítulo 5
Consultas Básicas com SELECT
O comando SELECT: a ferramenta mais poderosa e utilizada do SQL para recuperação e análise de dados.
SELECT: A Base das Consultas SQL
Estrutura Fundamental
O SELECT recupera dados de uma ou mais tabelas do banco de dados.
-- Selecionar todas as colunas SELECT * FROM Clientes; -- Selecionar colunas específicas SELECT nome, email, telefone FROM Clientes;
01
Especificar Colunas
Defina quais campos deseja visualizar
02
Indicar Tabela
Informe de qual tabela recuperar os dados
03
Analisar Resultados
Examine o conjunto de dados retornado
Filtros com WHERE
Seleção Condicional de Dados
A cláusula WHERE permite filtrar registros que atendem a condições específicas, tornando as consultas precisas e eficientes.
Operadores Básicos
  • = (igual)
  • > , < (maior, menor)
  • >= , <= (maior/igual, menor/igual)
  • != ou <> (diferente)
  • BETWEEN (entre valores)
  • LIKE (padrões de texto)
  • IN (lista de valores)
Exemplos Práticos
-- Clientes com idade acima de 30 SELECT nome, idade FROM Clientes WHERE idade > 30; -- Busca por padrão no nome SELECT * FROM Clientes WHERE nome LIKE 'Maria%'; -- Múltiplas condições SELECT nome, cidade FROM Clientes WHERE idade >= 25 AND cidade = 'São Paulo';
Ordenação e Limitação de Resultados
1
ORDER BY
Organiza os resultados em ordem crescente (ASC) ou decrescente (DESC)
SELECT nome, idade FROM Clientes ORDER BY idade DESC;
2
LIMIT
Restringe o número de registros retornados pela consulta
SELECT nome, email FROM Clientes ORDER BY data_cadastro DESC LIMIT 10;
Combinar ORDER BY com LIMIT é especialmente útil para obter os "Top N" registros, como os 10 clientes mais recentes ou os produtos mais vendidos.
Consultas com Múltiplas Colunas e Alias
Tornando Consultas Mais Claras e Legíveis
O uso de alias (apelidos) com a palavra-chave AS torna os resultados mais compreensíveis e profissionais.
SELECT nome AS Cliente, telefone AS Contato, email AS 'E-mail', cidade AS Localidade FROM Clientes WHERE status = 'ativo' ORDER BY nome;
Vantagens dos Alias
  • Nomes mais descritivos nos resultados
  • Facilita leitura de relatórios
  • Permite renomear cálculos e funções
  • Melhora documentação de consultas
Dominando os Fundamentos do SQL
3
Categorias de Comandos
DDL, DML e conceitos de DCL para gerenciamento completo
7
Comandos Essenciais
CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT
100%
Base Sólida
Fundamentos para implementação profissional de bancos de dados
Próximos Passos na Jornada SQL
Com estes fundamentos, você está preparado para explorar consultas avançadas, joins entre tabelas, funções agregadas, subconsultas e otimização de performance. A prática constante é a chave para o domínio completo!