116 lines
4.4 KiB
SQL
116 lines
4.4 KiB
SQL
-- Database schema for WebGIS Pemetaan Kemiskinan Pontianak
|
|
|
|
CREATE DATABASE IF NOT EXISTS webgis;
|
|
USE webgis;
|
|
|
|
-- 1. Tabel rumah_ibadah
|
|
DROP TABLE IF EXISTS `log_bantuan`;
|
|
DROP TABLE IF EXISTS `rumah_ibadah`;
|
|
CREATE TABLE `rumah_ibadah` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`nama` varchar(255) NOT NULL,
|
|
`jenis` varchar(100) NOT NULL,
|
|
`alamat` text,
|
|
`radius` double NOT NULL DEFAULT 0,
|
|
`lat` double NOT NULL,
|
|
`lng` double NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- 2. Tabel penduduk_miskin
|
|
DROP TABLE IF EXISTS `penduduk_miskin`;
|
|
CREATE TABLE `penduduk_miskin` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`nama` varchar(255) NOT NULL,
|
|
`kategori_bantuan` varchar(255) NOT NULL,
|
|
`jumlah_jiwa` int(11) NOT NULL DEFAULT 1,
|
|
`lat` double NOT NULL,
|
|
`lng` double NOT NULL,
|
|
`foto_rumah` varchar(255) DEFAULT NULL,
|
|
`foto_kk` varchar(255) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- 3. Tabel log_bantuan
|
|
CREATE TABLE `log_bantuan` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`miskin_id` int(11) NOT NULL,
|
|
`ibadah_id` int(11) NOT NULL,
|
|
`tipe_bantuan` varchar(255) NOT NULL,
|
|
`tanggal` date NOT NULL,
|
|
`keterangan` text,
|
|
PRIMARY KEY (`id`),
|
|
KEY `fk_log_miskin` (`miskin_id`),
|
|
KEY `fk_log_ibadah` (`ibadah_id`),
|
|
CONSTRAINT `fk_log_ibadah` FOREIGN KEY (`ibadah_id`) REFERENCES `rumah_ibadah` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_log_miskin` FOREIGN KEY (`miskin_id`) REFERENCES `penduduk_miskin` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
-- Data Contoh (Sample Data) untuk Pontianak
|
|
|
|
-- Data Contoh Rumah Ibadah
|
|
INSERT INTO `rumah_ibadah` (`nama`, `jenis`, `alamat`, `radius`, `lat`, `lng`) VALUES
|
|
('Masjid Raya Mujahidin', 'Masjid', 'Jl. Jenderal Ahmad Yani, Akcaya, Kec. Pontianak Sel.', 500, -0.0435, 109.3440),
|
|
('Gereja Katedral Santo Yosef', 'Gereja', 'Jl. Patria Tama, Darat Sekip, Kec. Pontianak Kota', 500, -0.0278, 109.3370),
|
|
('Vihara Bodhisatva Karaniya Metta', 'Vihara', 'Jl. Kapten Marsan, Darat Sekip, Kec. Pontianak Kota', 500, -0.0232, 109.3432);
|
|
|
|
-- Data Contoh Penduduk Miskin
|
|
INSERT INTO `penduduk_miskin` (`nama`, `kategori_bantuan`, `jumlah_jiwa`, `lat`, `lng`) VALUES
|
|
('Budi Santoso', 'Makan', 4, -0.0420, 109.3415),
|
|
('Siti Aminah', 'Pemberdayaan', 3, -0.0285, 109.3395),
|
|
('Ahmad Subarjo', 'Makan', 5, -0.0245, 109.3448);
|
|
|
|
-- Data Contoh Log Bantuan
|
|
INSERT INTO `log_bantuan` (`miskin_id`, `ibadah_id`, `tipe_bantuan`, `tanggal`, `keterangan`) VALUES
|
|
(1, 1, 'Sembako', '2026-05-15', 'Pembagian paket sembako bulanan'),
|
|
(2, 2, 'Pendidikan', '2026-05-20', 'Bantuan biaya sekolah anak'),
|
|
(3, 1, 'Uang Tunai', '2026-06-01', 'Santunan tunai darurat');
|
|
|
|
|
|
|
|
-- 7. Tabel users
|
|
DROP TABLE IF EXISTS `users`;
|
|
CREATE TABLE `users` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`username` varchar(100) NOT NULL UNIQUE,
|
|
`password` varchar(255) NOT NULL,
|
|
`role` enum('admin', 'pengelola') NOT NULL,
|
|
`ibadah_id` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
CONSTRAINT `fk_users_ibadah` FOREIGN KEY (`ibadah_id`) REFERENCES `rumah_ibadah` (`id`) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Data Contoh Pengguna (Default Users)
|
|
-- Password admin: password
|
|
-- Password pengelola: password (terhubung ke Masjid Raya Mujahidin, ibadah_id = 1)
|
|
INSERT INTO `users` (`username`, `password`, `role`, `ibadah_id`) VALUES
|
|
('admin', '$2y$10$qqKxivn4646czFu/ffwa/uZxJrkj3T9xmsrRbyxJbHx6jllpOOfDO', 'admin', NULL),
|
|
('pengelola_mujahidin', '$2y$10$qqKxivn4646czFu/ffwa/uZxJrkj3T9xmsrRbyxJbHx6jllpOOfDO', 'pengelola', 1);
|
|
|
|
CREATE TABLE IF NOT EXISTS spbu (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
no_wa VARCHAR(20) NOT NULL DEFAULT '',
|
|
is_24_jam TINYINT(1) NOT NULL DEFAULT 0,
|
|
lat DOUBLE NOT NULL,
|
|
lng DOUBLE NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS parsil (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL DEFAULT '',
|
|
status ENUM('SHM', 'HGB', 'HGU', 'HP') NOT NULL DEFAULT 'SHM',
|
|
luas DOUBLE NOT NULL DEFAULT 0,
|
|
geom POLYGON NOT NULL,
|
|
SPATIAL INDEX (geom)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS jalan (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
status ENUM('Nasional', 'Provinsi', 'Kabupaten') NOT NULL DEFAULT 'Kabupaten',
|
|
panjang DOUBLE NOT NULL DEFAULT 0,
|
|
geom LINESTRING NOT NULL,
|
|
SPATIAL INDEX (geom)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |