-- 1. Tabela de alunos
CREATE TABLE alunos (
    aluno_id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    data_nascimento DATE,
    email VARCHAR(100),
    telefone VARCHAR(20)
);

-- 2. Tabela de planos
CREATE TABLE planos (
    plano_id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(60) NOT NULL,
    valor_mensal DECIMAL(10,2) NOT NULL,
    duracao_meses INT NOT NULL
);

-- 3. Tabela de matrículas
CREATE TABLE matriculas (
    matricula_id INT AUTO_INCREMENT PRIMARY KEY,
    aluno_id INT NOT NULL,
    plano_id INT NOT NULL,

    FOREIGN KEY (aluno_id) REFERENCES alunos(aluno_id),
    FOREIGN KEY (plano_id) REFERENCES planos(plano_id)
);

-- 4. Tabela de instrutores
CREATE TABLE instrutores (
    instrutor_id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    especialidade VARCHAR(100),
    email VARCHAR(100),
    telefone VARCHAR(20)
);

-- 5. Tabela de modalidades
CREATE TABLE modalidades (
    modalidade_id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(60) NOT NULL,
    descricao VARCHAR(200),
    duracao_minutos INT NOT NULL
);

-- 6. Tabela de turmas
CREATE TABLE turmas (
    turma_id INT AUTO_INCREMENT PRIMARY KEY,
    modalidade_id INT NOT NULL,
    instrutor_id INT NOT NULL,

    FOREIGN KEY (modalidade_id) REFERENCES modalidades(modalidade_id),
    FOREIGN KEY (instrutor_id) REFERENCES instrutores(instrutor_id)
);

-- 7. Tabela de inscrições em turmas
CREATE TABLE inscricoes_turmas (
    inscricao_id INT AUTO_INCREMENT PRIMARY KEY,
    aluno_id INT NOT NULL,
    turma_id INT NOT NULL,
    data_inscricao DATE NOT NULL,

    FOREIGN KEY (aluno_id) REFERENCES alunos(aluno_id),
    FOREIGN KEY (turma_id) REFERENCES turmas(turma_id)
);
CREATE VIEW vw_relatorio_final AS
SELECT a.nome AS 'Nome do Aluno', COUNT(m.modalidade_id) AS 'Quantidade de Modalidades'
FROM alunos a 
INNER JOIN inscricoes_turmas it
ON a.aluno_id = it.aluno_id
INNER JOIN turmas t
ON t.turma_id = it.turma_id
LEFT JOIN modalidades m 
ON t.modalidade_id = m.modalidade_id
GROUP BY a.nome
HAVING COUNT(m.modalidade_id) > 1;

SELECT *
FROM vw_relatorio_final;
-- ===================================================================

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: