Ph2: dml.sql

File dml.sql, 5.5 KB (added by 233149, 6 days ago)
Line 
1-- ============================================================
2-- IKnow / FINKI - DML script (PostgreSQL)
3-- Fills all tables with sample data
4-- ============================================================
5
6-- ---------- users ----------
7-- students
8INSERT 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
13INSERT 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
17INSERT 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 ----------
21INSERT 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 ----------
27INSERT 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 ----------
33INSERT INTO major (id, name) VALUES
34(1, 'Software Engineering and Information Systems'),
35(2, 'Computer Science and Engineering');
36
37-- ---------- active_semesters ----------
38INSERT INTO active_semesters (id, year_, type) VALUES
39(1, 2024, 'winter'),
40(2, 2025, 'summer'),
41(3, 2025, 'winter');
42
43-- ---------- subjects ----------
44INSERT 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 ----------
52INSERT 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 ----------
59INSERT 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 ----------
68INSERT 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 ----------
75INSERT 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 ----------
81INSERT INTO user_documents (user_id, document_id) VALUES
82(1, 1),
83(1, 2),
84(2, 2),
85(3, 1);
86
87-- ---------- token ----------
88INSERT 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 ----------
94INSERT 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 ----------
101INSERT 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 ----------
107INSERT 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
118INSERT INTO dependency_subject (subject_id, dependency_id) VALUES
119(2, 1),
120(5, 2),
121(3, 1);
122
123-- ---------- professour_subjects ----------
124INSERT 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);