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/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/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..1225da6
--- /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..f56ba0b
--- /dev/null
+++ b/AIrline.sql
@@ -0,0 +1,112 @@
+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_number varchar(5) PRIMARY KEY ,
+ 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 varchar(5),
+ FOREIGN KEY (flight_number) REFERENCES flights(flight_number),
+ 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_number, mileage, aircraft_id)
+ VALUES
+ ('DL143',135,1),
+ ('DL122',4370,2),
+ ('DL53',2078,3),
+ ('DL222',1765,3),
+ ('DL37',531,1)
+;
+
+INSERT INTO bookings(id, customer_id, flight_number)
+ VALUES
+ (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;
+
+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_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_number
+ 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..5a71b4e
--- /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,1,'Homemade Art Hacks',1002,193),
+ (6,3,'Refinishing Wood Floors',1571,7542)
+