-- Database schema for Absensi Sekolah System

CREATE DATABASE IF NOT EXISTS sekolah_absensi;
USE sekolah_absensi;

-- Tabel siswa
CREATE TABLE IF NOT EXISTS siswa (
  id INT PRIMARY KEY AUTO_INCREMENT,
  nis VARCHAR(50) UNIQUE NOT NULL,
  nama VARCHAR(255) NOT NULL,
  kelas VARCHAR(50) NOT NULL,
  no_wa_siswa VARCHAR(20),
  no_wa_ortu VARCHAR(20),
  foto_url TEXT,
  qr_code VARCHAR(100) UNIQUE,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel absensi
CREATE TABLE IF NOT EXISTS absensi (
  id INT PRIMARY KEY AUTO_INCREMENT,
  siswa_id INT,
  tanggal DATE NOT NULL,
  jam_datang TIME,
  jam_pulang TIME,
  status ENUM('hadir', 'terlambat', 'izin', 'sakit', 'alpha', 'belum') DEFAULT 'belum',
  keterangan TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (siswa_id) REFERENCES siswa(id) ON DELETE CASCADE,
  INDEX idx_tanggal (tanggal),
  INDEX idx_siswa_tanggal (siswa_id, tanggal)
);