student_attendance_log check_type: 1 = ingreso 2 = salida student_attendance_notification_log status: 1 = enviado 2 = error notification_channel: 1 = Telegram 2 = WhatsApp 3 = Email ========================================================================================== Digramas: https://dbdiagram.io/d Table students { student_id varchar(17) [pk] first_name varchar last_name_paternal varchar last_name_maternal varchar } Table parents { parent_id varchar(17) [pk] first_name varchar last_name_paternal varchar last_name_maternal varchar telegram_chat_id bigint } Table student_attendance_log { id int [pk] fk_student_id varchar check_type tinyint created_at datetime } Table student_attendance_notification_log { id int [pk] fk_student_attendance_log_id int notification_channel tinyint api_response_code varchar api_response_message text created_at datetime notification_status tinyint } Table student_parent { student_id varchar parent_id varchar relationship_type varchar } Ref: student_attendance_log.fk_student_id > students.student_id Ref: student_attendance_notification_log.fk_student_attendance_log_id > student_attendance_log.id Ref: student_parent.student_id > students.student_id Ref: student_parent.parent_id > parents.parent_id ========================================================================================== En un futuro: Matricula UNIQUE (fk_student_id, fk_academic_period_id) student_enrollment - id - FK_student_id - FK_academic_period_ID - academic_level - academic_grade - academic_section Periodo academico academic_period - id INT AUTO_INCREMENT PRIMARY KEY - name VARCHAR(20) NOT NULL -- "2026" - start_date DATE NOT NULL - end_date DATE NOT NULL