Delete database.sql
This commit is contained in:
-142
@@ -1,142 +0,0 @@
|
|||||||
-- ============================================================
|
|
||||||
-- database.sql — WebGIS Poverty Mapping v2
|
|
||||||
-- Tiara Chontesa — D0141231070
|
|
||||||
-- ============================================================
|
|
||||||
|
|
||||||
CREATE DATABASE IF NOT EXISTS db_bantuan
|
|
||||||
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
USE db_bantuan;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- USERS (3 role: admin, relawan, pengurus, pemerintah)
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS users (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
nama_lengkap VARCHAR(150) NOT NULL,
|
|
||||||
username VARCHAR(80) NOT NULL UNIQUE,
|
|
||||||
email VARCHAR(150) NOT NULL UNIQUE,
|
|
||||||
password VARCHAR(255) NOT NULL,
|
|
||||||
role ENUM('admin','relawan','pengurus','pemerintah') NOT NULL DEFAULT 'relawan',
|
|
||||||
foto VARCHAR(255) DEFAULT NULL,
|
|
||||||
aktif TINYINT(1) NOT NULL DEFAULT 1,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
last_login TIMESTAMP NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- Seed: admin default (password: admin123)
|
|
||||||
INSERT INTO users (nama_lengkap, username, email, password, role) VALUES
|
|
||||||
('Administrator', 'admin', 'admin@webgis.id', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin');
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- RUMAH IBADAH
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS rumah_ibadah (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
nama_ibadah VARCHAR(150) NOT NULL,
|
|
||||||
kategori ENUM('Masjid','Musholla','Gereja','Pura','Vihara','Klenteng','Lainnya') NOT NULL DEFAULT 'Masjid',
|
|
||||||
alamat VARCHAR(255) DEFAULT NULL,
|
|
||||||
nama_pengurus VARCHAR(100) DEFAULT NULL,
|
|
||||||
no_telp VARCHAR(20) DEFAULT NULL,
|
|
||||||
kuota_bantuan INT NOT NULL DEFAULT 20,
|
|
||||||
radius_m INT NOT NULL DEFAULT 300,
|
|
||||||
lat DOUBLE NOT NULL,
|
|
||||||
lng DOUBLE NOT NULL,
|
|
||||||
dibuat_oleh INT DEFAULT NULL,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
||||||
FOREIGN KEY (dibuat_oleh) REFERENCES users(id) ON DELETE SET NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- RUMAH MISKIN / KPM
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS rumah_miskin (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
nama_kepala_keluarga VARCHAR(150) NOT NULL,
|
|
||||||
nik VARCHAR(16) DEFAULT NULL,
|
|
||||||
tanggal_lahir DATE DEFAULT NULL,
|
|
||||||
jenis_kelamin ENUM('Laki-laki','Perempuan') DEFAULT 'Laki-laki',
|
|
||||||
jumlah_tanggungan TINYINT DEFAULT 0,
|
|
||||||
pendapatan_bulanan BIGINT DEFAULT 0,
|
|
||||||
pekerjaan VARCHAR(100) DEFAULT NULL,
|
|
||||||
kondisi_rumah ENUM('Layak','Tidak Layak','Sangat Tidak Layak') NOT NULL DEFAULT 'Tidak Layak',
|
|
||||||
no_telp VARCHAR(20) DEFAULT NULL,
|
|
||||||
rt_rw VARCHAR(20) DEFAULT NULL,
|
|
||||||
kelurahan VARCHAR(100) DEFAULT NULL,
|
|
||||||
kecamatan VARCHAR(100) DEFAULT NULL,
|
|
||||||
keterangan TEXT DEFAULT NULL,
|
|
||||||
status_bantuan ENUM('Belum Terbantu','Terjangkau','Sudah Menerima') NOT NULL DEFAULT 'Belum Terbantu',
|
|
||||||
prioritas TINYINT(1) DEFAULT 0 COMMENT '1 = prioritas tinggi (terdampak bencana)',
|
|
||||||
lat DOUBLE NOT NULL,
|
|
||||||
lng DOUBLE NOT NULL,
|
|
||||||
didata_oleh INT DEFAULT NULL,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
||||||
FOREIGN KEY (didata_oleh) REFERENCES users(id) ON DELETE SET NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- BENCANA
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS bencana (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
nama_bencana VARCHAR(150) NOT NULL,
|
|
||||||
jenis ENUM('Banjir','Kebakaran','Gempa Bumi','Longsor','Angin Puting Beliung','Lainnya') NOT NULL DEFAULT 'Banjir',
|
|
||||||
tanggal DATE NOT NULL,
|
|
||||||
lokasi VARCHAR(255) DEFAULT NULL,
|
|
||||||
deskripsi TEXT DEFAULT NULL,
|
|
||||||
status ENUM('Aktif','Selesai') NOT NULL DEFAULT 'Aktif',
|
|
||||||
lat DOUBLE DEFAULT NULL,
|
|
||||||
lng DOUBLE DEFAULT NULL,
|
|
||||||
radius_m INT DEFAULT 500,
|
|
||||||
dibuat_oleh INT DEFAULT NULL,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
FOREIGN KEY (dibuat_oleh) REFERENCES users(id) ON DELETE SET NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- WARGA TERDAMPAK BENCANA (relasi N:M)
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS bencana_terdampak (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
bencana_id INT NOT NULL,
|
|
||||||
warga_id INT NOT NULL,
|
|
||||||
tingkat ENUM('Ringan','Sedang','Berat') DEFAULT 'Sedang',
|
|
||||||
keterangan TEXT DEFAULT NULL,
|
|
||||||
ditandai_oleh INT DEFAULT NULL,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
UNIQUE KEY unik_bencana_warga (bencana_id, warga_id),
|
|
||||||
FOREIGN KEY (bencana_id) REFERENCES bencana(id) ON DELETE CASCADE,
|
|
||||||
FOREIGN KEY (warga_id) REFERENCES rumah_miskin(id) ON DELETE CASCADE,
|
|
||||||
FOREIGN KEY (ditandai_oleh) REFERENCES users(id) ON DELETE SET NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- BANTUAN TERSALUR
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE TABLE IF NOT EXISTS bantuan_tersalur (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
warga_id INT NOT NULL,
|
|
||||||
ibadah_id INT DEFAULT NULL,
|
|
||||||
bencana_id INT DEFAULT NULL,
|
|
||||||
jenis_bantuan VARCHAR(150) NOT NULL,
|
|
||||||
jumlah VARCHAR(100) DEFAULT NULL COMMENT 'mis: 50kg beras, Rp500.000',
|
|
||||||
tanggal DATE NOT NULL,
|
|
||||||
petugas VARCHAR(150) DEFAULT NULL,
|
|
||||||
keterangan TEXT DEFAULT NULL,
|
|
||||||
disalurkan_oleh INT DEFAULT NULL,
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
FOREIGN KEY (warga_id) REFERENCES rumah_miskin(id) ON DELETE CASCADE,
|
|
||||||
FOREIGN KEY (ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL,
|
|
||||||
FOREIGN KEY (bencana_id) REFERENCES bencana(id) ON DELETE SET NULL,
|
|
||||||
FOREIGN KEY (disalurkan_oleh) REFERENCES users(id) ON DELETE SET NULL
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
||||||
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
-- INDEX
|
|
||||||
-- ────────────────────────────────────────
|
|
||||||
CREATE INDEX idx_miskin_coords ON rumah_miskin (lat, lng);
|
|
||||||
CREATE INDEX idx_ibadah_coords ON rumah_ibadah (lat, lng);
|
|
||||||
CREATE INDEX idx_miskin_status ON rumah_miskin (status_bantuan);
|
|
||||||
CREATE INDEX idx_miskin_prioritas ON rumah_miskin (prioritas);
|
|
||||||
CREATE INDEX idx_bencana_status ON bencana (status);
|
|
||||||
Reference in New Issue
Block a user