-- ============================================
-- Base de Dados: bd_2403882_mitigacao
-- E-folio B - Mitigacao de Ataques Ciberneticos
-- ============================================

DROP DATABASE IF EXISTS bd_2403882_mitigacao;
CREATE DATABASE bd_2403882_mitigacao
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;

-- ============================================
-- Utilizador: lei (conforme enunciado)
-- ============================================
CREATE USER IF NOT EXISTS 'lei'@'localhost' IDENTIFIED BY 'lssweb#26';
GRANT ALL PRIVILEGES ON bd_2403882_mitigacao.* TO 'lei'@'localhost';
FLUSH PRIVILEGES;

USE bd_2403882_mitigacao;

-- ============================================
-- Tabela: incidentes
-- Armazena os registos de incidentes de seguranca
-- ============================================

CREATE TABLE incidentes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tipo ENUM('Phishing', 'Ransomware', 'DDoS') NOT NULL,
    descricao TEXT NOT NULL,
    data_ocorrencia DATE NOT NULL,
    severidade ENUM('Baixa', 'Moderada', 'Alta', 'Critica') NOT NULL,
    origem VARCHAR(255) NOT NULL,
    data_registo TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- Dados de exemplo para teste
-- ============================================

INSERT INTO incidentes (tipo, descricao, data_ocorrencia, severidade, origem) VALUES
('Phishing', 'Campanha de emails fraudulentos a imitar servico bancario. Mais de 500 utilizadores afetados.', '2025-01-15', 'Alta', 'Email'),
('Ransomware', 'Ataque ao servidor de ficheiros da empresa. Dados encriptados, backup recuperado em 48h.', '2025-02-20', 'Critica', 'Internet'),
('DDoS', 'Ataque de negacao de servico distribuido ao website principal. Pico de 50 Gbps.', '2025-03-10', 'Moderada', 'Rede'),
('Phishing', 'Tentativa de spear-phishing dirigida ao departamento de RH.', '2025-04-05', 'Baixa', 'Email'),
('Ransomware', 'Infeccao por ransomware LockBit em estacao de trabalho isolada.', '2025-05-12', 'Alta', 'USB');