E41222753_NinikYuniarsih_Ju.../db/schema.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);