Files
UAS/database.sql
T
2026-06-12 11:41:50 +00:00

90 lines
4.4 KiB
SQL

-- ==========================================================
-- Database WebGIS Kemiskinan Pontianak
-- Untuk Coolify: gunakan database aktif dari resource MySQL/MariaDB.
-- Tidak memakai CREATE DATABASE dan USE agar tidak nyasar database.
-- Akun admin demo: admin / password
-- ==========================================================
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS bantuan;
DROP TABLE IF EXISTS penduduk_miskin;
DROP TABLE IF EXISTS rumah_ibadah;
DROP TABLE IF EXISTS admin;
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE admin (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
nama VARCHAR(150) DEFAULT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE rumah_ibadah (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_rumah_ibadah VARCHAR(150) NOT NULL,
alamat TEXT DEFAULT NULL,
lat DOUBLE NOT NULL,
lng DOUBLE NOT NULL,
jenis_rumah_ibadah ENUM('masjid','gereja') DEFAULT 'masjid',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE penduduk_miskin (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(150) NOT NULL,
nik VARCHAR(32) DEFAULT NULL,
alamat TEXT DEFAULT NULL,
pekerjaan VARCHAR(120) DEFAULT NULL,
penghasilan BIGINT DEFAULT 0,
jumlah_anggota_keluarga INT DEFAULT 1,
jumlah_tanggungan INT DEFAULT 0,
kategori_kemiskinan ENUM('Miskin Ekstrem','Miskin','Hampir Miskin') DEFAULT 'Miskin',
status_bantuan ENUM('Belum','Sedang','Pernah') DEFAULT 'Belum',
keterangan TEXT DEFAULT NULL,
foto VARCHAR(255) DEFAULT NULL,
lat DOUBLE NOT NULL,
lng DOUBLE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_nik (nik),
INDEX idx_status_bantuan (status_bantuan),
INDEX idx_kategori (kategori_kemiskinan)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE bantuan (
id INT AUTO_INCREMENT PRIMARY KEY,
penduduk_id INT NULL,
jenis_bantuan VARCHAR(100) NOT NULL,
jumlah_bantuan VARCHAR(100) DEFAULT NULL,
tanggal_bantuan DATE NOT NULL,
keterangan TEXT DEFAULT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_bantuan_penduduk
FOREIGN KEY (penduduk_id) REFERENCES penduduk_miskin(id)
ON DELETE SET NULL,
INDEX idx_tanggal_bantuan (tanggal_bantuan),
INDEX idx_jenis_bantuan (jenis_bantuan)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO admin (username, password, nama) VALUES
('admin', 'password', 'Administrator');
INSERT INTO rumah_ibadah (nama_rumah_ibadah, alamat, lat, lng, jenis_rumah_ibadah) VALUES
('Masjid Raya Mujahidin', 'Jl. Jenderal Ahmad Yani, Pontianak', -0.05539, 109.34651, 'masjid'),
('Masjid Jami Sultan Syarif Abdurrahman', 'Pontianak Timur, Kota Pontianak', -0.02386, 109.34458, 'masjid'),
('Gereja Katedral Santo Yosef', 'Jl. Pattimura, Pontianak', -0.03195, 109.33988, 'gereja'),
('Gereja HKBP Pontianak', 'Pontianak Kota, Kota Pontianak', -0.04590, 109.33310, 'gereja');
INSERT INTO penduduk_miskin
(nama, nik, alamat, pekerjaan, penghasilan, jumlah_anggota_keluarga, jumlah_tanggungan, kategori_kemiskinan, status_bantuan, keterangan, foto, lat, lng) VALUES
('Budi Santoso', '6171010101010001', 'Pontianak Kota', 'Buruh harian', 800000, 5, 4, 'Miskin', 'Pernah', 'Data dummy untuk testing sistem', '', -0.04120, 109.32100),
('Siti Aminah', '6171010101010002', 'Pontianak Selatan', 'Pedagang kecil', 650000, 4, 3, 'Miskin Ekstrem', 'Belum', 'Prioritas bantuan', '', -0.05500, 109.34500),
('Rahmat Hidayat', '6171010101010003', 'Pontianak Utara', 'Pekerja tidak tetap', 900000, 6, 5, 'Miskin', 'Sedang', 'Masih dalam proses pendataan', '', -0.00600, 109.33000),
('Marlina', '6171010101010004', 'Pontianak Barat', 'Ibu rumah tangga', 500000, 3, 2, 'Hampir Miskin', 'Belum', 'Data dummy wilayah Pontianak Barat', '', -0.02000, 109.29500);
INSERT INTO bantuan (penduduk_id, jenis_bantuan, jumlah_bantuan, tanggal_bantuan, keterangan) VALUES
(1, 'Sembako', '1 paket', CURDATE(), 'Bantuan sembako bulanan'),
(3, 'Beras', '10 kg', CURDATE(), 'Bantuan beras untuk keluarga penerima manfaat');