source: db-scripts/dml.sql@ c4c43f3

Last change on this file since c4c43f3 was c4c43f3, checked in by Andrej <asumanovski@…>, 3 months ago

Normalization of the database

  • Property mode set to 100644
File size: 13.0 KB
Line 
1SET search_path TO trekr;
2
3INSERT INTO USERS (user_id, email, username, password) VALUES
4(1, 'dimitar@example.com', 'dimitar_arsov', '$2a$10$examplehash1'),
5(2, 'filip@example.com', 'filip_gavrilovski', '$2a$10$examplehash2'),
6(3, 'marko@example.com', 'marko_markovski', '$2a$10$examplehash3'),
7(4, 'andrej.shumanovski@gmail.com', 'andrej_shumanovski', '1234'),
8(5, 'angelovski.mario222@gmail.com', 'angelovski_mario', '1234'),
9(6, 'ana@example.com', 'ana_ilievska', '$2a$10$examplehash6'),
10(7, 'petar@example.com', 'petar_stojanov', '$2a$10$examplehash7'),
11(8, 'elena@example.com', 'elena_ristova', '$2a$10$examplehash8'),
12(9, 'stefan@example.com', 'stefan_nikolov', '$2a$10$examplehash9'),
13(10, 'ivana@example.com', 'ivana_karapandzova', '$2a$10$examplehash10'),
14(11, 'nikola@example.com', 'nikola_ivanov', '1234'),
15(12, 'marija@example.com', 'marija_petrova', '1234'),
16(13, 'viktor@example.com', 'viktor_stojkov', '1234'),
17(14, 'katerina@example.com', 'katerina_ristevska', '1234'),
18(15, 'jovan@example.com', 'jovan_mitev', '1234'),
19(16, 'teodora@example.com', 'teodora_angelova', '1234'),
20(17, 'bojan@example.com', 'bojan_popov', '1234'),
21(18, 'sara@example.com', 'sara_karovska', '1234'),
22(19, 'aleksandar@example.com', 'aleksandar_dimitrov', '1234'),
23(20, 'milena@example.com', 'milena_stefanovska', '1234'),
24(21, 'goran@example.com', 'goran_iliev', '1234'),
25(22, 'kristina@example.com', 'kristina_georgieva', '1234'),
26(23, 'martin@example.com', 'martin_danev', '1234'),
27(24, 'ema@example.com', 'ema_spasovska', '1234'),
28(25, 'daniel@example.com', 'daniel_nikolov', '1234'),
29(26, 'irena@example.com', 'irena_jovanovska', '1234'),
30(27, 'stojan@example.com', 'stojan_tasev', '1234'),
31(28, 'vanja@example.com', 'vanja_trajkovska', '1234'),
32(29, 'petra@example.com', 'petra_kostova', '1234'),
33(30, 'vlado@example.com', 'vlado_ilievski', '1234');
34
35SELECT setval(
36 pg_get_serial_sequence('trekr.users', 'user_id'),
37 (SELECT COALESCE(MAX(user_id), 0) FROM trekr.users)
38);
39
40INSERT INTO FINANCE_USERS (user_id, spending_budget, saving_budget, investing_budget, donation_budget, credit) VALUES
41(1, 500, 200, 300, 50, 1000),
42(2, 600, 250, 200, 30, 500),
43(3, 400, 150, 250, 20, 0),
44(4, 1000, 500, 500, 100, 2000),
45(5, 700, 300, 200, 40, 800),
46(6, 450, 150, 150, 20, 200),
47(7, 900, 350, 250, 60, 1200),
48(8, 550, 200, 300, 25, 0),
49(9, 800, 300, 400, 50, 1500),
50(10, 650, 250, 200, 30, 400),
51(11, 750, 250, 200, 25, 600),
52(12, 520, 220, 180, 15, 300),
53(13, 900, 400, 350, 40, 1500),
54(14, 480, 180, 120, 10, 200),
55(15, 1100, 500, 450, 70, 2500),
56(16, 650, 250, 200, 20, 400),
57(17, 700, 260, 240, 25, 850),
58(18, 560, 210, 160, 15, 150),
59(19, 980, 420, 380, 55, 1800),
60(20, 600, 230, 220, 20, 500),
61(21, 430, 160, 120, 10, 0),
62(22, 820, 330, 260, 35, 1100),
63(23, 740, 290, 240, 30, 700),
64(24, 500, 200, 150, 15, 250),
65(25, 1200, 550, 500, 80, 3000);
66
67INSERT INTO INCOMES (income_id, user_id, date, amount) VALUES
68(1, 1, '2026-01-01', 2000),
69(2, 2, '2026-01-03', 1800),
70(3, 3, '2026-01-05', 2200),
71(4, 4, '2026-01-07', 5000),
72(5, 5, '2026-01-08', 3200),
73(6, 6, '2026-01-10', 1600),
74(7, 7, '2026-01-12', 4100),
75(8, 8, '2026-01-14', 2300),
76(9, 9, '2026-01-16', 3700),
77(10, 10, '2026-01-18', 1900),
78(11, 11, '2026-02-01', 2600),
79(12, 11, '2026-03-01', 2600),
80(13, 12, '2026-02-03', 2100),
81(14, 12, '2026-03-03', 2150),
82(15, 13, '2026-02-05', 3300),
83(16, 13, '2026-03-05', 3400),
84(17, 14, '2026-02-07', 1900),
85(18, 14, '2026-03-07', 1950),
86(19, 15, '2026-02-09', 5200),
87(20, 15, '2026-03-09', 5200),
88(21, 16, '2026-02-11', 2400),
89(22, 16, '2026-03-11', 2450),
90(23, 17, '2026-02-13', 2700),
91(24, 17, '2026-03-13', 2750),
92(25, 18, '2026-02-15', 2200),
93(26, 18, '2026-03-15', 2250),
94(27, 19, '2026-02-17', 4100),
95(28, 19, '2026-03-17', 4150),
96(29, 20, '2026-02-19', 2500),
97(30, 20, '2026-03-19', 2550),
98(31, 21, '2026-02-21', 1600),
99(32, 22, '2026-02-23', 2900),
100(33, 22, '2026-03-23', 2950),
101(34, 23, '2026-02-25', 2750),
102(35, 23, '2026-03-25', 2800),
103(36, 24, '2026-02-27', 2050),
104(37, 24, '2026-03-27', 2100),
105(38, 25, '2026-02-28', 6000),
106(39, 25, '2026-03-28', 6050);
107
108SELECT setval(
109 pg_get_serial_sequence('trekr.incomes', 'income_id'),
110 (SELECT COALESCE(MAX(income_id), 0) FROM trekr.incomes)
111);
112
113INSERT INTO TRAINING_USERS (user_id, gender, age, weight) VALUES
114(1, 'Male', 21, 73),
115(2, 'Male', 23, 80),
116(3, 'Male', 22, 78),
117(4, 'Female', 25, 65),
118(5, 'Male', 24, 86),
119(6, 'Female', 22, 58),
120(7, 'Male', 28, 92),
121(8, 'Female', 26, 70),
122(9, 'Male', 30, 83),
123(10, 'Female', 21, 62),
124(11, 'Male', 27, 82),
125(12, 'Female', 24, 61),
126(13, 'Male', 29, 90),
127(14, 'Female', 23, 57),
128(15, 'Male', 31, 88),
129(16, 'Female', 28, 66),
130(17, 'Male', 26, 76),
131(18, 'Female', 22, 55),
132(19, 'Male', 33, 94),
133(20, 'Female', 30, 69);
134
135INSERT INTO WEIGHT_USERS (user_id, weight, height, goal_weight, goal_calories) VALUES
136(1, 73, 181, 70, 2500),
137(2, 80, 185, 75, 2600),
138(3, 78, 180, 74, 2400),
139(4, 65, 170, 60, 2000),
140(5, 86, 188, 80, 2800),
141(6, 58, 165, 55, 1900),
142(7, 92, 190, 85, 3000),
143(8, 70, 172, 66, 2100),
144(9, 83, 179, 78, 2500),
145(10, 62, 168, 58, 2000),
146(11, 82, 183, 78, 2600),
147(12, 61, 169, 58, 2000),
148(13, 90, 191, 85, 2900),
149(14, 57, 164, 55, 1900),
150(15, 88, 186, 82, 2800),
151(16, 66, 172, 62, 2100),
152(17, 76, 179, 72, 2500),
153(18, 55, 162, 53, 1850),
154(19, 94, 193, 88, 3100),
155(20, 69, 173, 65, 2200);
156
157INSERT INTO DAILY_INTAKES (daily_intake_id, user_id, calories, date) VALUES
158(1, 1, 2400, '2026-02-01'),
159(2, 2, 2500, '2026-02-01'),
160(3, 3, 2300, '2026-02-01'),
161(4, 4, 2100, '2026-02-02'),
162(5, 5, 2750, '2026-02-02'),
163(6, 6, 1850, '2026-02-02'),
164(7, 7, 2950, '2026-02-03'),
165(8, 8, 2050, '2026-02-03'),
166(9, 9, 2450, '2026-02-03'),
167(10, 10, 1950, '2026-02-04'),
168(11, 11, 2550, '2026-02-05'),
169(12, 11, 2450, '2026-02-06'),
170(13, 12, 1980, '2026-02-05'),
171(14, 12, 2050, '2026-02-06'),
172(15, 13, 2850, '2026-02-06'),
173(16, 13, 2950, '2026-02-07'),
174(17, 14, 1850, '2026-02-06'),
175(18, 14, 1900, '2026-02-07'),
176(19, 15, 2700, '2026-02-07'),
177(20, 15, 2750, '2026-02-08'),
178(21, 16, 2150, '2026-02-07'),
179(22, 16, 2250, '2026-02-08'),
180(23, 17, 2400, '2026-02-08'),
181(24, 17, 2500, '2026-02-09'),
182(25, 18, 1800, '2026-02-08'),
183(26, 18, 1900, '2026-02-09'),
184(27, 19, 3000, '2026-02-09'),
185(28, 19, 3100, '2026-02-10'),
186(29, 20, 2200, '2026-02-09'),
187(30, 20, 2300, '2026-02-10');
188
189SELECT setval(
190 pg_get_serial_sequence('trekr.daily_intakes', 'daily_intake_id'),
191 (SELECT COALESCE(MAX(daily_intake_id), 0) FROM trekr.daily_intakes)
192);
193
194INSERT INTO TRAINING_SESSIONS (training_id, training_user_id, duration, calories, date, type) VALUES
195(1, 1, 60, 500, '2026-02-01', 'Running'),
196(2, 2, 45, 400, '2026-02-01', 'Cycling'),
197(3, 3, 30, 300, '2026-02-01', 'Swimming'),
198(4, 4, 50, 420, '2026-02-02', 'HIIT'),
199(5, 5, 40, 350, '2026-02-02', 'Strength'),
200(6, 6, 35, 280, '2026-02-02', 'Yoga'),
201(7, 7, 55, 520, '2026-02-03', 'Running'),
202(8, 8, 45, 390, '2026-02-03', 'Cycling'),
203(9, 9, 30, 260, '2026-02-03', 'Rowing'),
204(10, 10, 60, 480, '2026-02-04', 'Swimming'),
205(11, 11, 50, 430, '2026-02-05', 'Strength'),
206(12, 12, 40, 310, '2026-02-05', 'Yoga'),
207(13, 13, 60, 540, '2026-02-06', 'Running'),
208(14, 14, 35, 260, '2026-02-06', 'Pilates'),
209(15, 15, 45, 390, '2026-02-07', 'Cycling'),
210(16, 16, 55, 460, '2026-02-07', 'HIIT'),
211(17, 17, 30, 240, '2026-02-08', 'Rowing'),
212(18, 18, 65, 520, '2026-02-08', 'Swimming'),
213(19, 19, 50, 440, '2026-02-09', 'Running'),
214(20, 20, 45, 370, '2026-02-09', 'Strength'),
215(21, 11, 35, 300, '2026-02-12', 'Cycling'),
216(22, 13, 30, 260, '2026-02-12', 'Core'),
217(23, 15, 70, 600, '2026-02-13', 'Long Run'),
218(24, 17, 40, 320, '2026-02-13', 'Strength');
219
220SELECT setval(
221 pg_get_serial_sequence('trekr.training_sessions', 'training_id'),
222 (SELECT COALESCE(MAX(training_id), 0) FROM trekr.training_sessions)
223);
224
225INSERT INTO DISCIPLINE_USERS (user_id) VALUES
226(1),
227(2),
228(3),
229(4),
230(5),
231(6),
232(7),
233(8),
234(9),
235(10),
236(11),
237(12),
238(13),
239(14),
240(15);
241
242INSERT INTO CUSTOM_TRACKING_CATEGORIES (custom_tracking_id, user_id, name) VALUES
243(1, 1, 'Project Trekr'),
244(2, 2, 'Language Learning'),
245(3, 3, 'Side Hustle'),
246(4, 5, 'Fitness Plan'),
247(5, 6, 'Exam Prep'),
248(6, 11, 'University'),
249(7, 12, 'Health'),
250(8, 13, 'Startup'),
251(9, 14, 'Cooking'),
252(10, 15, 'Reading List'),
253(11, 16, 'Work Sprint'),
254(12, 17, 'Finance Goals'),
255(13, 18, 'Language'),
256(14, 19, 'Gym Program'),
257(15, 20, 'Exam Prep');
258
259SELECT setval(
260 pg_get_serial_sequence('trekr.custom_tracking_categories', 'custom_tracking_id'),
261 (SELECT COALESCE(MAX(custom_tracking_id), 0) FROM trekr.custom_tracking_categories)
262);
263
264INSERT INTO TASKS (task_id, name, is_finished, discipline_user_id, custom_tracking_id) VALUES
265(1, 'Morning Run', FALSE, 1, NULL),
266(2, 'Read Book', FALSE, 1, NULL),
267(3, 'Meditation', FALSE, 2, NULL),
268(4, 'Code Review', FALSE, NULL, 1),
269(5, 'Push Updates', FALSE, NULL, 1),
270(6, 'Plan Day', FALSE, 3, NULL),
271(7, 'No Sugar', FALSE, 3, NULL),
272(8, 'Stretch', FALSE, 3, NULL),
273(9, 'Drink Water', FALSE, 4, NULL),
274(10, 'Walk 8k Steps', FALSE, 4, NULL),
275(11, 'Journal', FALSE, 5, NULL),
276(12, 'Gym', FALSE, 5, NULL),
277(13, 'Duolingo', FALSE, NULL, 2),
278(14, 'Watch Lesson', FALSE, NULL, 2),
279(15, 'Practice Problems', FALSE, NULL, 5),
280(16, 'Stretch 10m', FALSE, 7, NULL),
281(17, 'No Soda', FALSE, 7, NULL),
282(18, 'Walk 30m', FALSE, 8, NULL),
283(19, 'Sleep 7h', FALSE, 8, NULL),
284(20, 'Read 20p', FALSE, 9, NULL),
285(21, 'Meditate', FALSE, 9, NULL),
286(22, 'No Sugar', FALSE, 9, NULL),
287(23, 'Drink Water', FALSE, 10, NULL),
288(24, 'Morning Run', FALSE, 11, NULL),
289(25, 'Plan Day', FALSE, 11, NULL),
290(26, 'Study 1h', FALSE, 11, NULL),
291(27, 'Yoga', FALSE, 12, NULL),
292(28, 'Cook Healthy', FALSE, 12, NULL),
293(29, 'Gym', FALSE, 13, NULL),
294(30, 'Protein Target', FALSE, 13, NULL),
295(31, 'Journal', FALSE, 14, NULL),
296(32, 'Early Bed', FALSE, 14, NULL),
297(33, 'Duolingo', FALSE, 15, NULL),
298(34, 'No Alcohol', FALSE, 15, NULL),
299(35, 'Walk 8k Steps', FALSE, 15, NULL),
300(36, 'Attend Lecture', FALSE, NULL, 6),
301(37, 'Solve Tasks', FALSE, NULL, 6),
302(38, 'Review', FALSE, NULL, 6),
303(39, 'Steps', FALSE, NULL, 7),
304(40, 'Water', FALSE, NULL, 7),
305(41, 'Pitch', FALSE, NULL, 8),
306(42, 'Build', FALSE, NULL, 8),
307(43, 'Ship', FALSE, NULL, 8),
308(44, 'Meal Prep', FALSE, NULL, 9),
309(45, 'Groceries', FALSE, NULL, 9),
310(46, 'Read Fiction', FALSE, NULL, 10),
311(47, 'Read Nonfiction', FALSE, NULL, 10),
312(48, 'Standup', FALSE, NULL, 11),
313(49, 'Tickets', FALSE, NULL, 11),
314(50, 'PR Review', FALSE, NULL, 11),
315(51, 'Track Expenses', FALSE, NULL, 12),
316(52, 'Invest', FALSE, NULL, 12),
317(53, 'Duolingo Session', FALSE, NULL, 13),
318(54, 'Podcast', FALSE, NULL, 13),
319(55, 'Squat', FALSE, NULL, 14),
320(56, 'Bench', FALSE, NULL, 14),
321(57, 'Deadlift', FALSE, NULL, 14),
322(58, 'Practice', FALSE, NULL, 15),
323(59, 'Mock', FALSE, NULL, 15),
324(60, 'Review Exam', FALSE, NULL, 15);
325
326SELECT setval(
327 pg_get_serial_sequence('trekr.tasks', 'task_id'),
328 (SELECT COALESCE(MAX(task_id), 0) FROM trekr.tasks)
329);
330
331INSERT INTO DAILY_COMPLETION (daily_completion_id, user_id, date, procent) VALUES
332(1, 1, '2026-02-01', 100),
333(2, 2, '2026-02-01', 50),
334(3, 3, '2026-02-01', 67),
335(4, 4, '2026-02-01', 50),
336(5, 5, '2026-02-02', 100),
337(6, 6, '2026-02-02', 0),
338(7, 7, '2026-02-03', 80),
339(8, 8, '2026-02-03', 60),
340(9, 9, '2026-02-03', 40),
341(10, 10, '2026-02-04', 90),
342(11, 11, '2026-02-05', 66),
343(12, 11, '2026-02-06', 33),
344(13, 12, '2026-02-05', 50),
345(14, 12, '2026-02-06', 100),
346(15, 13, '2026-02-06', 67),
347(16, 13, '2026-02-07', 34),
348(17, 14, '2026-02-06', 50),
349(18, 14, '2026-02-07', 50),
350(19, 15, '2026-02-07', 67),
351(20, 15, '2026-02-08', 33),
352(21, 16, '2026-02-07', 34),
353(22, 16, '2026-02-08', 67),
354(23, 17, '2026-02-08', 50),
355(24, 17, '2026-02-09', 50),
356(25, 18, '2026-02-08', 100),
357(26, 18, '2026-02-09', 50),
358(27, 19, '2026-02-09', 67),
359(28, 19, '2026-02-10', 34),
360(29, 20, '2026-02-09', 33),
361(30, 20, '2026-02-10', 66);
362
363-- If DAILY_COMPLETION.daily_completion_id is an IDENTITY column, advance its sequence past dummy ids.
364SELECT setval(
365 pg_get_serial_sequence('trekr.daily_completion', 'daily_completion_id'),
366 (SELECT COALESCE(MAX(daily_completion_id), 0) FROM trekr.daily_completion)
367);
368
369INSERT INTO TASK_DAILY_COMPLETION (task_id, daily_completion_id) VALUES
370(1, 1),
371(2, 1),
372(3, 2),
373(6, 3),
374(7, 3),
375(9, 4),
376(11, 5),
377(12, 5),
378(13, 8),
379(14, 8),
380(15, 10),
381(24, 11),
382(25, 11),
383(27, 13),
384(28, 14),
385(41, 15),
386(42, 15),
387(44, 17),
388(45, 18),
389(33, 19),
390(34, 19),
391(51, 22),
392(52, 22),
393(39, 23),
394(40, 24),
395(53, 25),
396(54, 26),
397(55, 27),
398(56, 27),
399(57, 28),
400(58, 30);
401
402INSERT INTO INVESTOR_USERS (user_id) VALUES
403(1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12), (13), (14), (15);
404
405INSERT INTO ASSETS (asset_id, user_id, ticker_symbol, buy_price, buy_date, quantity) VALUES
406(1, 1, 'AAPL', 150, '2026-01-01', 1.5),
407(2, 1, 'TSLA', 700, '2026-01-10', 2),
408(3, 2, 'GOOGL', 2800, '2026-01-15', 1),
409(4, 3, 'MSFT', 320, '2026-01-20', 1),
410(5, 4, 'AMZN', 155, '2026-01-22', 1),
411(6, 5, 'NVDA', 610, '2026-01-25', 1),
412(7, 6, 'SPY', 480, '2026-01-28', 1),
413(8, 1, 'ETH', 2400, '2026-01-30', 1),
414(9, 7, 'KO', 58, '2026-02-02', 10),
415(10, 8, 'V', 245, '2026-02-03', 3),
416(11, 9, 'NFLX', 610, '2026-02-04', 1),
417(12, 10, 'DIS', 110, '2026-02-05', 4),
418(13, 11, 'AAPL', 155, '2026-02-06', 2),
419(14, 12, 'MSFT', 330, '2026-02-07', 1.2),
420(15, 13, 'TSLA', 720, '2026-02-08', 0.8),
421(16, 14, 'SPY', 485, '2026-02-09', 1.5),
422(17, 15, 'NVDA', 640, '2026-02-10', 0.9);
423
424SELECT setval(
425 pg_get_serial_sequence('trekr.assets', 'asset_id'),
426 (SELECT COALESCE(MAX(asset_id), 0) FROM trekr.assets)
427);
Note: See TracBrowser for help on using the repository browser.