-- SQL untuk membuat database dan tabel manajemen keuangan nasabah

-- Membuat database jika belum ada
CREATE DATABASE IF NOT EXISTS manajemen_keuangan;

-- Menggunakan database
USE manajemen_keuangan;

-- Membuat tabel nasabah
CREATE TABLE IF NOT EXISTS nasabah (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    tanggal_jatuh_tempo DATE NOT NULL,
    nominal_hutang BIGINT NOT NULL,
    sisa_hutang BIGINT NOT NULL DEFAULT 0,
    status ENUM('lunas', 'belum') NOT NULL DEFAULT 'belum'
);

-- Membuat tabel users untuk autentikasi
CREATE TABLE IF NOT EXISTS users (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
);

-- Membuat tabel pembayaran
CREATE TABLE IF NOT EXISTS pembayaran (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    nasabah_id INT(11) NOT NULL,
    jumlah_pembayaran BIGINT NOT NULL,
    tanggal_pembayaran DATE NOT NULL,
    FOREIGN KEY (nasabah_id) REFERENCES nasabah(id) ON DELETE CASCADE
);

-- Contoh data untuk testing (opsional)
-- INSERT INTO nasabah (nama, tanggal_jatuh_tempo, nominal_hutang, status) VALUES
-- ('Ahmad', '2025-12-01', 5000000, 'belum'),
-- ('Budiman', '2025-11-15', 2500000, 'lunas');
