60 lines
2.5 KiB
SQL
60 lines
2.5 KiB
SQL
-- Schema database untuk Sistem Klasifikasi Jurusan Siswa
|
|
-- Jalankan file ini di database: db_klasifikasi
|
|
|
|
CREATE TABLE IF NOT EXISTS admin (
|
|
id SERIAL PRIMARY KEY,
|
|
username VARCHAR(50) UNIQUE NOT NULL,
|
|
password_hash VARCHAR(64) NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS hasil_prediksi (
|
|
id SERIAL PRIMARY KEY,
|
|
nama_siswa VARCHAR(100) NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Informatika
|
|
nilai_informatika_sem1 DOUBLE PRECISION,
|
|
nilai_informatika_sem2 DOUBLE PRECISION,
|
|
nilai_informatika DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Fisika
|
|
nilai_fisika_sem1 DOUBLE PRECISION,
|
|
nilai_fisika_sem2 DOUBLE PRECISION,
|
|
nilai_fisika DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Kimia
|
|
nilai_kimia_sem1 DOUBLE PRECISION,
|
|
nilai_kimia_sem2 DOUBLE PRECISION,
|
|
nilai_kimia DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Biologi
|
|
nilai_biologi_sem1 DOUBLE PRECISION,
|
|
nilai_biologi_sem2 DOUBLE PRECISION,
|
|
nilai_biologi DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk BIG Lanjut
|
|
nilai_big_lanjut_sem1 DOUBLE PRECISION,
|
|
nilai_big_lanjut_sem2 DOUBLE PRECISION,
|
|
nilai_big_lanjut DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Ekonomi
|
|
nilai_ekonomi_sem1 DOUBLE PRECISION,
|
|
nilai_ekonomi_sem2 DOUBLE PRECISION,
|
|
nilai_ekonomi DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk MAT Lanjut
|
|
nilai_mat_lanjut_sem1 DOUBLE PRECISION,
|
|
nilai_mat_lanjut_sem2 DOUBLE PRECISION,
|
|
nilai_mat_lanjut DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk SEJ Lanjut
|
|
nilai_sej_lanjut_sem1 DOUBLE PRECISION,
|
|
nilai_sej_lanjut_sem2 DOUBLE PRECISION,
|
|
nilai_sej_lanjut DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Sosiologi
|
|
nilai_sosiologi_sem1 DOUBLE PRECISION,
|
|
nilai_sosiologi_sem2 DOUBLE PRECISION,
|
|
nilai_sosiologi DOUBLE PRECISION NOT NULL,
|
|
-- Kolom Semester 1, 2, dan Rata-rata untuk Geografi
|
|
nilai_geografi_sem1 DOUBLE PRECISION,
|
|
nilai_geografi_sem2 DOUBLE PRECISION,
|
|
nilai_geografi DOUBLE PRECISION NOT NULL,
|
|
paket_prediksi INTEGER NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_hasil_prediksi_nama ON hasil_prediksi (nama_siswa);
|
|
CREATE INDEX IF NOT EXISTS idx_hasil_prediksi_paket ON hasil_prediksi (paket_prediksi);
|