








-- =========================
-- Tabela: ALUNO
-- =========================
CREATE TABLE aluno (
matricula INT NOT NULL,
nome VARCHAR(100) NOT NULL,
CONSTRAINT pk_aluno
PRIMARY KEY (matricula)
);
-- =========================
-- Tabela: TURMA
-- =========================
CREATE TABLE turma (
codigo INT NOT NULL,
semestre VARCHAR(10) NOT NULL,
CONSTRAINT pk_turma
PRIMARY KEY (codigo)
);
-- =========================
-- Tabela: MATRICULA
-- (tabela associativa N:N)
-- =========================
CREATE TABLE matricula (
aluno_matricula INT NOT NULL,
turma_codigo INT NOT NULL,
data DATE NOT NULL,
situacao VARCHAR(20) NOT NULL,
CONSTRAINT pk_matricula
PRIMARY KEY (aluno_matricula, turma_codigo),
CONSTRAINT fk_matricula_aluno
FOREIGN KEY (aluno_matricula)
REFERENCES aluno (matricula)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_matricula_turma
FOREIGN KEY (turma_codigo)
REFERENCES turma (codigo)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
aluno_matricula, turma_codigo);data, situacao).

SELECT nome, email
FROM clientes
WHERE cidade = 'São Paulo';CREATE TABLE alunos (
matricula INT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
data_nascimento DATE,
curso VARCHAR(50)
);
INSERT INTO alunos (matricula, nome, email, data_nascimento, curso)
VALUES
(1001, 'Maria Silva', 'maria@email.com', '2000-05-15', 'Sistemas de Informação'),
(1002, 'João Santos', 'joao@email.com', '1999-08-22', 'Ciência da Computação'),
(1003, 'Ana Costa', 'ana@email.com', '2001-03-10', 'Engenharia de Software');