RelationalDesign: dml-v3.sql

File dml-v3.sql, 9.8 KB (added by 232012, 37 hours ago)
Line 
1SET search_path TO project;
2
3TRUNCATE TABLE
4 MODIFICATION_PRODUCTS,
5 SONG_ARTISTS,
6 RELEASE_ARTISTS,
7 ALBUM_SONGS,
8 WISHLIST_ITEMS,
9 ORDER_ITEMS,
10 MODIFICATIONS,
11 WISHLISTS,
12 ORDERS,
13 PRODUCTS,
14 SONGS,
15 ALBUMS,
16 SINGLE_RELEASES,
17 RELEASES,
18 ARTISTS,
19 CONSUMERS,
20 ADMINS,
21 USERS
22RESTART IDENTITY CASCADE;
23
24-- USERS
25INSERT INTO USERS
26(user_id, email, username, password, date_created, shipping_address, telephone_number)
27VALUES
28(1, 'marko@gmail.com', 'markzzy', 'hashed_pw_1', '2025-01-12', 'Rugjer Boshkovikj 16, Skopje, Macedonia 1000', '+38971123456'),
29(2, 'darko@gmail.com', 'dar4e', 'hashed_pw_2', '2025-01-13', 'Ohrid, Macedonia', '+38970222333'),
30(3, 'stefan@gmail.com', 'stefan', 'hashed_pw_3', '2025-01-14', 'Partizanski Odredi 102, Skopje, Macedonia 1000', '+38970333444'),
31(4, 'admin@kernelrecords.com', 'admin', 'hashed_admin_pw', '2025-01-01', NULL, NULL),
32(5, 'strajk@gmail.com', 'strajk', 'hashed_pw_5', '2025-02-01', 'Ulica', '+38970444555'),
33(6, 'kiro@hotmail.com', 'kirca', 'hashed_pw_6', '2025-02-03', 'Prilep, Macedonia', '+38970555666');
34
35-- ADMINS
36INSERT INTO ADMINS
37(user_id, type, discount_percentage)
38VALUES
39(4, 'SUPER_ADMIN', 20);
40
41-- CONSUMERS
42INSERT INTO CONSUMERS
43(user_id, points_collected)
44VALUES
45(1, 1337),
46(2, 69),
47(3, 450),
48(5, 90),
49(6, 310);
50
51-- ARTISTS
52INSERT INTO ARTISTS
53(artist_id, artist_name, artist_description, artist_photo)
54VALUES
55(1, 'Kanye West', 'American rapper and producer', 'kanye.jpg'),
56(2, 'Travis Scott', 'American rapper and producer', 'travisscott.jpg'),
57(3, 'Nas', 'American rapper', 'nas.jpg'),
58(4, 'Nirvana', 'American grunge band', 'nevermind.jpg'),
59(5, 'Michael Jackson', 'American pop singer', 'mj.jpg'),
60(6, 'T-Pain', 'American rapper and singer', 'tpain.jpg'),
61(7, 'Lil Wayne', 'American rapper', 'lilwayne.jpg'),
62(8, 'Mos Def', 'American rapper and actor', 'mosdef.jpg'),
63(9, 'Dwele', 'American singer', 'dwele.jpg'),
64(10, 'Chris Martin', 'Lead singer of Coldplay', 'chrismartin.jpg'),
65(11, 'Quavo', 'American rapper', 'quavo.jpg'),
66(12, 'Future', 'American rapper', 'future.jpg'),
67(13, '2 Chainz', 'American rapper', '2chainz.jpg'),
68(14, 'Juicy J', 'American rapper', 'juicyj.jpg'),
69(15, 'The Weeknd', 'Canadian singer', 'weeknd.jpg'),
70(16, 'Kacy Hill', 'American singer', 'kacyhill.jpg'),
71(17, 'Justin Bieber', 'Canadian singer', 'bieber.jpg'),
72(18, 'Young Thug', 'American rapper', 'youngthug.jpg'),
73(19, 'Swae Lee', 'American rapper and singer', 'swaelee.jpg'),
74(20, 'Chief Keef', 'American rapper', 'chiefkeef.jpg'),
75(21, 'Toro y Moi', 'American singer', 'toroymoi.jpg'),
76(22, 'AZ', 'American rapper', 'az.jpg'),
77(23, 'Paul McCartney', 'English singer-songwriter', 'paul.jpg'),
78(24, 'Beatles', 'English rock band', 'beatles.jpg'),
79(25, 'Eminem', 'American rapper', 'eminem.jpg'),
80(26, 'Gucci Mane', 'American rapper', 'guccimane.jpg'),
81(27, 'Big Sean', 'American rapper', 'bigsean.jpg'),
82(28, 'Yo Gotti', 'American rapper', 'yogotti.jpg'),
83(29, 'Desiigner', 'American rapper', 'desiigner.jpg');
84
85-- RELEASES
86INSERT INTO RELEASES
87(release_id, title, record_label, genre, release_date, cover_photo)
88VALUES
89(1, 'Graduation', 'Def Jam', 'Hip Hop', '2007-09-11', 'graduation.jpg'),
90(2, 'Rodeo', 'Grand Hustle', 'Hip Hop', '2015-09-04', 'rodeo.jpg'),
91(3, 'Illmatic', 'Columbia Records', 'Hip Hop', '1994-04-19', 'illmatic.jpg'),
92(4, 'Nevermind', 'DGC Records', 'Grunge', '1991-09-24', 'nevermind.jpg'),
93(5, 'Thriller', 'Epic Records', 'Pop', '1982-11-30', 'thriller.jpg'),
94(6, 'Hey Jude', 'Apple Records', 'Rock', '1968-08-26', 'hey_jude.jpg'),
95(7, 'Lose Yourself', 'Shady Records', 'Hip Hop', '2002-10-28', 'lose_yourself.jpg'),
96(8, 'Champions', 'G.O.O.D. Music / Def Jam', 'Hip Hop', '2016-06-12', 'champions.jpg');
97
98-- ALBUMS
99INSERT INTO ALBUMS
100(release_id)
101VALUES
102(1), (2), (3), (4), (5);
103
104-- SINGLE RELEASES
105INSERT INTO SINGLE_RELEASES
106(release_id, duration)
107VALUES
108(6, '7:12'),
109(7, '5:26'),
110(8, '5:35');
111
112-- SONGS
113INSERT INTO SONGS
114(song_id, song_name, song_duration)
115VALUES
116-- Graduation
117(1, 'Good Morning', '2:42'),
118(2, 'Champion', '2:46'),
119(3, 'Stronger', '5:12'),
120(4, 'I Wonder', '4:04'),
121(5, 'Good Life', '3:27'),
122(6, 'Can''t Tell Me Nothing', '4:32'),
123(7, 'Barry Bonds', '3:18'),
124(8, 'Drunk and Hot Girls', '4:35'),
125(9, 'Flashing Lights', '3:59'),
126(10, 'Everything I Am', '3:57'),
127(11, 'The Glory', '4:04'),
128(12, 'Homecoming', '3:28'),
129(13, 'Big Brother', '5:00'),
130-- Rodeo
131(14, 'Pornography', '5:16'),
132(15, 'Oh My Dis Side', '3:57'),
133(16, '3500', '8:48'),
134(17, 'Wasted', '3:47'),
135(18, 'Piss on Your Grave', '3:04'),
136(19, 'Antidote', '3:39'),
137(20, 'Get High', '3:00'),
138(21, 'Pray 4 Love', '4:13'),
139(22, 'I Can Tell', '2:44'),
140(23, '90210', '7:41'),
141(24, 'Coordinate', '4:17'),
142(25, 'Maria I''m Drunk', '4:04'),
143(26, 'Nightcrawler', '5:48'),
144(27, 'Flying High', '3:48'),
145-- Illmatic
146(28, 'The Genesis', '1:02'),
147(29, 'N.Y. State of Mind', '4:55'),
148(30, 'Life''s a Bitch', '3:36'),
149(31, 'The World Is Yours', '4:50'),
150(32, 'Halftime', '4:18'),
151(33, 'Memory Lane (Sittin'' in da Park)', '4:25'),
152(34, 'One Love', '5:31'),
153(35, 'One Time 4 Your Mind', '3:25'),
154(36, 'Represent', '3:42'),
155(37, 'It Ain''t Hard to Tell', '3:53'),
156-- Nevermind
157(38, 'Smells Like Teen Spirit', '5:01'),
158(39, 'In Bloom', '4:15'),
159(40, 'Come as You Are', '3:38'),
160(41, 'Breed', '3:04'),
161(42, 'Lithium', '4:17'),
162(43, 'Polly', '2:57'),
163(44, 'Territorial Pissings', '2:23'),
164(45, 'Drain You', '3:44'),
165(46, 'Lounge Act', '2:37'),
166(47, 'Stay Away', '3:32'),
167(48, 'On a Plain', '3:16'),
168(49, 'Something in the Way', '3:51'),
169-- Thriller
170(50, 'Wanna Be Startin'' Somethin''', '6:03'),
171(51, 'Baby Be Mine', '4:20'),
172(52, 'The Girl Is Mine', '3:42'),
173(53, 'Thriller', '5:57'),
174(54, 'Beat It', '4:18'),
175(55, 'Billie Jean', '4:54'),
176(56, 'Human Nature', '4:06'),
177(57, 'P.Y.T. (Pretty Young Thing)', '3:59'),
178(58, 'The Lady in My Life', '4:57');
179
180-- PRODUCTS
181INSERT INTO PRODUCTS
182(product_id, release_id, format, price, product_description, stock)
183VALUES
184(1, 1, 'VINYL', 39.99, 'Graduation Vinyl Edition', 15),
185(2, 1, 'CD', 14.99, 'Graduation CD Edition', 25),
186(3, 2, 'VINYL', 42.99, 'Rodeo Vinyl Edition', 10),
187(4, 2, 'CD', 15.99, 'Rodeo CD Edition', 20),
188(5, 3, 'VINYL', 44.99, 'Illmatic Vinyl Edition', 12),
189(6, 3, 'CD', 13.99, 'Illmatic CD Edition', 30),
190(7, 4, 'VINYL', 37.99, 'Nevermind Vinyl Edition', 18),
191(8, 4, 'CD', 12.99, 'Nevermind CD Edition', 35),
192(9, 5, 'VINYL', 49.99, 'Thriller Vinyl Edition', 20),
193(10, 5, 'CD', 16.99, 'Thriller CD Edition', 40),
194(11, 6, 'VINYL', 74.99, 'Hey Jude Vinyl Special Edition', 10),
195(12, 7, 'CD', 99.99, 'Lose Yourself CD Edition - Signed', 5),
196(13, 8, 'VINYL', 169.99, 'Champions Vinyl G.O.O.D. Friday Signed Edition', 7);
197
198-- ALBUM SONGS
199INSERT INTO ALBUM_SONGS
200(album_id, song_id)
201VALUES
202(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(1,11),(1,12),(1,13),
203(2,14),(2,15),(2,16),(2,17),(2,18),(2,19),(2,20),(2,21),(2,22),(2,23),(2,24),(2,25),(2,26),(2,27),
204(3,28),(3,29),(3,30),(3,31),(3,32),(3,33),(3,34),(3,35),(3,36),(3,37),
205(4,38),(4,39),(4,40),(4,41),(4,42),(4,43),(4,44),(4,45),(4,46),(4,47),(4,48),(4,49),
206(5,50),(5,51),(5,52),(5,53),(5,54),(5,55),(5,56),(5,57),(5,58);
207
208INSERT INTO RELEASE_ARTISTS
209(release_id, artist_id, release_ordinal, type)
210VALUES
211(1, 1, 1, 'MAIN'),
212(2, 2, 1, 'MAIN'),
213(3, 3, 1, 'MAIN'),
214(4, 4, 1, 'MAIN'),
215(5, 5, 1, 'MAIN'),
216(6, 24, 1, 'MAIN'),
217(7, 25, 1, 'MAIN'),
218(8, 1, 1, 'MAIN'),
219(8, 26, 1, 'FEATURE'),
220(8, 27, 2, 'FEATURE'),
221(8, 13, 3, 'FEATURE'),
222(8, 2, 4, 'FEATURE'),
223(8, 28, 5, 'FEATURE'),
224(8, 11, 6, 'FEATURE'),
225(8, 29, 7, 'FEATURE');
226
227-- SONG ARTISTS
228INSERT INTO SONG_ARTISTS
229(song_id, artist_id, song_feature_ordinal)
230VALUES
231-- Graduation
232(1,1,1),(2,1,1),(3,1,1),(4,1,1),(5,1,1),(6,1,1),
233(7,1,1),(8,1,1),(9,1,1),(10,1,1),(11,1,1),(12,1,1),(13,1,1),
234-- Graduation Features
235(5,6,2),
236(7,7,2),
237(8,8,2),
238(9,9,2),
239(12,10,2),
240
241-- Rodeo
242(14,2,1),(15,2,1),(16,2,1),(17,2,1),(18,2,1),(19,2,1),
243(20,2,1),(21,2,1),(22,2,1),(23,2,1),(24,2,1),(25,2,1),
244(26,2,1),(27,2,1),
245-- Rodeo Features
246(15,11,2),
247(16,12,2),
248(16,13,3),
249(17,14,2),
250(18,1,2),
251(21,15,2),
252(23,16,2),
253(25,17,2),
254(25,18,3),
255(26,19,2),
256(26,20,3),
257(27,21,2),
258
259-- Illmatic
260(28,3,1),(29,3,1),(30,3,1),(31,3,1),(32,3,1),
261(33,3,1),(34,3,1),(35,3,1),(36,3,1),(37,3,1),
262-- Illmatic Features
263(30,22,2),
264
265-- Nevermind
266(38,4,1),(39,4,1),(40,4,1),(41,4,1),(42,4,1),(43,4,1),
267(44,4,1),(45,4,1),(46,4,1),(47,4,1),(48,4,1),(49,4,1),
268
269-- Thriller
270(50,5,1),(51,5,1),(52,5,1),(53,5,1),(54,5,1),
271(55,5,1),(56,5,1),(57,5,1),(58,5,1),
272-- Thriller Features
273(52,23,2);
274
275-- WISHLISTS
276INSERT INTO WISHLISTS
277(wishlist_id, user_id)
278VALUES
279(1,1), (2,2), (3,3), (4,5), (5,6);
280
281-- WISHLIST ITEMS
282INSERT INTO WISHLIST_ITEMS
283(wishlist_id, product_id, added_at)
284VALUES
285(1,1,'2024-09-21'), (1,2,'2026-11-01'), (1,3,'2026-09-06'),
286(2,5,'2023-01-01'), (2,7,'2026-02-02'), (3,7,'2025-05-04'),
287(4,9,'2026-01-05'), (5,2,'2024-03-06');
288
289-- ORDERS
290INSERT INTO ORDERS
291(order_id, user_id, payment_method, purchase_date, points_earned, points_used, status)
292VALUES
293(1,1,'CARD','2026-01-01',40,10,'DELIVERED'),
294(2,2,'PAYPAL','2026-08-02',20,0,'SHIPPED'),
295(3,3,'CASH','2026-10-11',30,5,'PAID'),
296(4,5,'CARD','2026-03-31',15,0,'PENDING'),
297(5,1,'PAYPAL','2026-04-20',69,0,'PAID');
298
299-- ORDER ITEMS
300INSERT INTO ORDER_ITEMS
301(order_id, product_id, price_at_purchase, quantity)
302VALUES
303(1,1,39.99,1), (1,2,14.99,4), (2,3,42.99,1),
304(3,5,44.99,3), (4,9,49.99,1), (5,12,79.99,2);
305
306-- MODIFICATIONS
307INSERT INTO MODIFICATIONS
308(modification_id, admin_id, date_modified, type_of_modification, discount)
309VALUES
310(1,4,'2026-02-01','CREATE',NULL),
311(2,4,'2026-02-10','UPDATE',NULL),
312(3,4,'2026-04-20','DISCOUNT',20),
313(4,4,'2026-03-15','DELETE',NULL);
314
315-- MODIFICATION PRODUCTS
316INSERT INTO MODIFICATION_PRODUCTS
317(modification_id, product_id)
318VALUES
319(1,1), (1,2), (2,3), (2,4), (3,5), (3,6), (4,10);