57 lines
2.0 KiB
SQL
57 lines
2.0 KiB
SQL
-- Full schema for SiWarga
|
|
CREATE TABLE IF NOT EXISTS warga (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
blok VARCHAR(10) NOT NULL,
|
|
nomor_rumah VARCHAR(10) NOT NULL,
|
|
nik VARCHAR(20),
|
|
kk VARCHAR(20),
|
|
telepon VARCHAR(20),
|
|
status ENUM('aktif', 'non-aktif') DEFAULT 'aktif',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE IF NOT EXISTS pembayaran (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
warga_id INT NOT NULL,
|
|
jenis_iuran_id INT NOT NULL,
|
|
periode VARCHAR(7) NOT NULL, -- Format: YYYY-MM
|
|
jumlah DECIMAL(15, 2) NOT NULL,
|
|
tanggal_bayar DATE NOT NULL,
|
|
catatan TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (warga_id) REFERENCES warga(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (jenis_iuran_id) REFERENCES jenis_iuran(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE IF NOT EXISTS pengeluaran (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
jenis_iuran_id INT, -- Bisa NULL jika dari kas umum
|
|
kategori VARCHAR(100) NOT NULL,
|
|
jumlah DECIMAL(15, 2) NOT NULL,
|
|
tanggal DATE NOT NULL,
|
|
keterangan TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (jenis_iuran_id) REFERENCES jenis_iuran(id) ON DELETE SET NULL
|
|
) ENGINE=InnoDB;
|
|
|
|
CREATE TABLE IF NOT EXISTS pengurus (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nama VARCHAR(255) NOT NULL,
|
|
jabatan VARCHAR(100) NOT NULL,
|
|
telepon VARCHAR(20),
|
|
urutan INT DEFAULT 0,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB;
|
|
|
|
-- Sample data for demo
|
|
INSERT IGNORE INTO warga (nama, blok, nomor_rumah, nik, kk, telepon) VALUES
|
|
('Budi Santoso', 'A', '10', '3201010101010001', '3201010101010002', '081234567890'),
|
|
('Siti Aminah', 'A', '11', '3201010101010003', '3201010101010004', '081234567891'),
|
|
('Agus Wijaya', 'B', '05', '3201010101010005', '3201010101010006', '081234567892');
|
|
|
|
INSERT IGNORE INTO pengurus (nama, jabatan, urutan) VALUES
|
|
('Budi Santoso', 'Ketua RT', 1),
|
|
('Siti Aminah', 'Sekretaris', 2),
|
|
('Agus Wijaya', 'Bendahara', 3);
|