source: sql/data_load.sql@ 1b20b22

Last change on this file since 1b20b22 was 1b20b22, checked in by Stefan-Saveski <stefansaveski19@…>, 8 days ago
  • ready for presentation
  • Property mode set to 100644
File size: 8.2 KB
Line 
1SET search_path TO project;
2
3TRUNCATE TABLE
4 professour_subjects,
5 dependency_subject,
6 major_subjects,
7 payment,
8 token,
9 user_documents,
10 documents,
11 passed_subjects,
12 semesters_subjects,
13 enrolled_semesters,
14 subjects,
15 active_semesters,
16 major,
17 contact,
18 high_school,
19 users
20RESTART IDENTITY CASCADE;
21
22INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
23(1, 'Stefan', '0101999450001', 'Saveski', '233149', '1999-01-01', 'stefan.saveski@students.finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'drzavna', 2023),
24(2, 'Boris', '0202999450002', 'Gjorgjievski','233188', '1999-02-02', 'boris.gjorgjievski@students.finki.ukim.mk','$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'privatna', 2023),
25(3, 'Ana', '0303000450003', 'Petrova', '233200', '2000-03-03', 'ana.petrova@students.finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'student', 'drzavna', 2023);
26
27INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
28(4, 'Vangel', '0404198045004', 'Ajanovski', NULL, '1980-04-04', 'vangel.ajanovski@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL),
29(5, 'Marija', '0505198545005', 'Ilievska', NULL, '1985-05-05', 'marija.ilievska@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL);
30
31INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
32(6, 'Igor', '0606197545006', 'Adminovski', NULL, '1975-06-06', 'igor.adminovski@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'admin', NULL, NULL);
33
34INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, quota, enrollment_year) VALUES
35(7, 'Riste', '0707197845007', 'Stojanov', NULL, '1978-07-07', 'riste.stojanov@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL),
36(8, 'Katerina','0808198245008', 'Zdravkova', NULL, '1982-08-08', 'katerina.zdravkova@finki.ukim.mk', '$2a$11$S9QIoRlV/rmkif7CKBjryuHwfLo1wTsXckX9oTduqrdyNWInCqR0S', 'prof', NULL, NULL);
37
38INSERT INTO high_school (id, user_id, gpa, type) VALUES
39(1, 1, 4.85, 'gimnazija'),
40(2, 2, 4.60, 'strucen'),
41(3, 3, 4.95, 'gimnazija');
42
43INSERT INTO contact (id, user_id, city, municipality, address, number, microsoft_email) VALUES
44(1, 1, 'Skopje', 'Centar', 'Bul. Partizanski Odredi 15', '070111111', 'stefan.saveski@live.finki.ukim.mk'),
45(2, 2, 'Skopje', 'Karpos', 'Ul. Ivan Milutinovic 22', '071222222', 'boris.gjorgjievski@live.finki.ukim.mk'),
46(3, 3, 'Tetovo', 'Tetovo', 'Ul. Ilindenska 5', '072333333', NULL);
47
48INSERT INTO major (id, name) VALUES
49(1, 'Software Engineering and Information Systems'),
50(2, 'Computer Science and Engineering');
51
52INSERT INTO active_semesters (id, year, type) VALUES
53(1, 2024, 'winter'),
54(2, 2025, 'summer'),
55(3, 2025, 'winter'),
56(4, 2026, 'summer'),
57(5, 2026, 'winter');
58
59INSERT INTO subjects (id, name, code, awarded_credits, dependency_credit) VALUES
60(1, 'Structured Programming', 'F18L1S001', 6, 0),
61(2, 'Object Oriented Programming', 'F18L1S002', 6, 6),
62(3, 'Databases', 'F18L2S010', 6, 6),
63(4, 'Operating Systems', 'F18L2S011', 6, 0),
64(5, 'Web Programming', 'F18L3S020', 6, 12),
65(6, 'Algorithms and Data Structures', 'F18L2S012', 6, 6),
66(7, 'Computer Networks', 'F18L2S013', 6, 6),
67(8, 'Software Engineering', 'F18L3S021', 6, 12),
68(9, 'Discrete Mathematics', 'F18L1S003', 6, 0),
69(10, 'Calculus', 'F18L1S004', 6, 0),
70(11, 'Linear Algebra', 'F18L1S005', 6, 0),
71(12, 'Computer Architecture', 'F18L1S006', 6, 0),
72(13, 'Artificial Intelligence', 'F18L3S022', 6, 12),
73(14, 'Machine Learning', 'F18L4S030', 6, 18),
74(15, 'Information Security', 'F18L3S023', 6, 12),
75(16, 'Mobile Platforms', 'F18L3S024', 6, 12),
76(17, 'Distributed Systems', 'F18L4S031', 6, 18),
77(18, 'Human-Computer Interaction', 'F18L2S014', 6, 6),
78(19, 'Probability and Statistics', 'F18L2S015', 6, 6),
79(20, 'Compiler Design', 'F18L4S032', 6, 18);
80
81INSERT INTO enrolled_semesters (id, user_id, quota, major_id, note, student_comment, last_change, completed, semester_id) VALUES
82(1, 1, 'drzavna', 1, NULL, 'prva godina', '2024-10-01 10:00:00', '2025-02-01 12:00:00', 1),
83(2, 1, 'drzavna', 1, NULL, NULL, '2025-03-01 10:00:00', NULL, 2),
84(3, 2, 'privatna', 1, NULL, NULL, '2024-10-05 09:30:00', '2025-02-03 11:00:00', 1),
85(4, 3, 'drzavna', 2, NULL, NULL, '2024-10-02 08:15:00', NULL, 1);
86
87INSERT INTO semesters_subjects (id, enrolled_semesters_id, subjects_id, professor_id, signature) VALUES
88(1, 1, 1, 4, TRUE),
89(2, 1, 4, 5, TRUE),
90(3, 2, 2, 4, FALSE),
91(4, 3, 1, 4, TRUE),
92(5, 4, 1, 4, TRUE),
93(6, 4, 3, 5, FALSE);
94
95INSERT INTO passed_subjects (id, enrolled_id, grade, date_passed) VALUES
96(1, 1, '10', '2025-01-25 14:00:00'),
97(2, 2, '8', '2025-01-30 11:30:00'),
98(3, 4, '9', '2025-01-28 09:45:00'),
99(4, 5, '7', '2025-01-29 13:15:00');
100
101INSERT INTO documents (id, type, body, cost) VALUES
102(1, 'Uverenie za polozeni ispiti', 'Sodrzina na uverenie za polozeni ispiti...', 100),
103(2, 'Potvrda za redoven student', 'Sodrzina na potvrda za redoven student...', 50),
104(3, 'Diploma', 'Sodrzina na diploma...', 500);
105
106INSERT INTO user_documents (user_id, document_id) VALUES
107(1, 1),
108(1, 2),
109(2, 2),
110(3, 1);
111
112INSERT INTO token (id, user_id, token, expires_at, is_valid) VALUES
113(1, 1, 'tok_abc123_stefan', '2026-08-01 00:00:00', TRUE),
114(2, 2, 'tok_def456_boris', '2026-08-01 00:00:00', TRUE),
115(3, 1, 'tok_old789_stefan', '2026-01-01 00:00:00', FALSE);
116
117INSERT INTO payment (id, user_id, enrollment_id, amount) VALUES
118(1, 1, 1, 200),
119(2, 1, 2, 200),
120(3, 2, 3, 400),
121(4, 3, 4, 200);
122
123INSERT INTO major_subjects (major_id, subject_id, mandatory_semester) VALUES
124(1, 1, 1), (1, 9, 1), (1, 10, 1), (1, 11, 1), (1, 12, 1),
125(1, 2, 2), (1, 6, 2), (1, 18, 2), (1, 19, 2),
126(1, 3, 3), (1, 4, 3), (1, 7, 3),
127(1, 5, 4), (1, 8, 4), (1, 13, 4), (1, 15, 4), (1, 16, 4),
128(1, 14, 5), (1, 17, 5),
129(2, 1, 1), (2, 9, 1), (2, 10, 1), (2, 11, 1), (2, 12, 1),
130(2, 2, 2), (2, 6, 2), (2, 19, 2),
131(2, 3, 3), (2, 4, 3), (2, 7, 3), (2, 18, 3),
132(2, 5, 4), (2, 13, 4), (2, 15, 4),
133(2, 14, 5), (2, 17, 5), (2, 20, 5);
134
135INSERT INTO dependency_subject (subject_id, dependency_id) VALUES
136(2, 1),
137(5, 2),
138(3, 1);
139
140INSERT INTO professour_subjects (prof_id, active_semester_id, subject_id)
141SELECT teacher.id, sem.id, subj.id
142FROM subjects subj
143CROSS JOIN active_semesters sem
144CROSS JOIN LATERAL (
145 SELECT u.id
146 FROM users u
147 WHERE u.role = 'prof'
148 ORDER BY u.id
149 OFFSET subj.id % (SELECT count(*) FROM users WHERE role = 'prof')
150 LIMIT 1
151) AS teacher;
152
153SELECT setval(pg_get_serial_sequence('users', 'id'), (SELECT max(id) FROM users));
154SELECT setval(pg_get_serial_sequence('high_school', 'id'), (SELECT max(id) FROM high_school));
155SELECT setval(pg_get_serial_sequence('contact', 'id'), (SELECT max(id) FROM contact));
156SELECT setval(pg_get_serial_sequence('major', 'id'), (SELECT max(id) FROM major));
157SELECT setval(pg_get_serial_sequence('active_semesters', 'id'), (SELECT max(id) FROM active_semesters));
158SELECT setval(pg_get_serial_sequence('subjects', 'id'), (SELECT max(id) FROM subjects));
159SELECT setval(pg_get_serial_sequence('enrolled_semesters', 'id'), (SELECT max(id) FROM enrolled_semesters));
160SELECT setval(pg_get_serial_sequence('semesters_subjects', 'id'), (SELECT max(id) FROM semesters_subjects));
161SELECT setval(pg_get_serial_sequence('passed_subjects', 'id'), (SELECT max(id) FROM passed_subjects));
162SELECT setval(pg_get_serial_sequence('documents', 'id'), (SELECT max(id) FROM documents));
163SELECT setval(pg_get_serial_sequence('token', 'id'), (SELECT max(id) FROM token));
164SELECT setval(pg_get_serial_sequence('payment', 'id'), (SELECT max(id) FROM payment));
Note: See TracBrowser for help on using the repository browser.