From c4214847ac15a7239b9f259eb6cf91c01b86c291 Mon Sep 17 00:00:00 2001 From: Ruzi <148899823+vRUZIx@users.noreply.github.com> Date: Fri, 20 Mar 2026 19:23:07 +0400 Subject: [PATCH] LAB done --- ERD_for_lab.mwb | Bin 0 -> 15587 bytes LAB2SQL.sql | 159 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+) create mode 100644 ERD_for_lab.mwb create mode 100644 LAB2SQL.sql diff --git a/ERD_for_lab.mwb b/ERD_for_lab.mwb new file mode 100644 index 0000000000000000000000000000000000000000..4c5e4267572f3453a1bb04ee6a27dbf145172ef8 GIT binary patch literal 15587 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 literal 0 HcmV?d00001 diff --git a/LAB2SQL.sql b/LAB2SQL.sql new file mode 100644 index 0000000..a341d1d --- /dev/null +++ b/LAB2SQL.sql @@ -0,0 +1,159 @@ +-- Challenge 1 +create database lab; +use lab + +CREATE TABLE articless ( + author VARCHAR(100), + title VARCHAR(255), + word_count INT, + views INT +); + +INSERT INTO articless (author, title, word_count, views) VALUES +('Maria Charlotte', 'Best Paint Colors', 814, 14), +('Juan Perez', 'Small Space Decorating Tips', 1146, 221), +('Maria Charlotte', 'Hot Accessories', 986, 105), +('Maria Charlotte', 'Mixing Textures', 765, 22), +('Juan Perez', 'Kitchen Refresh', 1242, 307), +('Maria Charlotte', 'Homemade Art Hacks', 1002, 193), +('Gemma Alcocer', 'Refinishing Wood Floors', 1571, 7542); + + +-- Solution 1 +-- i made 2 (authors and Articles) table for 3NF +CREATE TABLE authors ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) NOT NULL +); +select * from articles; +drop table articles; +INSERT INTO authors (name) VALUES +('Maria Charlotte'), +('Juan Perez'), +('Gemma Alcocer'); + +CREATE TABLE articles ( + id INT AUTO_INCREMENT PRIMARY KEY, + author_id INT, + title VARCHAR(255), + word_count INT, + views INT, + FOREIGN KEY (author_id) REFERENCES authors(id) +); + +INSERT INTO articles (author_id, title, word_count, views) VALUES +(1, 'Best Paint Colors', 814, 14), +(2, 'Small Space Decorating Tips', 1146, 221), +(1, 'Hot Accessories', 986, 105), +(1, 'Mixing Textures', 765, 22), +(2, 'Kitchen Refresh', 1242, 307), +(1, 'Homemade Art Hacks', 1002, 193), +(3, 'Refinishing Wood Floors', 1571, 7542); + +-- it is for testing +SELECT + a.name AS author, + art.title, + art.word_count, + art.views +FROM articles art +INNER JOIN authors a ON art.author_id = a.id; + +-- Challenge 2 + +CREATE TABLE flight_bookings ( + customer_name VARCHAR(50), + customer_status ENUM('NONE', 'SILVER', 'GOLD'), + flight_number VARCHAR(10), + aircraft VARCHAR(50) , + total_aircraft_seats INT, + flight_mileage INT, + total_customer_mileage INT +); +INSERT INTO flight_bookings ( + customer_name, + customer_status, + flight_number, + aircraft, + total_aircraft_seats, + flight_mileage, + total_customer_mileage +) VALUES +('Agustine Riviera', 'Silver', 'DL143', 'Boeing 747', 400, 135, 115235), +('Agustine Riviera', 'Silver', 'DL122', 'Airbus A330', 236, 4370, 115235), +('Alaina Sepulvida', 'None', 'DL122', 'Airbus A330', 236, 4370, 6008), +('Agustine Riviera', 'Silver', 'DL143', 'Boeing 747', 400, 135, 115235), +('Tom Jones', 'Gold', 'DL122', 'Airbus A330', 236, 4370, 205767), +('Tom Jones', 'Gold', 'DL53', 'Boeing 777', 264, 2078, 205767), +('Agustine Riviera', 'Silver', 'DL143', 'Boeing 747', 400, 135, 115235), +('Sam Rio', 'None', 'DL143', 'Boeing 747', 400, 135, 2653), +('Agustine Riviera', 'Silver', 'DL143', 'Boeing 747', 400, 135, 115235), +('Tom Jones', 'Gold', 'DL222', 'Boeing 777', 264, 1765, 205767), +('Jessica James', 'Silver', 'DL143', 'Boeing 747', 400, 135, 127656), +('Sam Rio', 'None', 'DL143', 'Boeing 747', 400, 135, 2653), +('Ana Janco', 'Silver', 'DL222', 'Boeing 777', 264, 1765, 136773), +('Jennifer Cortez', 'Gold', 'DL222', 'Boeing 777', 264, 1765, 300582), +('Jessica James', 'Silver', 'DL122', 'Airbus A330', 236, 4370, 127656), +('Sam Rio', 'None', 'DL37', 'Boeing 747', 400, 531, 2653), +('Christian Janco', 'Silver', 'DL222', 'Boeing 777', 264, 1765, 14642); + +CREATE TABLE customers( +customer_id INT AUTO_INCREMENT PRIMARY KEY, +name varchar(50), +status ENUM ('NONE','SILVER','GOLD'), +total_milage INT +); + +CREATE TABLE flights ( + flight_id INT AUTO_INCREMENT PRIMARY KEY, + flight_number VARCHAR(10) UNIQUE, + flight_mileage INT +); + +CREATE TABLE aircrafts ( + aircraft_id INT AUTO_INCREMENT PRIMARY KEY, + model VARCHAR(50) UNIQUE, + total_seats INT +); + +CREATE TABLE bookings ( + booking_id INT AUTO_INCREMENT PRIMARY KEY, + customer_id INT, + flight_id INT, + aircraft_id INT, + FOREIGN KEY (customer_id) REFERENCES customers(customer_id), + FOREIGN KEY (flight_id) REFERENCES flights(flight_id), + FOREIGN KEY (aircraft_id) REFERENCES aircrafts(aircraft_id) +); + +-- Challenge 3 +-- 1 +SELECT COUNT(DISTINCT flight_number) FROM flights; +-- 2 +SELECT AVG(mileage) FROM flights; +-- 3 +SELECT AVG(total_seats) FROM aircrafts; +-- 4 +SELECT status, AVG(total_mileage) FROM customers GROUP BY status; +-- 5 +SELECT status, MAX(total_mileage) FROM customers GROUP BY status; +-- 6 +SELECT COUNT(*) FROM aircrafts WHERE name LIKE '%Boeing%'; +-- 7 +SELECT * FROM flights WHERE mileage BETWEEN 300 AND 2000; +-- 8 +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; +-- 9 +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