Structured Query Language — linguagem padrão para interagir com bancos de dados relacionais. Criada nos anos 70 na IBM, padronizada pela ANSI/ISO.
Data Definition Language
CREATE, ALTER, DROP
Data Manipulation Language
INSERT, UPDATE, DELETE
Data Query Language
SELECT
Data Control Language
GRANT, REVOKE
Ferramenta: DB Fiddle (db-fiddle.com) — selecione PostgreSQL
INTEGER — inteiro (4 bytes)
SERIAL — inteiro auto-incremento
NUMERIC(p,s) — decimal exato
REAL / FLOAT — ponto flutuante
VARCHAR(n) — texto com limite
CHAR(n) — texto fixo
TEXT — texto sem limite
DATE — data (YYYY-MM-DD)
TIMESTAMP — data + hora
TIME — apenas hora
BOOLEAN — TRUE / FALSE
UUID — identificador único
JSON / JSONB — dados JSON
CREATE TABLE aluno ( matricula SERIAL PRIMARY KEY, nome VARCHAR(100) NOT NULL, email VARCHAR(150) UNIQUE, dt_nasc DATE, ativo BOOLEAN DEFAULT TRUE );
Identifica unicamente cada linha. Pode ser simples ou composta.
PRIMARY KEY (aluno_id, disc_id)
Referencia a PK de outra tabela. Garante integridade referencial.
cod_depto INTEGER REFERENCES departamento(codigo)
NOT NULL — campo obrigatório
UNIQUE — valores não se repetem
Validação customizada no valor da coluna.
nota NUMERIC(4,2) CHECK (nota >= 0 AND nota <= 10)
ON DELETE CASCADE — ao deletar a linha referenciada, deleta as dependentes também.
ON DELETE SET NULL — seta a FK para NULL.
CREATE TABLE cliente ( cpf CHAR(11) PRIMARY KEY, nome VARCHAR(100) NOT NULL, email VARCHAR(150) UNIQUE NOT NULL ); CREATE TABLE pedido ( id SERIAL PRIMARY KEY, data DATE NOT NULL DEFAULT CURRENT_DATE, cli_cpf CHAR(11) NOT NULL REFERENCES cliente(cpf) ); CREATE TABLE produto ( codigo SERIAL PRIMARY KEY, descricao VARCHAR(200) NOT NULL, preco NUMERIC(10,2) NOT NULL CHECK (preco > 0) );
Uma universidade tem departamentos (código, nome), professores (SIAPE, nome, departamento) e disciplinas (código, nome, créditos, professor responsável). Um professor pertence a um departamento e pode lecionar várias disciplinas.
Defina PKs, FKs, NOT NULL e CHECK onde apropriado. Crie as tabelas na ordem correta (dependências).
Execute no db-fiddle.com (PostgreSQL). Se der erro, leia a mensagem e corrija.