Files
2026-06-10 18:48:37 +07:00

37 lines
1.7 KiB
SQL

-- Tabel SPBU (Point)
CREATE TABLE `spbu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`namaspbu` varchar(150) NOT NULL,
`nomorwa` varchar(20) DEFAULT NULL,
`statusbuka` enum('full','limited') DEFAULT 'limited',
`koordinat` JSON DEFAULT NULL COMMENT 'GeoJSON Point',
`lat` decimal(10,8) GENERATED ALWAYS AS (JSON_EXTRACT(`koordinat`, '$.coordinates[1]')) STORED,
`lng` decimal(11,8) GENERATED ALWAYS AS (JSON_EXTRACT(`koordinat`, '$.coordinates[0]')) STORED,
`createdat` timestamp NOT NULL DEFAULT current_timestamp(),
`updatedat` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabel Jalan (Polyline)
CREATE TABLE `jalan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(150) NOT NULL,
`status` enum('nasional','provinsi','kabupaten') NOT NULL DEFAULT 'kabupaten',
`panjang_meter` decimal(12,2) DEFAULT NULL,
`geom` JSON NOT NULL COMMENT 'GeoJSON LineString',
`createdat` timestamp NOT NULL DEFAULT current_timestamp(),
`updatedat` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Tabel Parsil Tanah (Polygon)
CREATE TABLE `parsil` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(150) NOT NULL,
`status_kepemilikan` enum('SHM','HGB','HGU','HP') NOT NULL DEFAULT 'SHM',
`luas_m2` decimal(14,2) DEFAULT NULL,
`geom` JSON NOT NULL COMMENT 'GeoJSON Polygon',
`createdat` timestamp NOT NULL DEFAULT current_timestamp(),
`updatedat` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;