From a167c277d044db3cd4effe902722229e1dcfe24f Mon Sep 17 00:00:00 2001 From: Motodies <39949690+Motodies@users.noreply.github.com> Date: Sat, 26 Apr 2025 10:46:16 +0200 Subject: [PATCH 1/3] LAB WEEK 6 MYSQL --- .idea/.gitignore | 10 ++ ...lab-java-normalization-ddl-aggregation.iml | 9 ++ .idea/misc.xml | 6 + .idea/modules.xml | 8 ++ .idea/sqldialects.xml | 7 ++ .idea/vcs.xml | 6 + AIrline.sql | 113 ++++++++++++++++++ Books.sql | 35 ++++++ 8 files changed, 194 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/lab-java-normalization-ddl-aggregation.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/sqldialects.xml create mode 100644 .idea/vcs.xml create mode 100644 AIrline.sql create mode 100644 Books.sql diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..7bc07ec --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Environment-dependent path to Maven home directory +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/lab-java-normalization-ddl-aggregation.iml b/.idea/lab-java-normalization-ddl-aggregation.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/lab-java-normalization-ddl-aggregation.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..31e1ebc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..152076a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 0000000..53415d5 --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AIrline.sql b/AIrline.sql new file mode 100644 index 0000000..14620c8 --- /dev/null +++ b/AIrline.sql @@ -0,0 +1,113 @@ +CREATE DATABASE airline_db; + +USE airline_db; + +CREATE TABLE customers( + id INT AUTO_INCREMENT PRIMARY KEY, + customer_name varchar(50), + status varchar(50), + total_mileage INT +); + +CREATE TABLE aircrafts( + id INT AUTO_INCREMENT PRIMARY KEY, + name varchar(50), + total_seats INT +); + +CREATE TABLE flights +( + flight_id INT AUTO_INCREMENT PRIMARY KEY, + flight_number varchar(5), + mileage INT, + aircraft_id INT, + FOREIGN KEY (aircraft_id) REFERENCES aircrafts(id) +); + +CREATE TABLE bookings +( + id INT AUTO_INCREMENT PRIMARY KEY, + customer_id INT, + flight_number INT, + FOREIGN KEY (flight_number) REFERENCES flights(flight_id), + FOREIGN KEY (customer_id) REFERENCES customers(id) +); + +INSERT INTO customers(id, customer_name, status, total_mileage) + VALUES + (1,'Agustine Riviera','Silver',115235), + (2,'Alaina Sepulvida','None',6008), + (3,'Tom Jones','Gold',205767), + (4,'Jessica James','Silver',127656), + (5,'Sam Rio','None',2653), + (6,'Ana Janco','Silver',136773), + (7,'Jennifer Cortez','Gold',300582), + (8,'Christian Janco','Silver',14642) +; + +INSERT INTO aircrafts(id, name, total_seats) + VALUES + (1,'Boeing 747',400), + (2,'Airbus A330',236), + (3,'Boeing 777',264) +; + +INSERT INTO flights(flight_id, flight_number, mileage, aircraft_id) + VALUES + (1,'DL143',135,1), + (2,'DL122',4370,2), + (3,'DL53',2078,3), + (4,'DL222',4370,2), + (5,'DL37',1765,2) +; + +INSERT INTO bookings(id, customer_id, flight_number) + VALUES + (1,1,1), + (2,1,2), + (3,2,2), + (4,1,1), + (5,3,2), + (6,3,3), + (7,1,1), + (8,5,1), + (9,1,1), + (10,3,4), + (11,4,1), + (12,5,1), + (13,6,2), + (14,7,2), + (15,4,2), + (16,5,5), + (17,8,4) +; + +SELECT COUNT(DISTINCT flight_number) FROM flights; + +SELECT AVG(mileage) FROM flights; + +SELECT AVG(total_seats) FROM aircrafts; + +SELECT status, AVG(total_mileage) FROM customers GROUP BY status; + +SELECT status, MAX(total_mileage) FROM customers GROUP BY status; + +SELECT COUNT(*) FROM aircrafts WHERE name LIKE '%Boeing%'; + +SELECT * FROM flights WHERE mileage BETWEEN 300 AND 2000; + +SELECT c.status, AVG(f.mileage) +FROM bookings b + JOIN customers c ON b.customer_id = c.id + JOIN flights f ON b.flight_number = f.flight_id +GROUP BY c.status; + +SELECT a.name, COUNT(*) AS total_bookings +FROM bookings b + JOIN customers c ON b.customer_id = c.id + JOIN flights f ON b.flight_number = f.flight_id + JOIN aircrafts a ON f.aircraft_id = a.id +WHERE c.status = 'Gold' +GROUP BY a.name +ORDER BY total_bookings DESC + LIMIT 1; \ No newline at end of file diff --git a/Books.sql b/Books.sql new file mode 100644 index 0000000..42c8698 --- /dev/null +++ b/Books.sql @@ -0,0 +1,35 @@ +CREATE DATABASE book_db; + +USE book_db; + +CREATE TABLE author +( + id int AUTO_INCREMENT PRIMARY KEY, + author varchar(50) +); +CREATE TABLE books +( + id int AUTO_INCREMENT PRIMARY KEY, + author_id int, + title varchar(50), + word_count int, + views int, + FOREIGN KEY (author_id) REFERENCES author (id) +); + +INSERT INTO author(id, author) + VALUES + (1,'Maria Charlotte'), + (2,'Juan Perez'), + (3,'Gemma Alcocer') +; + +INSERT INTO books(id, author_id, title, word_count, views) + VALUES + (1,1,'Best Paint Colors',814,14), + (2,2,'Small Space Decorating Tips',1146,221), + (3,1,'Hot accessories',986,105), + (4,1,'Mixing Textures',765,22), + (5,2,'Homemade Art Hacks',1002,193), + (6,3,'Refinishing Wood Floors',1571,7542) + From 758aad81abb35656b31bd7ffe1ec28cd46060519 Mon Sep 17 00:00:00 2001 From: Motodies <39949690+Motodies@users.noreply.github.com> Date: Sat, 26 Apr 2025 10:52:59 +0200 Subject: [PATCH 2/3] LAB WEEK 6 MYSQL --- .idea/dataSources.xml | 17 +++++++++++++ .idea/sqldialects.xml | 4 +-- AIrline.sql | 57 +++++++++++++++++++++---------------------- 3 files changed, 47 insertions(+), 31 deletions(-) create mode 100644 .idea/dataSources.xml diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..0654aca --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,17 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + + + + + + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml index 53415d5..1225da6 100644 --- a/.idea/sqldialects.xml +++ b/.idea/sqldialects.xml @@ -1,7 +1,7 @@ - - + + \ No newline at end of file diff --git a/AIrline.sql b/AIrline.sql index 14620c8..5c757eb 100644 --- a/AIrline.sql +++ b/AIrline.sql @@ -17,8 +17,7 @@ CREATE TABLE aircrafts( CREATE TABLE flights ( - flight_id INT AUTO_INCREMENT PRIMARY KEY, - flight_number varchar(5), + flight_number varchar(5) PRIMARY KEY , mileage INT, aircraft_id INT, FOREIGN KEY (aircraft_id) REFERENCES aircrafts(id) @@ -28,8 +27,8 @@ CREATE TABLE bookings ( id INT AUTO_INCREMENT PRIMARY KEY, customer_id INT, - flight_number INT, - FOREIGN KEY (flight_number) REFERENCES flights(flight_id), + flight_number varchar(5), + FOREIGN KEY (flight_number) REFERENCES flights(flight_number), FOREIGN KEY (customer_id) REFERENCES customers(id) ); @@ -52,34 +51,34 @@ INSERT INTO aircrafts(id, name, total_seats) (3,'Boeing 777',264) ; -INSERT INTO flights(flight_id, flight_number, mileage, aircraft_id) +INSERT INTO flights( flight_number, mileage, aircraft_id) VALUES - (1,'DL143',135,1), - (2,'DL122',4370,2), - (3,'DL53',2078,3), - (4,'DL222',4370,2), - (5,'DL37',1765,2) + ('DL143',135,1), + ('DL122',4370,2), + ('DL53',2078,3), + ('DL222',4370,2), + ('DL37',1765,2) ; INSERT INTO bookings(id, customer_id, flight_number) VALUES - (1,1,1), - (2,1,2), - (3,2,2), - (4,1,1), - (5,3,2), - (6,3,3), - (7,1,1), - (8,5,1), - (9,1,1), - (10,3,4), - (11,4,1), - (12,5,1), - (13,6,2), - (14,7,2), - (15,4,2), - (16,5,5), - (17,8,4) + (1, 1, 'DL143'), + (2, 1, 'DL122'), + (3, 2, 'DL122'), + (4, 1, 'DL143'), + (5, 3, 'DL122'), + (6, 3, 'DL53'), + (7, 1, 'DL143'), + (8, 4, 'DL143'), + (9, 1, 'DL143'), + (10, 3, 'DL222'), + (11, 5, 'DL143'), + (12, 4, 'DL143'), + (13, 6, 'DL222'), + (14, 7, 'DL222'), + (15, 5, 'DL122'), + (16, 4, 'DL37'), + (17, 8, 'DL222'); ; SELECT COUNT(DISTINCT flight_number) FROM flights; @@ -99,13 +98,13 @@ SELECT * FROM flights WHERE mileage BETWEEN 300 AND 2000; SELECT c.status, AVG(f.mileage) FROM bookings b JOIN customers c ON b.customer_id = c.id - JOIN flights f ON b.flight_number = f.flight_id + JOIN flights f ON b.flight_number = f.flight_number GROUP BY c.status; SELECT a.name, COUNT(*) AS total_bookings FROM bookings b JOIN customers c ON b.customer_id = c.id - JOIN flights f ON b.flight_number = f.flight_id + JOIN flights f ON b.flight_number = f.flight_number JOIN aircrafts a ON f.aircraft_id = a.id WHERE c.status = 'Gold' GROUP BY a.name From 8b75579a06a9d5bdd4355578ed79cd76f18f7991 Mon Sep 17 00:00:00 2001 From: Motodies <39949690+Motodies@users.noreply.github.com> Date: Sat, 26 Apr 2025 10:57:13 +0200 Subject: [PATCH 3/3] LAB WEEK 6 MYSQL --- AIrline.sql | 4 ++-- Books.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AIrline.sql b/AIrline.sql index 5c757eb..f56ba0b 100644 --- a/AIrline.sql +++ b/AIrline.sql @@ -56,8 +56,8 @@ INSERT INTO flights( flight_number, mileage, aircraft_id) ('DL143',135,1), ('DL122',4370,2), ('DL53',2078,3), - ('DL222',4370,2), - ('DL37',1765,2) + ('DL222',1765,3), + ('DL37',531,1) ; INSERT INTO bookings(id, customer_id, flight_number) diff --git a/Books.sql b/Books.sql index 42c8698..5a71b4e 100644 --- a/Books.sql +++ b/Books.sql @@ -28,8 +28,8 @@ INSERT INTO books(id, author_id, title, word_count, views) VALUES (1,1,'Best Paint Colors',814,14), (2,2,'Small Space Decorating Tips',1146,221), - (3,1,'Hot accessories',986,105), + (3,1,'Hot Accessories',986,105), (4,1,'Mixing Textures',765,22), - (5,2,'Homemade Art Hacks',1002,193), + (5,1,'Homemade Art Hacks',1002,193), (6,3,'Refinishing Wood Floors',1571,7542)