CREATE TABLE IF NOT EXISTS student_ranking_profile_tb (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    class_id INT UNSIGNED NOT NULL,
    student_id INT UNSIGNED NOT NULL,
    evolution_system TINYINT UNSIGNED NOT NULL,
    status TINYINT NOT NULL DEFAULT 1,
    date_created DATETIME NOT NULL,
    date_updated DATETIME NULL,
    user_created VARCHAR(255) NULL,
    user_updated VARCHAR(255) NULL,
    PRIMARY KEY (id),
    UNIQUE KEY uq_student_ranking_profile (class_id, student_id),
    KEY idx_student_ranking_profile_student (student_id, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS student_reward_point_tb (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    class_id INT UNSIGNED NOT NULL,
    student_id INT UNSIGNED NOT NULL,
    points SMALLINT NOT NULL,
    reason VARCHAR(255) NOT NULL,
    status TINYINT NOT NULL DEFAULT 1,
    date_created DATETIME NOT NULL,
    user_created VARCHAR(255) NULL,
    PRIMARY KEY (id),
    KEY idx_student_reward_point_class (class_id, student_id, status),
    KEY idx_student_reward_point_created (date_created)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
