-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Waktu pembuatan: 14 Okt 2026 pada 19.43
-- Versi server: 10.4.32-MariaDB
-- Versi PHP: 8.2.12

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `porseni_26`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `anggota_tim`
--

CREATE TABLE `anggota_tim` (
  `id_anggota` bigint(20) UNSIGNED NOT NULL,
  `id_tim` bigint(20) UNSIGNED NOT NULL,
  `id_peserta` bigint(20) UNSIGNED NOT NULL,
  `peran_anggota` varchar(80) DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `anggota_tim`
--

INSERT INTO `anggota_tim` (`id_anggota`, `id_tim`, `id_peserta`, `peran_anggota`, `dibuat_pada`) VALUES
(13, 6, 13, NULL, '2026-10-14 08:58:00'),
(14, 6, 3, NULL, '2026-10-14 08:58:00'),
(15, 6, 19, NULL, '2026-10-14 08:58:00'),
(16, 6, 15, NULL, '2026-10-14 08:58:00'),
(17, 6, 7, NULL, '2026-10-14 08:58:00'),
(18, 6, 23, NULL, '2026-10-14 08:58:00'),
(19, 7, 6, NULL, '2026-10-14 09:04:13'),
(20, 7, 14, NULL, '2026-10-14 09:04:13'),
(21, 7, 16, NULL, '2026-10-14 09:04:13'),
(22, 7, 18, NULL, '2026-10-14 09:04:13'),
(23, 7, 20, NULL, '2026-10-14 09:04:13'),
(24, 7, 22, NULL, '2026-10-14 09:04:13');

-- --------------------------------------------------------

--
-- Struktur dari tabel `cabang_lomba`
--

CREATE TABLE `cabang_lomba` (
  `id_cabang` bigint(20) UNSIGNED NOT NULL,
  `kode_cabang` varchar(30) NOT NULL,
  `nama_cabang` varchar(150) NOT NULL,
  `deskripsi` text DEFAULT NULL,
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `cabang_lomba`
--

INSERT INTO `cabang_lomba` (`id_cabang`, `kode_cabang`, `nama_cabang`, `deskripsi`, `status`, `dibuat_pada`) VALUES
(1, 'OL_LT', 'Lompat Tinggi putra', 'Lompat tinggi', 'aktif', '2026-10-14 06:07:18'),
(2, 'OL_LT2', 'Lompat tinggi Putri', '', 'aktif', '2026-10-14 06:19:30'),
(3, 'OL_VA', 'Volly Putra', '', 'aktif', '2026-10-14 06:24:19'),
(4, 'OL_VI', 'Volly Putri', '', 'aktif', '2026-10-14 08:05:33');

-- --------------------------------------------------------

--
-- Struktur dari tabel `dokumen_peserta`
--

CREATE TABLE `dokumen_peserta` (
  `id_dokumen` bigint(20) UNSIGNED NOT NULL,
  `id_pendaftaran` bigint(20) UNSIGNED NOT NULL,
  `jenis_dokumen` varchar(100) NOT NULL,
  `nama_file_asli` varchar(255) NOT NULL,
  `nama_file_simpan` varchar(255) NOT NULL,
  `lokasi_file` varchar(500) NOT NULL,
  `tipe_mime` varchar(120) DEFAULT NULL,
  `ukuran_byte` bigint(20) UNSIGNED DEFAULT NULL,
  `status_verifikasi` enum('menunggu','valid','tidak_valid','diterima','diperbaiki','ditolak') NOT NULL DEFAULT 'menunggu',
  `catatan` text DEFAULT NULL,
  `diunggah_oleh` bigint(20) UNSIGNED DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `dokumen_peserta`
--

INSERT INTO `dokumen_peserta` (`id_dokumen`, `id_pendaftaran`, `jenis_dokumen`, `nama_file_asli`, `nama_file_simpan`, `lokasi_file`, `tipe_mime`, `ukuran_byte`, `status_verifikasi`, `catatan`, `diunggah_oleh`, `dibuat_pada`) VALUES
(1, 2, 'Foto', 'Screenshot 2026-07-15 000656.png', '1791969881_43bdf9994bd16678fc8e.png', 'uploads/dokumen/1791969881_43bdf9994bd16678fc8e.png', 'image/png', 140119, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(2, 2, 'Akte', 'Gemini_Generated_Image_uce6louce6louce6.jpg', '1791969881_2eb774d3746b66d95452.jpg', 'uploads/dokumen/1791969881_2eb774d3746b66d95452.jpg', 'image/jpeg', 368120, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(3, 2, 'Surat Keterangan', 'WhatsApp Image 2026-10-12 at 15.14.01.jpeg', '1791969881_5a51ceaa8745a29c710b.jpeg', 'uploads/dokumen/1791969881_5a51ceaa8745a29c710b.jpeg', 'image/jpeg', 691834, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(4, 2, 'Raport', 'Dasbor Admin PORSENI Atlantis 2026.png', '1791969881_e56152880d5fffb75c90.png', 'uploads/dokumen/1791969881_e56152880d5fffb75c90.png', 'image/png', 1325135, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(5, 2, 'Kartu Keluarga', 'Poster Turnamen Mini Tenis Meja 2026 (1).png', '1791969881_1efc0e41af653de2eeb3.png', 'uploads/dokumen/1791969881_1efc0e41af653de2eeb3.png', 'image/png', 2510174, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(6, 2, 'Lainnya', 'Poster Turnamen Mini Tenis Meja 2026 (1).png', '1791969881_832aaf41704914123a18.png', 'uploads/dokumen/1791969881_832aaf41704914123a18.png', 'image/png', 2510174, 'diterima', NULL, 3, '2026-10-14 09:24:41'),
(7, 1, 'Foto', 'foto_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_ae726b.png', 'foto_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_ae726b.png', 'uploads/dokumen/foto_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_ae726b.png', 'image/png', 39844, 'diterima', NULL, 3, '2026-10-14 09:37:00'),
(8, 1, 'Akte', 'akte_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093835_f18925.pdf', 'akte_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093835_f18925.pdf', 'uploads/dokumen/akte_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093835_f18925.pdf', 'application/pdf', 197492, 'diterima', NULL, 3, '2026-10-14 09:37:00'),
(9, 1, 'Surat Keterangan', 'surat_keterangan_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_da324b.pdf', 'surat_keterangan_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_da324b.pdf', 'uploads/dokumen/surat_keterangan_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_da324b.pdf', 'application/pdf', 202432, 'diterima', NULL, 3, '2026-10-14 09:37:00'),
(10, 1, 'Raport', 'raport_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_1a7c3b.pdf', 'raport_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_1a7c3b.pdf', 'uploads/dokumen/raport_anisa_rahma_mi_ya_bakii_kesugihan_01_lompat_tinggi_putri_20261014093700_1a7c3b.pdf', 'application/pdf', 201028, 'diterima', NULL, 3, '2026-10-14 09:37:00');

-- --------------------------------------------------------

--
-- Struktur dari tabel `hasil_lomba`
--

CREATE TABLE `hasil_lomba` (
  `id_hasil` bigint(20) UNSIGNED NOT NULL,
  `id_pendaftaran` bigint(20) UNSIGNED NOT NULL,
  `peringkat` smallint(5) UNSIGNED DEFAULT NULL,
  `nilai` decimal(10,2) DEFAULT NULL,
  `medali` enum('emas','perak','perunggu','tidak_ada') NOT NULL DEFAULT 'tidak_ada',
  `catatan` text DEFAULT NULL,
  `status_pengesahan` enum('draf','disahkan','dibatalkan') NOT NULL DEFAULT 'draf',
  `disahkan_oleh` bigint(20) UNSIGNED DEFAULT NULL,
  `disahkan_pada` datetime DEFAULT NULL,
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `hasil_lomba`
--

INSERT INTO `hasil_lomba` (`id_hasil`, `id_pendaftaran`, `peringkat`, `nilai`, `medali`, `catatan`, `status_pengesahan`, `disahkan_oleh`, `disahkan_pada`, `diperbarui_pada`) VALUES
(1, 6, 1, 0.00, 'emas', 'poin vinal 25-11', 'disahkan', 1, NULL, '2026-10-14 16:50:56'),
(2, 2, 2, 105.00, 'perak', '105 cm', 'disahkan', 1, NULL, '2026-10-14 16:56:32'),
(3, 5, 1, 0.00, 'emas', '2-1', 'disahkan', 1, NULL, '2026-10-14 17:05:17');

-- --------------------------------------------------------

--
-- Struktur dari tabel `jadwal_lomba`
--

CREATE TABLE `jadwal_lomba` (
  `id_jadwal` bigint(20) UNSIGNED NOT NULL,
  `id_pendaftaran` bigint(20) UNSIGNED DEFAULT NULL,
  `id_kategori` bigint(20) UNSIGNED NOT NULL,
  `id_venue` bigint(20) UNSIGNED DEFAULT NULL,
  `nomor_pertandingan` varchar(50) DEFAULT NULL,
  `babak` varchar(80) DEFAULT NULL,
  `tanggal_lomba` date NOT NULL,
  `waktu_mulai` time NOT NULL,
  `waktu_selesai` time DEFAULT NULL,
  `keterangan` text DEFAULT NULL,
  `status` enum('terjadwal','berlangsung','selesai','ditunda','dibatalkan') NOT NULL DEFAULT 'terjadwal',
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `jadwal_lomba`
--

INSERT INTO `jadwal_lomba` (`id_jadwal`, `id_pendaftaran`, `id_kategori`, `id_venue`, `nomor_pertandingan`, `babak`, `tanggal_lomba`, `waktu_mulai`, `waktu_selesai`, `keterangan`, `status`, `dibuat_pada`) VALUES
(1, 6, 4, 1, '1', 'PENYISIHAN', '2026-10-14', '07:50:00', '21:50:00', NULL, 'berlangsung', '2026-10-14 09:50:48'),
(2, 2, 1, 1, '2', 'Penyisihan', '2026-10-14', '17:34:00', '18:21:00', NULL, 'terjadwal', '2026-10-14 10:22:04'),
(3, 1, 2, 1, '4', 'Penyisihan', '2026-10-14', '17:23:00', '20:23:00', NULL, 'terjadwal', '2026-10-14 10:23:35'),
(4, 5, 3, 1, '5', '1', '2026-10-16', '19:24:00', '21:24:00', NULL, 'terjadwal', '2026-10-14 10:24:18');

-- --------------------------------------------------------

--
-- Struktur dari tabel `kategori_lomba`
--

CREATE TABLE `kategori_lomba` (
  `id_kategori` bigint(20) UNSIGNED NOT NULL,
  `id_cabang` bigint(20) UNSIGNED NOT NULL,
  `nama_kategori` varchar(150) NOT NULL,
  `jenis_peserta` enum('perorangan','beregu') NOT NULL,
  `kategori_kelamin` enum('putra','putri','campuran','terbuka') NOT NULL DEFAULT 'terbuka',
  `batas_anggota_min` smallint(5) UNSIGNED NOT NULL DEFAULT 1,
  `batas_anggota_maks` smallint(5) UNSIGNED NOT NULL DEFAULT 1,
  `keterangan` text DEFAULT NULL,
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `kategori_lomba`
--

INSERT INTO `kategori_lomba` (`id_kategori`, `id_cabang`, `nama_kategori`, `jenis_peserta`, `kategori_kelamin`, `batas_anggota_min`, `batas_anggota_maks`, `keterangan`, `status`, `dibuat_pada`) VALUES
(1, 1, 'Atletik', 'perorangan', 'putra', 1, 1, '', 'aktif', '2026-10-14 06:08:50'),
(2, 2, 'Atletik', 'perorangan', 'putri', 1, 1, '', 'aktif', '2026-10-14 06:20:10'),
(3, 3, 'Volly', 'beregu', 'putra', 6, 12, '', 'aktif', '2026-10-14 06:24:44'),
(4, 4, 'Volly', 'beregu', 'putri', 6, 12, '', 'aktif', '2026-10-14 08:05:54');

-- --------------------------------------------------------

--
-- Struktur dari tabel `log_aktivitas`
--

CREATE TABLE `log_aktivitas` (
  `id_log` bigint(20) UNSIGNED NOT NULL,
  `id_pengguna` bigint(20) UNSIGNED DEFAULT NULL,
  `aktivitas` varchar(180) NOT NULL,
  `tabel_terkait` varchar(100) DEFAULT NULL,
  `id_data` bigint(20) UNSIGNED DEFAULT NULL,
  `alamat_ip` varchar(45) DEFAULT NULL,
  `keterangan` text DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `pendaftaran`
--

CREATE TABLE `pendaftaran` (
  `id_pendaftaran` bigint(20) UNSIGNED NOT NULL,
  `nomor_pendaftaran` varchar(50) NOT NULL,
  `id_sekolah` bigint(20) UNSIGNED NOT NULL,
  `id_kategori` bigint(20) UNSIGNED NOT NULL,
  `id_peserta` bigint(20) UNSIGNED DEFAULT NULL,
  `id_tim` bigint(20) UNSIGNED DEFAULT NULL,
  `tanggal_daftar` datetime NOT NULL DEFAULT current_timestamp(),
  `status_verifikasi` enum('menunggu','diterima','ditolak','perlu_perbaikan') NOT NULL DEFAULT 'menunggu',
  `catatan_verifikasi` text DEFAULT NULL,
  `diverifikasi_oleh` bigint(20) UNSIGNED DEFAULT NULL,
  `diverifikasi_pada` datetime DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp(),
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pendaftaran`
--

INSERT INTO `pendaftaran` (`id_pendaftaran`, `nomor_pendaftaran`, `id_sekolah`, `id_kategori`, `id_peserta`, `id_tim`, `tanggal_daftar`, `status_verifikasi`, `catatan_verifikasi`, `diverifikasi_oleh`, `diverifikasi_pada`, `dibuat_pada`, `diperbarui_pada`) VALUES
(1, 'REG-20261014-D603EB', 1, 2, 8, NULL, '2026-10-14 13:22:08', 'diterima', '', 1, '2026-10-14 09:03:07', '2026-10-14 06:22:08', '2026-10-14 09:03:07'),
(2, 'REG-20261014-B359C8', 1, 1, 11, NULL, '2026-10-14 13:32:11', 'diterima', '', 1, '2026-10-14 07:57:04', '2026-10-14 06:32:11', '2026-10-14 07:57:04'),
(5, 'REG-20261014-DDC8E8', 1, 3, NULL, 6, '2026-10-14 15:58:00', 'diterima', '', 1, '2026-10-14 08:58:48', '2026-10-14 08:58:00', '2026-10-14 08:58:48'),
(6, 'REG-20261014-E82462', 1, 4, NULL, 7, '2026-10-14 16:04:13', 'diterima', '', 1, '2026-10-14 09:04:47', '2026-10-14 09:04:13', '2026-10-14 09:04:47');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pengaturan_event`
--

CREATE TABLE `pengaturan_event` (
  `id_pengaturan` tinyint(3) UNSIGNED NOT NULL,
  `nama_aplikasi` varchar(100) NOT NULL DEFAULT 'PORSENI Atlantis',
  `nama_event` varchar(200) NOT NULL DEFAULT 'PORSENI 2026',
  `pelaksana_event` varchar(200) DEFAULT NULL,
  `jenjang` varchar(150) DEFAULT NULL,
  `alamat_sekretariat` varchar(255) DEFAULT NULL,
  `kelurahan` varchar(100) DEFAULT NULL,
  `kecamatan` varchar(100) DEFAULT NULL,
  `kota_kabupaten` varchar(100) DEFAULT NULL,
  `provinsi` varchar(100) DEFAULT NULL,
  `website` varchar(190) DEFAULT NULL,
  `email` varchar(190) DEFAULT NULL,
  `nama_ketua_panitia` varchar(150) DEFAULT NULL,
  `logo_acara` varchar(255) DEFAULT NULL,
  `kop_surat` varchar(255) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pengaturan_event`
--

INSERT INTO `pengaturan_event` (`id_pengaturan`, `nama_aplikasi`, `nama_event`, `pelaksana_event`, `jenjang`, `alamat_sekretariat`, `kelurahan`, `kecamatan`, `kota_kabupaten`, `provinsi`, `website`, `email`, `nama_ketua_panitia`, `logo_acara`, `kop_surat`, `created_at`, `updated_at`) VALUES
(1, 'PORSENI 2026', 'PORSENI MI 2025 KECAMATAN KESUGIHAN', 'KKMI KEC. KESUGIHAN', 'SD/MI, SMP/MTs, SMA/MA/SMK', 'Jl. Kauman Kesugihan', 'Kesugihan', 'Kesugihan', 'Cilacap', 'Jawa Tengah', 'www.porsenimi2026.id', '', 'TASDIK', NULL, NULL, '2026-10-14 10:53:10', '2026-10-14 04:02:03');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pengguna`
--

CREATE TABLE `pengguna` (
  `id_pengguna` bigint(20) UNSIGNED NOT NULL,
  `id_sekolah` bigint(20) UNSIGNED DEFAULT NULL,
  `nama_lengkap` varchar(150) NOT NULL,
  `nama_pengguna` varchar(80) NOT NULL,
  `email` varchar(150) DEFAULT NULL,
  `kata_sandi_hash` varchar(255) NOT NULL,
  `peran` enum('admin','operator_sekolah','panitia_lomba') NOT NULL DEFAULT 'operator_sekolah',
  `status` enum('aktif','nonaktif','terkunci') NOT NULL DEFAULT 'aktif',
  `login_terakhir` datetime DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp(),
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pengguna`
--

INSERT INTO `pengguna` (`id_pengguna`, `id_sekolah`, `nama_lengkap`, `nama_pengguna`, `email`, `kata_sandi_hash`, `peran`, `status`, `login_terakhir`, `dibuat_pada`, `diperbarui_pada`) VALUES
(1, NULL, 'Administrator', 'admin', 'admin@porseni.local', '$2y$10$9.xVntsEYlt6i0cFCIbGL.GRmLzO15mdiK1fwwSw.q0HzUYaX94Mu', 'admin', 'aktif', '2026-10-14 16:37:54', '2026-10-14 02:52:45', '2026-10-14 16:37:54'),
(3, 1, 'anwaruddin', 'anwaruddin', 'anwaruddin@gmail.com', '$2y$10$Cn.k4BlTILZyOi8ygecDR.ruE44.ig.RaRuSr./tSVEQfS/ksX/R.', 'operator_sekolah', 'aktif', '2026-10-14 23:52:35', '2026-10-14 04:12:23', '2026-10-14 16:52:35'),
(4, 2, 'Murtaqi, S.Pd', 'murtaqi11', 'murtaqi11@gmail.com', '$2y$10$50109MY2GjWP.zENGoJOEeB9k3gHMwuL/RULND6qONabHU6lswgRm', 'operator_sekolah', 'aktif', NULL, '2026-10-14 08:39:55', '2026-10-14 08:39:55');

-- --------------------------------------------------------

--
-- Struktur dari tabel `pengumuman`
--

CREATE TABLE `pengumuman` (
  `id_pengumuman` bigint(20) UNSIGNED NOT NULL,
  `judul` varchar(200) NOT NULL,
  `jenis_pengumuman` enum('internal','eksternal') NOT NULL DEFAULT 'internal',
  `isi` mediumtext NOT NULL,
  `status` enum('draf','terbit','arsip') NOT NULL DEFAULT 'draf',
  `mulai_tayang` datetime DEFAULT NULL,
  `dibuat_oleh` bigint(20) UNSIGNED DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp(),
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `pengumuman`
--

INSERT INTO `pengumuman` (`id_pengumuman`, `judul`, `jenis_pengumuman`, `isi`, `status`, `mulai_tayang`, `dibuat_oleh`, `dibuat_pada`, `diperbarui_pada`) VALUES
(1, 'teknikal meeting', 'internal', 'Menjelang pelaksanaan [Nama Acara/Lomba] yang akan segera dimulai, kami mengundang seluruh perwakilan peserta untuk menghadiri kegiatan Technical Meeting (TM) yang akan diselenggarakan pada:\r\n• Hari / Tanggal: [Contoh: Sabtu, 24 Oktober 2026]\r\n• Waktu: Pukul [14.00 WIB] s.d. Selesai\r\n• Tempat / Platform: [Contoh: Ruang Aula / secara daring via Zoom Meeting]', 'terbit', '2026-10-15 00:29:00', 1, '2026-10-14 17:29:54', '2026-10-14 17:30:56');

-- --------------------------------------------------------

--
-- Struktur dari tabel `peserta`
--

CREATE TABLE `peserta` (
  `id_peserta` bigint(20) UNSIGNED NOT NULL,
  `id_sekolah` bigint(20) UNSIGNED NOT NULL,
  `nomor_peserta` varchar(40) DEFAULT NULL,
  `nisn` varchar(20) DEFAULT NULL,
  `nama_lengkap` varchar(150) NOT NULL,
  `jenis_kelamin` enum('L','P') NOT NULL,
  `tempat_lahir` varchar(100) DEFAULT NULL,
  `tanggal_lahir` date DEFAULT NULL,
  `kelas` varchar(30) DEFAULT NULL,
  `alamat` text DEFAULT NULL,
  `nama_pendamping` varchar(150) DEFAULT NULL,
  `telepon_pendamping` varchar(30) DEFAULT NULL,
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp(),
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `peserta`
--

INSERT INTO `peserta` (`id_peserta`, `id_sekolah`, `nomor_peserta`, `nisn`, `nama_lengkap`, `jenis_kelamin`, `tempat_lahir`, `tanggal_lahir`, `kelas`, `alamat`, `nama_pendamping`, `telepon_pendamping`, `status`, `dibuat_pada`, `diperbarui_pada`) VALUES
(2, 1, 'PST-000002', '123456', 'Isyfa Asyadid', 'L', 'Cilacap', '2026-07-01', '4', 'kesugihan', 'anwar', '085', 'aktif', '2026-10-14 05:36:12', '2026-10-14 05:49:54'),
(3, 1, 'PST-000003', '6323632325', 'Budi Sudarsono', 'L', 'Cilacap', '2022-06-14', '5', 'Kesugihan Kidul', 'Sukinah, S.Pd', '0888566633225', 'aktif', '2026-10-14 05:44:47', '2026-10-14 05:44:47'),
(4, 1, 'PST-000004', '9876543210', 'Siti Nurhaliza', 'P', 'Purwokerto', '2015-01-12', '5', 'Maos', 'Siti Aminah', '081298765432', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(5, 1, 'PST-000005', '1230984567', 'Rizky Pratama', 'L', 'Cilacap', '2015-03-25', '5', 'Jeruklegi', 'Joko Widodo', '081322334455', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(6, 1, 'PST-000006', '4561237890', 'Dewi Lestari', 'P', 'Banyumas', '2015-07-10', '5', 'Sokaraja', 'Sri Wahyuni', '081811223344', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(7, 1, 'PST-000007', '7894561230', 'Muhammad Rizki', 'L', 'Cilacap', '2015-02-18', '5', 'Kroya', 'Ahmad Dahlan', '085712345678', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(8, 1, 'PST-000008', '3216549870', 'Anisa Rahma', 'P', 'Kebumen', '2015-06-05', '5', 'Gombong', 'Rahmat Hidayat', '087899887766', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(9, 1, 'PST-000009', '6549873210', 'Dimas Anggara', 'L', 'Cilacap', '2015-11-30', '5', 'Kesugihan', 'Sucipto', '081233445566', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(10, 1, 'PST-000010', '1593578246', 'Putri Amelia', 'P', 'Brebes', '2015-04-14', '5', 'Bantarsari', 'Kartini', '085233445566', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(11, 1, 'PST-000011', '7531598246', 'Fajar Ramadhan', 'L', 'Cilacap', '2015-05-19', '5', 'Adipala', 'Rustam', '081988776655', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(12, 1, 'PST-000012', '8529637410', 'Zahra Aulia', 'P', 'Tegal', '2015-08-22', '5', 'Sidareja', 'Mulyanto', '082155667788', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(13, 1, 'PST-000013', '9638527410', 'Bayu Setiawan', 'L', 'Cilacap', '2015-12-01', '5', 'Maos', 'Sutrisno', '081399887766', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(14, 1, 'PST-000014', '1472583690', 'Nabila Putri', 'P', 'Cilacap', '2015-09-15', '5', 'Jeruklegi', 'Dewi Sartika', '085644556677', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(15, 1, 'PST-000015', '2581473690', 'Galih Pratama', 'L', 'Purbalingga', '2015-02-28', '5', 'Kesugihan', 'Eko Prasetyo', '081277889900', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(16, 1, 'PST-000016', '3692581470', 'Rina Safitri', 'P', 'Cilacap', '2015-10-04', '5', 'Kroya', 'Supriyadi', '087711223344', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(17, 1, 'PST-000017', '7418529630', 'Yoga Pratama', 'L', 'Banjarnegara', '2015-07-19', '5', 'Adipala', 'Slamet', '081311223344', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(18, 1, 'PST-000018', '8527419630', 'Sinta Bella', 'P', 'Cilacap', '2015-03-11', '5', 'Sidareja', 'Kasimin', '085244556677', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(19, 1, 'PST-000019', '9637418520', 'Eko Saputra', 'L', 'Cilacap', '2015-06-27', '5', 'Kesugihan', 'Wagiman', '081855667788', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(20, 1, 'PST-000020', '3571598426', 'Tiara Andini', 'P', 'Pemalang', '2015-01-30', '5', 'Bantarsari', 'Nur Hidayah', '082133445566', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(21, 1, 'PST-000021', '7533578426', 'Rehan Alfarizi', 'L', 'Cilacap', '2015-08-14', '5', 'Maos', 'Khairul Anwar', '081344556677', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(22, 1, 'PST-000022', '9517538246', 'Vina Melati', 'P', 'Cilacap', '2015-10-21', '5', 'Jeruklegi', 'Hasan Basri', '085722334455', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24'),
(23, 1, 'PST-000023', '3579518246', 'Tegar Wicaksono', 'L', 'Banyumas', '2015-04-08', '5', 'Sokaraja', 'Sugeng', '081266778899', 'aktif', '2026-10-14 06:05:24', '2026-10-14 06:05:24');

-- --------------------------------------------------------

--
-- Struktur dari tabel `sekolah`
--

CREATE TABLE `sekolah` (
  `id_sekolah` bigint(20) UNSIGNED NOT NULL,
  `npsn` varchar(20) DEFAULT NULL,
  `nama_sekolah` varchar(180) NOT NULL,
  `jenjang` varchar(40) DEFAULT NULL,
  `alamat` text DEFAULT NULL,
  `desa_kelurahan` varchar(100) DEFAULT NULL,
  `kecamatan` varchar(100) DEFAULT NULL,
  `kabupaten` varchar(100) DEFAULT NULL,
  `provinsi` varchar(100) DEFAULT NULL,
  `kode_pos` varchar(10) DEFAULT NULL,
  `nama_kepala` varchar(150) DEFAULT NULL,
  `nama_operator` varchar(150) DEFAULT NULL,
  `telepon` varchar(30) DEFAULT NULL,
  `email` varchar(150) DEFAULT NULL,
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp(),
  `diperbarui_pada` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `sekolah`
--

INSERT INTO `sekolah` (`id_sekolah`, `npsn`, `nama_sekolah`, `jenjang`, `alamat`, `desa_kelurahan`, `kecamatan`, `kabupaten`, `provinsi`, `kode_pos`, `nama_kepala`, `nama_operator`, `telepon`, `email`, `status`, `dibuat_pada`, `diperbarui_pada`) VALUES
(1, '60710249', 'MI YA BAKII KESUGIHAN 01', 'MI', 'Jl Merdeka', 'Kesugihan Kidul', 'Kesugihan', 'Cilacap', 'Jawa Tengah', '53274', 'ATQOL', 'ANWARUDIN', '085647885544', 'anwarudin@gmail.com', 'aktif', '2026-10-14 04:09:58', '2026-10-14 04:09:58'),
(2, '60710248', 'MI YA BAKII KESUGIHAN 02', 'MI', 'Kesugihan Induk', 'Kesugihan', 'Kesugihan', 'Cilacap', 'Jawa Tengah', '53274', 'MULTAZAM', 'Murtaqi', '022233666', 'murtaqi@gmail.com', 'aktif', '2026-10-14 08:38:57', '2026-10-14 08:38:57');

-- --------------------------------------------------------

--
-- Struktur dari tabel `template_sertifikat`
--

CREATE TABLE `template_sertifikat` (
  `id_template` bigint(20) UNSIGNED NOT NULL,
  `nama_template` varchar(150) NOT NULL,
  `jenis_template` enum('sertifikat','kartu_peserta','kartu_pendamping') NOT NULL DEFAULT 'sertifikat',
  `nama_file` varchar(255) DEFAULT NULL,
  `lokasi_file` varchar(500) DEFAULT NULL,
  `pengaturan_tampilan` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`pengaturan_tampilan`)),
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  `dibuat_oleh` bigint(20) UNSIGNED DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Struktur dari tabel `tim`
--

CREATE TABLE `tim` (
  `id_tim` bigint(20) UNSIGNED NOT NULL,
  `id_sekolah` bigint(20) UNSIGNED NOT NULL,
  `nama_tim` varchar(150) NOT NULL,
  `nama_pendamping` varchar(150) DEFAULT NULL,
  `telepon_pendamping` varchar(30) DEFAULT NULL,
  `dibuat_pada` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `tim`
--

INSERT INTO `tim` (`id_tim`, `id_sekolah`, `nama_tim`, `nama_pendamping`, `telepon_pendamping`, `dibuat_pada`) VALUES
(6, 1, 'MIHANSA-VOLLY PUTRA', 'AJI', '08555522266622', '2026-10-14 08:58:00'),
(7, 1, 'MIHANSA-VOLLY PUTRI', 'AJI', '0856633224444', '2026-10-14 09:04:13');

-- --------------------------------------------------------

--
-- Struktur dari tabel `venue`
--

CREATE TABLE `venue` (
  `id_venue` bigint(20) UNSIGNED NOT NULL,
  `nama_venue` varchar(150) NOT NULL,
  `lokasi` text DEFAULT NULL,
  `kapasitas` smallint(5) UNSIGNED DEFAULT NULL,
  `keterangan` text DEFAULT NULL,
  `status` enum('aktif','nonaktif') NOT NULL DEFAULT 'aktif'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data untuk tabel `venue`
--

INSERT INTO `venue` (`id_venue`, `nama_venue`, `lokasi`, `kapasitas`, `keterangan`, `status`) VALUES
(1, 'LAPANGAN A', 'KAMPUS 2', 500, '', 'aktif');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `anggota_tim`
--
ALTER TABLE `anggota_tim`
  ADD PRIMARY KEY (`id_anggota`),
  ADD UNIQUE KEY `uq_tim_peserta` (`id_tim`,`id_peserta`),
  ADD KEY `fk_anggota_peserta` (`id_peserta`);

--
-- Indeks untuk tabel `cabang_lomba`
--
ALTER TABLE `cabang_lomba`
  ADD PRIMARY KEY (`id_cabang`),
  ADD UNIQUE KEY `kode_cabang` (`kode_cabang`);

--
-- Indeks untuk tabel `dokumen_peserta`
--
ALTER TABLE `dokumen_peserta`
  ADD PRIMARY KEY (`id_dokumen`),
  ADD KEY `fk_dokumen_pendaftaran` (`id_pendaftaran`),
  ADD KEY `fk_dokumen_pengguna` (`diunggah_oleh`);

--
-- Indeks untuk tabel `hasil_lomba`
--
ALTER TABLE `hasil_lomba`
  ADD PRIMARY KEY (`id_hasil`),
  ADD UNIQUE KEY `uq_hasil_pendaftaran` (`id_pendaftaran`),
  ADD KEY `fk_hasil_pengesah` (`disahkan_oleh`),
  ADD KEY `idx_hasil_peringkat` (`peringkat`);

--
-- Indeks untuk tabel `jadwal_lomba`
--
ALTER TABLE `jadwal_lomba`
  ADD PRIMARY KEY (`id_jadwal`),
  ADD KEY `fk_jadwal_pendaftaran` (`id_pendaftaran`),
  ADD KEY `fk_jadwal_kategori` (`id_kategori`),
  ADD KEY `fk_jadwal_venue` (`id_venue`),
  ADD KEY `idx_jadwal_tanggal` (`tanggal_lomba`,`waktu_mulai`);

--
-- Indeks untuk tabel `kategori_lomba`
--
ALTER TABLE `kategori_lomba`
  ADD PRIMARY KEY (`id_kategori`),
  ADD UNIQUE KEY `uq_kategori_cabang_nama` (`id_cabang`,`nama_kategori`);

--
-- Indeks untuk tabel `log_aktivitas`
--
ALTER TABLE `log_aktivitas`
  ADD PRIMARY KEY (`id_log`),
  ADD KEY `fk_log_pengguna` (`id_pengguna`),
  ADD KEY `idx_log_waktu` (`dibuat_pada`);

--
-- Indeks untuk tabel `pendaftaran`
--
ALTER TABLE `pendaftaran`
  ADD PRIMARY KEY (`id_pendaftaran`),
  ADD UNIQUE KEY `nomor_pendaftaran` (`nomor_pendaftaran`),
  ADD KEY `fk_pendaftaran_kategori` (`id_kategori`),
  ADD KEY `fk_pendaftaran_peserta` (`id_peserta`),
  ADD KEY `fk_pendaftaran_tim` (`id_tim`),
  ADD KEY `fk_pendaftaran_verifikator` (`diverifikasi_oleh`),
  ADD KEY `idx_pendaftaran_status` (`status_verifikasi`),
  ADD KEY `idx_pendaftaran_sekolah` (`id_sekolah`);

--
-- Indeks untuk tabel `pengaturan_event`
--
ALTER TABLE `pengaturan_event`
  ADD PRIMARY KEY (`id_pengaturan`);

--
-- Indeks untuk tabel `pengguna`
--
ALTER TABLE `pengguna`
  ADD PRIMARY KEY (`id_pengguna`),
  ADD UNIQUE KEY `nama_pengguna` (`nama_pengguna`),
  ADD UNIQUE KEY `email` (`email`),
  ADD KEY `fk_pengguna_sekolah` (`id_sekolah`);

--
-- Indeks untuk tabel `pengumuman`
--
ALTER TABLE `pengumuman`
  ADD PRIMARY KEY (`id_pengumuman`),
  ADD KEY `fk_pengumuman_pengguna` (`dibuat_oleh`);

--
-- Indeks untuk tabel `peserta`
--
ALTER TABLE `peserta`
  ADD PRIMARY KEY (`id_peserta`),
  ADD UNIQUE KEY `nomor_peserta` (`nomor_peserta`),
  ADD KEY `fk_peserta_sekolah` (`id_sekolah`),
  ADD KEY `idx_peserta_nama` (`nama_lengkap`),
  ADD KEY `idx_peserta_nisn` (`nisn`);

--
-- Indeks untuk tabel `sekolah`
--
ALTER TABLE `sekolah`
  ADD PRIMARY KEY (`id_sekolah`),
  ADD UNIQUE KEY `npsn` (`npsn`);

--
-- Indeks untuk tabel `template_sertifikat`
--
ALTER TABLE `template_sertifikat`
  ADD PRIMARY KEY (`id_template`),
  ADD KEY `fk_template_pengguna` (`dibuat_oleh`);

--
-- Indeks untuk tabel `tim`
--
ALTER TABLE `tim`
  ADD PRIMARY KEY (`id_tim`),
  ADD KEY `fk_tim_sekolah` (`id_sekolah`);

--
-- Indeks untuk tabel `venue`
--
ALTER TABLE `venue`
  ADD PRIMARY KEY (`id_venue`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `anggota_tim`
--
ALTER TABLE `anggota_tim`
  MODIFY `id_anggota` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;

--
-- AUTO_INCREMENT untuk tabel `cabang_lomba`
--
ALTER TABLE `cabang_lomba`
  MODIFY `id_cabang` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `dokumen_peserta`
--
ALTER TABLE `dokumen_peserta`
  MODIFY `id_dokumen` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT untuk tabel `hasil_lomba`
--
ALTER TABLE `hasil_lomba`
  MODIFY `id_hasil` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `jadwal_lomba`
--
ALTER TABLE `jadwal_lomba`
  MODIFY `id_jadwal` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `kategori_lomba`
--
ALTER TABLE `kategori_lomba`
  MODIFY `id_kategori` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `log_aktivitas`
--
ALTER TABLE `log_aktivitas`
  MODIFY `id_log` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `pendaftaran`
--
ALTER TABLE `pendaftaran`
  MODIFY `id_pendaftaran` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT untuk tabel `pengguna`
--
ALTER TABLE `pengguna`
  MODIFY `id_pengguna` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `pengumuman`
--
ALTER TABLE `pengumuman`
  MODIFY `id_pengumuman` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `peserta`
--
ALTER TABLE `peserta`
  MODIFY `id_peserta` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24;

--
-- AUTO_INCREMENT untuk tabel `sekolah`
--
ALTER TABLE `sekolah`
  MODIFY `id_sekolah` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `template_sertifikat`
--
ALTER TABLE `template_sertifikat`
  MODIFY `id_template` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `tim`
--
ALTER TABLE `tim`
  MODIFY `id_tim` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT untuk tabel `venue`
--
ALTER TABLE `venue`
  MODIFY `id_venue` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- Ketidakleluasaan untuk tabel pelimpahan (Dumped Tables)
--

--
-- Ketidakleluasaan untuk tabel `anggota_tim`
--
ALTER TABLE `anggota_tim`
  ADD CONSTRAINT `fk_anggota_peserta` FOREIGN KEY (`id_peserta`) REFERENCES `peserta` (`id_peserta`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_anggota_tim` FOREIGN KEY (`id_tim`) REFERENCES `tim` (`id_tim`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `dokumen_peserta`
--
ALTER TABLE `dokumen_peserta`
  ADD CONSTRAINT `fk_dokumen_pendaftaran` FOREIGN KEY (`id_pendaftaran`) REFERENCES `pendaftaran` (`id_pendaftaran`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_dokumen_pengguna` FOREIGN KEY (`diunggah_oleh`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `hasil_lomba`
--
ALTER TABLE `hasil_lomba`
  ADD CONSTRAINT `fk_hasil_pendaftaran` FOREIGN KEY (`id_pendaftaran`) REFERENCES `pendaftaran` (`id_pendaftaran`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_hasil_pengesah` FOREIGN KEY (`disahkan_oleh`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `jadwal_lomba`
--
ALTER TABLE `jadwal_lomba`
  ADD CONSTRAINT `fk_jadwal_kategori` FOREIGN KEY (`id_kategori`) REFERENCES `kategori_lomba` (`id_kategori`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_jadwal_pendaftaran` FOREIGN KEY (`id_pendaftaran`) REFERENCES `pendaftaran` (`id_pendaftaran`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_jadwal_venue` FOREIGN KEY (`id_venue`) REFERENCES `venue` (`id_venue`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `kategori_lomba`
--
ALTER TABLE `kategori_lomba`
  ADD CONSTRAINT `fk_kategori_cabang` FOREIGN KEY (`id_cabang`) REFERENCES `cabang_lomba` (`id_cabang`) ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `log_aktivitas`
--
ALTER TABLE `log_aktivitas`
  ADD CONSTRAINT `fk_log_pengguna` FOREIGN KEY (`id_pengguna`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pendaftaran`
--
ALTER TABLE `pendaftaran`
  ADD CONSTRAINT `fk_pendaftaran_kategori` FOREIGN KEY (`id_kategori`) REFERENCES `kategori_lomba` (`id_kategori`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_pendaftaran_peserta` FOREIGN KEY (`id_peserta`) REFERENCES `peserta` (`id_peserta`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_pendaftaran_sekolah` FOREIGN KEY (`id_sekolah`) REFERENCES `sekolah` (`id_sekolah`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_pendaftaran_tim` FOREIGN KEY (`id_tim`) REFERENCES `tim` (`id_tim`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_pendaftaran_verifikator` FOREIGN KEY (`diverifikasi_oleh`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pengguna`
--
ALTER TABLE `pengguna`
  ADD CONSTRAINT `fk_pengguna_sekolah` FOREIGN KEY (`id_sekolah`) REFERENCES `sekolah` (`id_sekolah`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `pengumuman`
--
ALTER TABLE `pengumuman`
  ADD CONSTRAINT `fk_pengumuman_pengguna` FOREIGN KEY (`dibuat_oleh`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `peserta`
--
ALTER TABLE `peserta`
  ADD CONSTRAINT `fk_peserta_sekolah` FOREIGN KEY (`id_sekolah`) REFERENCES `sekolah` (`id_sekolah`) ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `template_sertifikat`
--
ALTER TABLE `template_sertifikat`
  ADD CONSTRAINT `fk_template_pengguna` FOREIGN KEY (`dibuat_oleh`) REFERENCES `pengguna` (`id_pengguna`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Ketidakleluasaan untuk tabel `tim`
--
ALTER TABLE `tim`
  ADD CONSTRAINT `fk_tim_sekolah` FOREIGN KEY (`id_sekolah`) REFERENCES `sekolah` (`id_sekolah`) ON UPDATE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
