| 1 | -- ============================================================
|
|---|
| 2 | -- IKnow / FINKI - DML script (PostgreSQL)
|
|---|
| 3 | -- Fills all tables with sample data
|
|---|
| 4 | -- ============================================================
|
|---|
| 5 |
|
|---|
| 6 | -- ---------- users ----------
|
|---|
| 7 | -- students
|
|---|
| 8 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role) VALUES
|
|---|
| 9 | (1, 'Stefan', '0101999450001', 'Saveski', '233149', '1999-01-01', 'stefan.saveski@students.finki.ukim.mk', 'hash_pw_1', 'student'),
|
|---|
| 10 | (2, 'Boris', '0202999450002', 'Gjorgjievski','233188', '1999-02-02', 'boris.gjorgjievski@students.finki.ukim.mk','hash_pw_2', 'student'),
|
|---|
| 11 | (3, 'Ana', '0303000450003', 'Petrova', '233200', '2000-03-03', 'ana.petrova@students.finki.ukim.mk', 'hash_pw_3', 'student');
|
|---|
| 12 | -- professors
|
|---|
| 13 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role) VALUES
|
|---|
| 14 | (4, 'Vangel', '0404198045004', 'Ajanovski', NULL, '1980-04-04', 'vangel.ajanovski@finki.ukim.mk', 'hash_pw_4', 'prof'),
|
|---|
| 15 | (5, 'Marija', '0505198545005', 'Ilievska', NULL, '1985-05-05', 'marija.ilievska@finki.ukim.mk', 'hash_pw_5', 'prof');
|
|---|
| 16 | -- admin
|
|---|
| 17 | INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role) VALUES
|
|---|
| 18 | (6, 'Igor', '0606197545006', 'Adminovski', NULL, '1975-06-06', 'igor.adminovski@finki.ukim.mk', 'hash_pw_6', 'admin');
|
|---|
| 19 |
|
|---|
| 20 | -- ---------- high_school ----------
|
|---|
| 21 | INSERT INTO high_school (user_id, gpa, type) VALUES
|
|---|
| 22 | (1, 4.85, 'gimnazija'),
|
|---|
| 23 | (2, 4.60, 'strucen'),
|
|---|
| 24 | (3, 4.95, 'gimnazija');
|
|---|
| 25 |
|
|---|
| 26 | -- ---------- contact ----------
|
|---|
| 27 | INSERT INTO contact (user_id, city, municipality, address, number, microsoft_email) VALUES
|
|---|
| 28 | (1, 'Skopje', 'Centar', 'Bul. Partizanski Odredi 15', '070111111', 'stefan.saveski@live.finki.ukim.mk'),
|
|---|
| 29 | (2, 'Skopje', 'Karpos', 'Ul. Ivan Milutinovic 22', '071222222', 'boris.gjorgjievski@live.finki.ukim.mk'),
|
|---|
| 30 | (3, 'Tetovo', 'Tetovo', 'Ul. Ilindenska 5', '072333333', NULL);
|
|---|
| 31 |
|
|---|
| 32 | -- ---------- major ----------
|
|---|
| 33 | INSERT INTO major (id, name) VALUES
|
|---|
| 34 | (1, 'Software Engineering and Information Systems'),
|
|---|
| 35 | (2, 'Computer Science and Engineering');
|
|---|
| 36 |
|
|---|
| 37 | -- ---------- active_semesters ----------
|
|---|
| 38 | INSERT INTO active_semesters (id, year_, type) VALUES
|
|---|
| 39 | (1, 2024, 'winter'),
|
|---|
| 40 | (2, 2025, 'summer'),
|
|---|
| 41 | (3, 2025, 'winter');
|
|---|
| 42 |
|
|---|
| 43 | -- ---------- subjects ----------
|
|---|
| 44 | INSERT INTO subjects (id, name, code, awarded_credits, dependency_credit) VALUES
|
|---|
| 45 | (1, 'Structured Programming', 'F18L1S001', 6, 0),
|
|---|
| 46 | (2, 'Object Oriented Programming', 'F18L1S002', 6, 6),
|
|---|
| 47 | (3, 'Databases', 'F18L2S010', 6, 6),
|
|---|
| 48 | (4, 'Operating Systems', 'F18L2S011', 6, 0),
|
|---|
| 49 | (5, 'Web Programming', 'F18L3S020', 6, 12);
|
|---|
| 50 |
|
|---|
| 51 | -- ---------- enrolled_semesters ----------
|
|---|
| 52 | INSERT INTO enrolled_semesters (id, user_id, quota, major_id, note_, student_comment, last_change, completed, semester_id) VALUES
|
|---|
| 53 | (1, 1, 'drzavna', 1, NULL, 'prva godina', '2024-10-01 10:00:00', '2025-02-01 12:00:00', 1),
|
|---|
| 54 | (2, 1, 'drzavna', 1, NULL, NULL, '2025-03-01 10:00:00', NULL, 2),
|
|---|
| 55 | (3, 2, 'privatna', 1, NULL, NULL, '2024-10-05 09:30:00', '2025-02-03 11:00:00', 1),
|
|---|
| 56 | (4, 3, 'drzavna', 2, NULL, NULL, '2024-10-02 08:15:00', NULL, 1);
|
|---|
| 57 |
|
|---|
| 58 | -- ---------- semesters_subjects ----------
|
|---|
| 59 | INSERT INTO semesters_subjects (id, user_id, enrolled_semesters_id, subjects_id, professor_id, signature) VALUES
|
|---|
| 60 | (1, 1, 1, 1, 4, TRUE),
|
|---|
| 61 | (2, 1, 1, 4, 5, TRUE),
|
|---|
| 62 | (3, 1, 2, 2, 4, FALSE),
|
|---|
| 63 | (4, 2, 3, 1, 4, TRUE),
|
|---|
| 64 | (5, 3, 4, 1, 4, TRUE),
|
|---|
| 65 | (6, 3, 4, 3, 5, FALSE);
|
|---|
| 66 |
|
|---|
| 67 | -- ---------- passed_subjects ----------
|
|---|
| 68 | INSERT INTO passed_subjects (passed_id, enrolled_id, grade, date_passed) VALUES
|
|---|
| 69 | (1, 1, '10', '2025-01-25 14:00:00'),
|
|---|
| 70 | (2, 2, '8', '2025-01-30 11:30:00'),
|
|---|
| 71 | (3, 4, '9', '2025-01-28 09:45:00'),
|
|---|
| 72 | (4, 5, '7', '2025-01-29 13:15:00');
|
|---|
| 73 |
|
|---|
| 74 | -- ---------- documents ----------
|
|---|
| 75 | INSERT INTO documents (id, type, body, cost) VALUES
|
|---|
| 76 | (1, 'Uverenie za polozeni ispiti', 'Sodrzina na uverenie za polozeni ispiti...', 100),
|
|---|
| 77 | (2, 'Potvrda za redoven student', 'Sodrzina na potvrda za redoven student...', 50),
|
|---|
| 78 | (3, 'Diploma', 'Sodrzina na diploma...', 500);
|
|---|
| 79 |
|
|---|
| 80 | -- ---------- user_documents ----------
|
|---|
| 81 | INSERT INTO user_documents (user_id, document_id) VALUES
|
|---|
| 82 | (1, 1),
|
|---|
| 83 | (1, 2),
|
|---|
| 84 | (2, 2),
|
|---|
| 85 | (3, 1);
|
|---|
| 86 |
|
|---|
| 87 | -- ---------- token ----------
|
|---|
| 88 | INSERT INTO token (id, user_id, token, expires_at, is_valid) VALUES
|
|---|
| 89 | (1, 1, 'tok_abc123_stefan', '2026-08-01 00:00:00', TRUE),
|
|---|
| 90 | (2, 2, 'tok_def456_boris', '2026-08-01 00:00:00', TRUE),
|
|---|
| 91 | (3, 1, 'tok_old789_stefan', '2026-01-01 00:00:00', FALSE);
|
|---|
| 92 |
|
|---|
| 93 | -- ---------- payment ----------
|
|---|
| 94 | INSERT INTO payment (id, user_id, enrollment_id, amount, ukim) VALUES
|
|---|
| 95 | (1, 1, 1, 200, 200),
|
|---|
| 96 | (2, 1, 2, 200, 200),
|
|---|
| 97 | (3, 2, 3, 400, 200),
|
|---|
| 98 | (4, 3, 4, 200, 200);
|
|---|
| 99 |
|
|---|
| 100 | -- ---------- enrollment_info ----------
|
|---|
| 101 | INSERT INTO enrollment_info (id, user_id, quota, major_id, enrollment_year) VALUES
|
|---|
| 102 | (1, 1, 'drzavna', 1, 2023),
|
|---|
| 103 | (2, 2, 'privatna', 1, 2023),
|
|---|
| 104 | (3, 3, 'drzavna', 2, 2023);
|
|---|
| 105 |
|
|---|
| 106 | -- ---------- major_subjects ----------
|
|---|
| 107 | INSERT INTO major_subjects (major_id, subject_id, manditory_semester, akreditacija) VALUES
|
|---|
| 108 | (1, 1, 1, 2018),
|
|---|
| 109 | (1, 2, 2, 2018),
|
|---|
| 110 | (1, 3, 3, 2018),
|
|---|
| 111 | (1, 5, 4, 2018),
|
|---|
| 112 | (2, 1, 1, 2018),
|
|---|
| 113 | (2, 3, 3, 2018),
|
|---|
| 114 | (2, 4, 3, 2018);
|
|---|
| 115 |
|
|---|
| 116 | -- ---------- dependency_subject ----------
|
|---|
| 117 | -- OOP depends on Structured Programming; Web depends on OOP; Databases depends on Structured Programming
|
|---|
| 118 | INSERT INTO dependency_subject (subject_id, dependency_id) VALUES
|
|---|
| 119 | (2, 1),
|
|---|
| 120 | (5, 2),
|
|---|
| 121 | (3, 1);
|
|---|
| 122 |
|
|---|
| 123 | -- ---------- professour_subjects ----------
|
|---|
| 124 | INSERT INTO professour_subjects (prof_id, active_semester_id, subject_id) VALUES
|
|---|
| 125 | (4, 1, 1),
|
|---|
| 126 | (4, 2, 2),
|
|---|
| 127 | (5, 1, 4),
|
|---|
| 128 | (5, 3, 3),
|
|---|
| 129 | (4, 3, 5);
|
|---|