Files
Tugas-SIG/004/database.sql
T

80 lines
2.7 KiB
SQL

CREATE TABLE spbu_markers (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_spbu VARCHAR(100) NOT NULL,
status_operasional ENUM('Buka 24 Jam', 'Tidak 24 Jam') NOT NULL,
no_telp VARCHAR(20) NOT NULL,
latitude DECIMAL(10, 8) NOT NULL,
longitude DECIMAL(11, 8) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE jalan_polylines (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_jalan VARCHAR(100) NOT NULL,
status_jalan ENUM('Jalan Nasional', 'Jalan Provinsi', 'Jalan Kabupaten') NOT NULL,
jarak_meter INT NOT NULL,
koordinat JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE tanah_polygons (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_pemilik VARCHAR(100) NOT NULL,
status_kepemilikan ENUM('SHM', 'HGB', 'HGU', 'HP') NOT NULL,
luas_meter INT NOT NULL,
koordinat JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE spbu_markers
ADD COLUMN alamat TEXT AFTER no_telp;
CREATE TABLE rumah_ibadah (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(150) NOT NULL,
jenis ENUM('Masjid', 'Gereja', 'Vihara', 'Pura', 'Klenteng') NOT NULL,
radius_meter INT NOT NULL,
alamat TEXT,
latitude DOUBLE NOT NULL,
longitude DOUBLE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE rumah_penduduk (
id INT AUTO_INCREMENT PRIMARY KEY,
nama_kk VARCHAR(100) NOT NULL,
agama VARCHAR(50),
jml_tanggungan INT DEFAULT 0,
pengeluaran INT NOT NULL,
pmt_lantai INT DEFAULT 0,
pmt_dinding INT DEFAULT 0,
pmt_sanitasi INT DEFAULT 0,
pmt_penerangan INT DEFAULT 0,
pmt_air INT DEFAULT 0,
pmt_score INT NOT NULL,
status_kemiskinan ENUM('Sangat Miskin', 'Miskin', 'Rentan Miskin', 'Tidak Miskin') NOT NULL,
alamat TEXT,
latitude DOUBLE NOT NULL,
longitude DOUBLE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE log_bantuan (
id INT AUTO_INCREMENT PRIMARY KEY,
id_penduduk INT NOT NULL,
beras_kg INT DEFAULT 0,
minyak_l INT DEFAULT 0,
gula_kg INT DEFAULT 0,
telur_kg INT DEFAULT 0,
susu_kaleng INT DEFAULT 0,
tunai_rp INT DEFAULT 0,
catatan TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (id_penduduk) REFERENCES rumah_penduduk(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS garis_kemiskinan (
id INT AUTO_INCREMENT PRIMARY KEY,
tahun YEAR NOT NULL,
nilai_rupiah INT NOT NULL,
is_active BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO garis_kemiskinan (tahun, nilai_rupiah, is_active)
VALUES (2026, 700000, TRUE);