
-- Create table for Admin
CREATE TABLE admin (
    admin_id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    email VARCHAR(100),
    password VARCHAR(100)
);

-- Create table for Guru
CREATE TABLE guru (
    guru_id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    email VARCHAR(100),
    kelas_id INT,
    mapel_id INT,
    FOREIGN KEY (kelas_id) REFERENCES kelas(kelas_id),
    FOREIGN KEY (mapel_id) REFERENCES mapel(mapel_id)
);

-- Create table for Siswa
CREATE TABLE siswa (
    siswa_id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    kelas_id INT,
    FOREIGN KEY (kelas_id) REFERENCES kelas(kelas_id)
);

-- Create table for Kelas
CREATE TABLE kelas (
    kelas_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_kelas VARCHAR(100)
);

-- Create table for Mata Pelajaran (Mapel)
CREATE TABLE mapel (
    mapel_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_mapel VARCHAR(100)
);

-- Create table for Nilai
CREATE TABLE nilai (
    nilai_id INT AUTO_INCREMENT PRIMARY KEY,
    siswa_id INT,
    mapel_id INT,
    nilai DECIMAL(5,2),
    tujuan_id INT,
    FOREIGN KEY (siswa_id) REFERENCES siswa(siswa_id),
    FOREIGN KEY (mapel_id) REFERENCES mapel(mapel_id),
    FOREIGN KEY (tujuan_id) REFERENCES tujuan_pembelajaran(tujuan_id)
);

-- Create table for Tujuan Pembelajaran
CREATE TABLE tujuan_pembelajaran (
    tujuan_id INT AUTO_INCREMENT PRIMARY KEY,
    deskripsi VARCHAR(255)
);

-- Create table for Wali Kelas
CREATE TABLE wali_kelas (
    wali_kelas_id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    kelas_id INT,
    FOREIGN KEY (kelas_id) REFERENCES kelas(kelas_id)
);

-- Create table for Semester
CREATE TABLE semester (
    semester_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_semester VARCHAR(50),
    tahun_ajaran VARCHAR(50)
);

-- Create table for Lokasi PKL
CREATE TABLE lokasi_pkl (
    lokasi_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_lokasi VARCHAR(100)
);

-- Create table for Pembimbing PKL
CREATE TABLE pembimbing_pkl (
    pembimbing_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_pembimbing VARCHAR(100),
    lokasi_id INT,
    FOREIGN KEY (lokasi_id) REFERENCES lokasi_pkl(lokasi_id)
);

-- Create table for Instruktur PKL
CREATE TABLE instruktur_pkl (
    instruktur_id INT AUTO_INCREMENT PRIMARY KEY,
    nama_instruktur VARCHAR(100),
    pembimbing_id INT,
    FOREIGN KEY (pembimbing_id) REFERENCES pembimbing_pkl(pembimbing_id)
);
