From abc4c4a9c22cf2b954e12975772edb6887c11a64 Mon Sep 17 00:00:00 2001 From: Beltazorr Date: Sun, 27 Apr 2025 01:01:12 +0200 Subject: [PATCH 1/2] Lab Completed --- pom.xml | 17 +++++++++++++++++ src/main/java/com/ironhack/Main.java | 8 ++++++++ 2 files changed, 25 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/com/ironhack/Main.java diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..1a19ed8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + com.ironhack + LabWeek6 + 1.0-SNAPSHOT + + + 23 + 23 + UTF-8 + + + \ No newline at end of file diff --git a/src/main/java/com/ironhack/Main.java b/src/main/java/com/ironhack/Main.java new file mode 100644 index 0000000..270c90d --- /dev/null +++ b/src/main/java/com/ironhack/Main.java @@ -0,0 +1,8 @@ +package com.ironhack; + +public class Main { + public static void main(String[] args) { + + + } +} \ No newline at end of file From 1806480b395c6bc6aa781c9918b2a4dbf3a0236d Mon Sep 17 00:00:00 2001 From: Beltazorr Date: Sun, 27 Apr 2025 15:53:12 +0200 Subject: [PATCH 2/2] Lab Updated 0.1 --- LabWeek6/.idea/.gitignore | 8 ++ LabWeek6/.idea/dataSources.xml | 17 +++ LabWeek6/.idea/misc.xml | 6 + LabWeek6/.idea/modules.xml | 8 ++ LabWeek6/.idea/vcs.xml | 4 + src/main/java/com/ironhack/Database | 173 ++++++++++++++++++++++++++++ 6 files changed, 216 insertions(+) create mode 100644 LabWeek6/.idea/.gitignore create mode 100644 LabWeek6/.idea/dataSources.xml create mode 100644 LabWeek6/.idea/misc.xml create mode 100644 LabWeek6/.idea/modules.xml create mode 100644 LabWeek6/.idea/vcs.xml create mode 100644 src/main/java/com/ironhack/Database diff --git a/LabWeek6/.idea/.gitignore b/LabWeek6/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/LabWeek6/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/LabWeek6/.idea/dataSources.xml b/LabWeek6/.idea/dataSources.xml new file mode 100644 index 0000000..7044476 --- /dev/null +++ b/LabWeek6/.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/LabWeek6/.idea/misc.xml b/LabWeek6/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/LabWeek6/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LabWeek6/.idea/modules.xml b/LabWeek6/.idea/modules.xml new file mode 100644 index 0000000..ac094bb --- /dev/null +++ b/LabWeek6/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/LabWeek6/.idea/vcs.xml b/LabWeek6/.idea/vcs.xml new file mode 100644 index 0000000..d843f34 --- /dev/null +++ b/LabWeek6/.idea/vcs.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/main/java/com/ironhack/Database b/src/main/java/com/ironhack/Database new file mode 100644 index 0000000..eb4ac92 --- /dev/null +++ b/src/main/java/com/ironhack/Database @@ -0,0 +1,173 @@ +CREATE DATABASE ironhack_db; + +USE ironhack_db; + +#first table +CREATE TABLE authors ( + id INT NOT NULL, + author VARCHAR(255) NOT NULL , + PRIMARY KEY (author) +); +#second table +CREATE TABLE blog +( + id INT NOT NULL AUTO_INCREMENT, + author VARCHAR(255), + title VARCHAR(255), + word_count INT, + views INT, + PRIMARY KEY (id), + FOREIGN KEY (author) REFERENCES authors (author) +); +INSERT INTO authors (id,author) VALUES + (1,'Maya Charlotte'), + (2,'Juan Perez'), + (3,'Gemma Alcocer'); +INSERT INTO blog (author,title,word_count,views) VALUES + ('Maya Charlotte', 'Best Paint Color', 814,14), + ('Juan Perez', 'Small Space Decorating Tips', 1146,221), + ('Maya Charlotte', 'Hot Accessories', 986,105), + ('Maya Charlotte', 'Mixing Texture', 765,22), + ('Juan Perez', 'Kitchen Refresh', 1242,307), + ('Maya Charlotte', 'Homemade Art Hacks', 1002,193), + ('Gemma Alcocer', 'Refinishing Wood Floors', 1571,7542); +#query +#SELECT * FROM blog; +#DROP TABLE blog; +#end part one---------------------------------------------------------- +#part two : normalization +CREATE TABLE customers +( +id INT NOT NULL, +customer_name VARCHAR(255), +customer_status VARCHAR(255), +total_customer_mileage INT NOT NULL, +flight_number varchar(255), +PRIMARY KEY (id), +FOREIGN KEY (id) REFERENCES bookings(id) +); +#table +CREATE TABLE flights( +id INT NOT NULL, +flight_number VARCHAR(255), +aircraft VARCHAR(255), +flight_mileage INT NOT NULL, +PRIMARY KEY (id), +FOREIGN KEY (id) REFERENCES aircrafts(id) +); +#table +CREATE TABLE aircrafts ( +id INT NOT NULL, +aircraft VARCHAR(255), +flight_number VARCHAR(255), +total_seats INT NOT NULL, +PRIMARY KEY (id)#, +#FOREIGN KEY (id) REFERENCES my_table(id) +); +#table +CREATE TABLE bookings ( + id INT NOT NULL , + customer_name VARCHAR(255), + flight_number VARCHAR(255), + PRIMARY KEY (id), + FOREIGN KEY (id) REFERENCES flights(id) +); +#Airline Database part +INSERT INTO customers (id, customer_name, customer_status, total_customer_mileage,flight_number) VALUES + (1,'Agustine Riviera','silver',115235,'DL143'), + (2,'Agustine Riviera','silver',115235,'DL122'), + (3,'Alaina Sepulvida','none',6008,'DL122'), + (4,'Agustine Riviera','silver',115235,'DL143'), + (5,'Tom Jones','gold',205767,'DL122'), + (6,'Tom Jones','gold',205767,'DL53'), + (7,'Agustine Riviera','silver',115235,'DL143'), + (8,'Sam Rio','none',2653,'DL143'), + (9,'Agustine Riviera','silver',115235,'DL143'), + (10,'Tom Jones','gold',205767,'DL222'), + (11,'Jessica james','silver',127656,'DL143'), + (12,'Sam Rio','none',2653,'DL143'), + (13,'Ana Janco','silver',136773,'DL222'), + (14,'Jennifer Cortez','gold',300582,'DL222'), + (15,'Jessica james','silver',127656,'DL122'), + (16,'Sam Rio','none',2653,'DL37'), + (17,'Christian Janco','silver',14642,'DL222'); +# +INSERT INTO flights (id, flight_number, aircraft, flight_mileage) VALUES + (1,'DL143','Boeing 747',135), + (2,'DL122','Airbus A330',4370), + (3,'DL122','Airbus A330',4370), + (4,'DL143','Boeing 747',135), + (5,'DL122','Airbus A330',4370), + (6,'DL53','Boeing 777',2078), + (7,'DL143','Boeing 747',135), + (8,'DL143','Boeing 747',135), + (9,'DL143','Boeing 747',135), + (10,'DL222','Boeing 777',1765), + (11,'DL143','Boeing 747',135), + (12,'DL143','Boeing 747',135), + (13,'DL222','Boeing 777',1765), + (14,'DL222','Boeing 777',1765), + (15,'DL122','Airbus A330',4370), + (16,'DL37','Boeing 747',531), + (17,'DL222','Boeing 777',1765); +# +INSERT INTO aircrafts (id, flight_number, aircraft, total_seats) VALUES + (1,'DL143','Boeing 747',400), + (2,'DL122','Airbus A330',236), + (3,'DL122','Airbus A330',236), + (4,'DL143','Boeing 747',400), + (5,'DL122','Airbus A330',236), + (6,'DL53','Boeing 777',264), + (7,'DL143','Boeing 747',400), + (8,'DL143','Boeing 747',400), + (9,'DL143','Boeing 747',400), + (10,'DL222','Boeing 777',264), + (11,'DL143','Boeing 747',400), + (12,'DL143','Boeing 747',400), + (13,'DL222','Boeing 777',264), + (14,'DL222','Boeing 777',264), + (15,'DL122','Airbus A330',236), + (16,'DL37','Boeing 747',400), + (17,'DL222','Boeing 777',264); +# +INSERT INTO bookings (id, customer_name, flight_number) VALUES + (1,'Agustine Riviera','DL143'), + (2,'Agustine Riviera','DL122'), + (3,'Alaina Sepulvida','DL122'), + (4,'Agustine Riviera','DL143'), + (5,'Tom Jones','DL122'), + (6,'Tom Jones','DL53'), + (7,'Agustine Riviera','DL143'), + (8,'Sam Rio','DL143'), + (9,'Agustine Riviera','DL143'), + (10,'Tom Jones','DL222'), + (11,'Jessica james','DL143'), + (12,'Sam Rio','DL143'), + (13,'Ana Janco','DL222'), + (14,'Jennifer Cortez','DL222'), + (15,'Jessica james','DL122'), + (16,'Sam Rio','DL37'), + (17,'Christian Janco','DL222'); +#query +SELECT COUNT(DISTINCT flight_number) FROM flights; +SELECT AVG(flight_mileage) FROM flights; +SELECT AVG(total_seats) FROM aircrafts; +SELECT customer_status, AVG(total_customer_mileage) FROM customers GROUP BY customer_status; +SELECT customer_status, MAX(total_customer_mileage) FROM customers GROUP BY customer_status; +SELECT COUNT(*) FROM aircrafts WHERE aircraft LIKE '%Boeing%'; +SELECT * FROM flights WHERE flight_mileage BETWEEN 300 AND 2000; +SELECT c.customer_status, AVG(f.flight_mileage) +FROM bookings b + JOIN customers c ON b.id = c.id + JOIN flights f ON b.flight_number = f.flight_number + GROUP BY c.customer_status; +SELECT a.aircraft, COUNT(*) AS total_bookings + FROM bookings b + JOIN customers c ON b.id = c.id + JOIN flights f ON b.flight_number = f.flight_number + JOIN aircrafts a ON f.aircraft = a.aircraft + WHERE c.customer_status = 'Gold' + GROUP BY a.aircraft + ORDER BY total_bookings DESC + LIMIT 1; +#SELECT * FROM my_table; \ No newline at end of file