CREATE TABLE concursos (
 id INT AUTO_INCREMENT PRIMARY KEY,
 titulo VARCHAR(180) NOT NULL,
 tipo VARCHAR(80) NOT NULL DEFAULT 'Concurso',
 descripcion TEXT NULL,
 estado ENUM('activo','pausado','finalizado') NOT NULL DEFAULT 'activo',
 creado_en DATETIME NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE opciones (
 id INT AUTO_INCREMENT PRIMARY KEY,
 concurso_id INT NOT NULL,
 numero INT NOT NULL,
 nombre VARCHAR(180) NOT NULL,
 activa TINYINT(1) NOT NULL DEFAULT 1,
 FOREIGN KEY (concurso_id) REFERENCES concursos(id) ON DELETE CASCADE,
 UNIQUE KEY uq_concurso_numero (concurso_id,numero)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE votos (
 id BIGINT AUTO_INCREMENT PRIMARY KEY,
 concurso_id INT NOT NULL,
 opcion_id INT NOT NULL,
 fecha DATETIME NOT NULL,
 FOREIGN KEY (concurso_id) REFERENCES concursos(id) ON DELETE CASCADE,
 FOREIGN KEY (opcion_id) REFERENCES opciones(id) ON DELETE CASCADE,
 INDEX idx_resultados (concurso_id,opcion_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
