RelationalDesign: data_load.sql

File data_load.sql, 3.0 KB (added by 223091, 2 days ago)
Line 
1SET search_path TO project;
2
3TRUNCATE TABLE
4 approvals,
5 reservation_equipment,
6 reservations,
7 room_equipment,
8 equipment,
9 rooms,
10 users,
11 buildings
12RESTART IDENTITY CASCADE;
13
14INSERT INTO buildings (building_id, name, address) VALUES
15(1, 'Main Faculty Building', 'Rugjer Boshkovikj 16, Skopje'),
16(2, 'Laboratory Building', 'Rugjer Boshkovikj 16A, Skopje'),
17(3, 'Administration Building', 'Rugjer Boshkovikj 18, Skopje');
18
19INSERT INTO rooms (room_id, building_id, room_code, capacity, type) VALUES
20(1, 1, 'B1-101', 60, 'classroom'),
21(2, 1, 'B1-204', 35, 'meeting_room'),
22(3, 2, 'LAB-1', 25, 'lab'),
23(4, 2, 'LAB-2', 20, 'lab'),
24(5, 3, 'ADM-12', 10, 'office');
25
26INSERT INTO equipment (equipment_id, name, stock_quantity) VALUES
27(1, 'Projector', 3),
28(2, 'Whiteboard', 0),
29(3, 'Microphone', 5),
30(4, 'Computer Workstation', 0),
31(5, 'Video Conference Camera', 2),
32(6, 'HDMI Cable', 12),
33(7, 'Extension Cable', 8);
34
35INSERT INTO room_equipment (room_id, equipment_id, quantity) VALUES
36(1, 1, 1),
37(1, 2, 1),
38(2, 2, 1),
39(2, 3, 2),
40(2, 5, 1),
41(3, 1, 1),
42(3, 2, 1),
43(3, 4, 15),
44(4, 2, 1),
45(4, 4, 12),
46(5, 2, 1);
47
48INSERT INTO users (user_id, username, email, full_name, role) VALUES
49(1, 'nikola', 'nikola.sarafimov@example.com', 'Nikola Sarafimov', 'regular'),
50(2, 'admin', 'admin.room@example.com', 'System Administrator', 'admin'),
51(3, 'approver1', 'approver1.room@example.com', 'Reservation Approver One', 'approver'),
52(4, 'professor1', 'professor1@example.com', 'Professor User', 'regular'),
53(5, 'assistant1', 'assistant1@example.com', 'Teaching Assistant User', 'regular');
54
55INSERT INTO reservations (
56 reservation_id,
57 room_id,
58 user_id,
59 reservation_date,
60 start_time,
61 end_time,
62 status
63) VALUES
64(1, 1, 1, DATE '2026-02-10', TIME '10:00', TIME '12:00', 'pending'),
65(2, 2, 4, DATE '2026-02-10', TIME '13:00', TIME '14:30', 'approved'),
66(3, 3, 5, DATE '2026-02-11', TIME '09:00', TIME '11:00', 'approved'),
67(4, 4, 1, DATE '2026-02-12', TIME '12:00', TIME '13:00', 'cancelled'),
68(5, NULL, 4, DATE '2026-02-13', TIME '15:00', TIME '16:00', 'rejected'),
69(6, 1, 5, DATE '2026-02-14', TIME '08:00', TIME '10:00', 'approved'),
70(7, NULL, 1, DATE '2026-02-14', TIME '11:00', TIME '12:00', 'pending');
71
72INSERT INTO reservation_equipment (
73 reservation_id,
74 equipment_id,
75 requested_quantity
76) VALUES
77(1, 6, 2),
78(1, 7, 1),
79(2, 5, 1),
80(3, 3, 1),
81(5, 1, 1),
82(5, 6, 2),
83(6, 3, 2),
84(7, 6, 3),
85(7, 7, 2);
86
87INSERT INTO approvals (
88 approval_id,
89 reservation_id,
90 approver_id,
91 decision,
92 decision_time,
93 note
94) VALUES
95(1, 2, 3, 'approved', TIMESTAMP '2026-02-09 15:30:00', 'Approved for department meeting.'),
96(2, 3, 3, 'approved', TIMESTAMP '2026-02-10 12:15:00', 'Approved for laboratory exercise.'),
97(3, 5, 2, 'rejected', TIMESTAMP '2026-02-12 10:00:00', 'Rejected because the requested portable projector is not available.'),
98(4, 6, 2, 'approved', TIMESTAMP '2026-02-13 09:45:00', 'Approved for morning lecture with additional microphones.');