From a5d3b2000f8d6780a51cd1b837e469922639430a Mon Sep 17 00:00:00 2001 From: Yilak Kebede Date: Sun, 28 Sep 2025 08:55:19 +0200 Subject: [PATCH] Added ERD diagram and MySQL script --- MYSQL_DB_Diagram.jpg | Bin 0 -> 162389 bytes MySQL_database_creation.sql | 86 ++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 MYSQL_DB_Diagram.jpg create mode 100644 MySQL_database_creation.sql diff --git a/MYSQL_DB_Diagram.jpg b/MYSQL_DB_Diagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1b558b1bdfbdd9d279a38b35b8b90d8c1272343 GIT binary patch literal 162389 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 z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq z00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72Ef2S J$pCq-^DiXT7o7kA literal 0 HcmV?d00001 diff --git a/MySQL_database_creation.sql b/MySQL_database_creation.sql new file mode 100644 index 0000000..e62a07b --- /dev/null +++ b/MySQL_database_creation.sql @@ -0,0 +1,86 @@ +-- Create database and table +CREATE DATABASE IF NOT EXISTS lab_mysql; +USE lab_mysql; + +-- Drop old tables if exist +DROP TABLE IF EXISTS invoices; +DROP TABLE IF EXISTS cars; +DROP TABLE IF EXISTS customers; +DROP TABLE IF EXISTS salespersons; + +-- Cars table +CREATE TABLE cars ( + id INT AUTO_INCREMENT PRIMARY KEY, + vin VARCHAR(50) UNIQUE NOT NULL, + manufacturer VARCHAR(50) NOT NULL, + model VARCHAR(50) NOT NULL, + year YEAR NOT NULL, + color VARCHAR(20) NOT NULL +); + +-- Customers table +CREATE TABLE customers ( + id INT AUTO_INCREMENT PRIMARY KEY, + cust_id INT NOT NULL, + cust_name VARCHAR(100) NOT NULL, + cust_phone VARCHAR(30), + cust_email VARCHAR(100), + cust_address VARCHAR(200), + cust_city VARCHAR(100), + cust_state VARCHAR(100), + cust_country VARCHAR(100), + cust_zipcode VARCHAR(20) +); + +-- Salespersons table +CREATE TABLE salespersons ( + id INT AUTO_INCREMENT PRIMARY KEY, + staff_id INT NOT NULL, + name VARCHAR(100) NOT NULL, + store VARCHAR(100) +); + +-- Invoices table +CREATE TABLE invoices ( + id INT AUTO_INCREMENT PRIMARY KEY, + invoice_number BIGINT NOT NULL, + date DATE NOT NULL, + car_id INT, + customer_id INT, + salesperson_id INT, + FOREIGN KEY (car_id) REFERENCES cars(id), + FOREIGN KEY (customer_id) REFERENCES customers(id), + FOREIGN KEY (salesperson_id) REFERENCES salespersons(id) +); + +-- challenge 3 seedomg the database +INSERT INTO cars (vin, manufacturer, model, year, color) VALUES +('309','Volkswagen','Tiguan',2019,'Blue'), +('348','Peugeot','Rifter',2019,'Red'), +('144','Ford','Fusion',2018,'White'), +('345','Toyota','RAV4',2018,'Silver'), +('234','Volvo','V60',2019,'Gray'), +('456','Volvo','V60 Cross Country',2019,'Gray'); + +-- Insert customers +INSERT INTO customers (cust_id, cust_name, cust_phone, cust_email, cust_address, cust_city, cust_state, cust_country, cust_zipcode) VALUES +(10001,'Pablo Picasso','+49 636 17 63 82',NULL,'Paseo de la Chopera, 14','Madrid','Madrid','Spain','28045'), +(20001,'Abraham Lincoln','+49 305 907 7086',NULL,'120 SW 8th St','Miami','Florida','United States','33130'), +(30001,'Napoléon Bonaparte','+49 1 79 75 40 00',NULL,'40 Rue du Colisée','Paris','Île-de-France','France','75008'); + +-- Insert salespersons +INSERT INTO salespersons (staff_id, name, store) VALUES +(00001,'Petey Cruiser','Madrid'), +(00002,'Anna Sthesia','Barcelona'), +(00003,'Paul Molive','Berlin'), +(00004,'Gail Forcewind','Paris'), +(00005,'Paige Turner','Mimia'), +(00006,'Bob Frapples','Mexico City'), +(00007,'Walter Melon','Amsterdam'), +(00008,'Shonda Leer','São Paulo'); + +-- Insert invoices +INSERT INTO invoices (invoice_number, date, car_id, customer_id, salesperson_id) VALUES +(852399038,'2018-08-22',1,1,3), +(731166526,'2018-12-31',3,3,5), +(271135104,'2019-01-22',2,2,7); \ No newline at end of file