-- ============================================
-- DATABASE: gis_penduduk_miskin
-- GIS Web App - Rumah Ibadah & Penduduk Miskin
-- ============================================

CREATE DATABASE IF NOT EXISTS gis_penduduk_miskin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE gis_penduduk_miskin;

-- Tabel Rumah Ibadah
CREATE TABLE IF NOT EXISTS rumah_ibadah (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(200) NOT NULL,
    jenis ENUM('Masjid','Gereja','Pura','Vihara','Kelenteng','Lainnya') DEFAULT 'Masjid',
    alamat TEXT,
    pic VARCHAR(150) COMMENT 'Person In Charge',
    no_wa VARCHAR(20),
    lat DOUBLE NOT NULL,
    lng DOUBLE NOT NULL,
    radius INT DEFAULT 500 COMMENT 'Radius dalam meter',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabel Penduduk Miskin
CREATE TABLE IF NOT EXISTS penduduk_miskin (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama_kk VARCHAR(200) NOT NULL COMMENT 'Nama Kepala Keluarga',
    jumlah_anggota INT NOT NULL DEFAULT 1 COMMENT 'Jumlah Anggota KK',
    alamat TEXT,
    lat DOUBLE NOT NULL,
    lng DOUBLE NOT NULL,
    rumah_ibadah_id INT NULL COMMENT 'Rumah ibadah terdekat (FK)',
    jarak_ke_ibadah DOUBLE NULL COMMENT 'Jarak dalam meter ke rumah ibadah terdekat',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL
);

-- Index untuk performa query geospasial
CREATE INDEX idx_rumah_ibadah_coords ON rumah_ibadah(lat, lng);
CREATE INDEX idx_penduduk_coords ON penduduk_miskin(lat, lng);
CREATE INDEX idx_penduduk_ibadah ON penduduk_miskin(rumah_ibadah_id);

-- =====================
-- DATA CONTOH (Pontianak)
-- =====================

INSERT INTO rumah_ibadah (nama, jenis, alamat, pic, no_wa, lat, lng, radius) VALUES
('Masjid Raya Mujahidin', 'Masjid', 'Jl. Ahmad Yani, Pontianak Selatan', 'H. Abdurrahman', '081234567890', -0.0397, 109.3319, 500),
('Masjid Jami Pontianak', 'Masjid', 'Jl. Tanjungpura, Pontianak Kota', 'H. Mukhlis', '081234567891', -0.0263, 109.3413, 500),
('GBI Pontianak', 'Gereja', 'Jl. Gajahmada, Pontianak Kota', 'Pdt. Stevanus', '081234567892', -0.0280, 109.3350, 500),
('Vihara Bodhisattva Karaniya Metta', 'Vihara', 'Jl. Khatulistiwa, Pontianak Utara', 'Bhikkhu Santoso', '081234567893', -0.0120, 109.3250, 500);

INSERT INTO penduduk_miskin (nama_kk, jumlah_anggota, alamat, lat, lng) VALUES
('Budi Santoso', 4, 'Jl. Ahmad Yani Gg. 3, Pontianak', -0.0410, 109.3330),
('Siti Rahayu', 3, 'Jl. Ahmad Yani Gg. 5, Pontianak', -0.0380, 109.3310),
('Muhammad Amin', 5, 'Jl. Tanjungpura No. 12, Pontianak', -0.0255, 109.3420),
('Dewi Lestari', 2, 'Jl. Gajahmada No. 7, Pontianak', -0.0290, 109.3360),
('Hendra Kusuma', 6, 'Jl. Khatulistiwa Gg. 2, Pontianak', -0.0130, 109.3260),
('Yanti Wulandari', 3, 'Jl. Reformasi, Pontianak Utara', -0.0100, 109.3240),
('Agus Prasetyo', 4, 'Jl. Sultan Hamid, Pontianak Barat', -0.0450, 109.3200);

-- Update rumah_ibadah_id dan jarak untuk data contoh (akan dihitung via PHP)
