diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/.DS_Store differ diff --git a/cardealership_ERD.mwb b/cardealership_ERD.mwb new file mode 100644 index 0000000..249a466 Binary files /dev/null and b/cardealership_ERD.mwb differ diff --git a/cardealership_ERD.png b/cardealership_ERD.png new file mode 100644 index 0000000..06922c5 Binary files /dev/null and b/cardealership_ERD.png differ diff --git a/create.sql b/create.sql new file mode 100644 index 0000000..aa3acd9 --- /dev/null +++ b/create.sql @@ -0,0 +1,48 @@ +CREATE DATABASE IF NOT EXISTS lab_mysql; +USE lab_mysql; + +DROP TABLE IF EXISTS invoices; +DROP TABLE IF EXISTS salespersons; +DROP TABLE IF EXISTS customers; +DROP TABLE IF EXISTS cars; + +CREATE TABLE cars ( + VIN CHAR(17) NOT NULL, + manufacturer VARCHAR(50) NOT NULL, + model VARCHAR(50) NOT NULL, + year YEAR NOT NULL, + color VARCHAR(20) NOT NULL, + PRIMARY KEY (VIN) +); + +CREATE TABLE customers ( + customer_ID INT AUTO_INCREMENT NOT NULL, + name VARCHAR(100) NOT NULL, + phone_number VARCHAR(20), + email VARCHAR(100), + address VARCHAR(150), + city VARCHAR(50), + state_province VARCHAR(50), + country VARCHAR(50) NOT NULL, + ZIP VARCHAR(20), + PRIMARY KEY (customer_ID) +); + +CREATE TABLE salespersons ( + staff_ID INT AUTO_INCREMENT NOT NULL, + name VARCHAR(100) NOT NULL, + store VARCHAR(100), + PRIMARY KEY (staff_ID) +); + +CREATE TABLE invoices ( + invoice_number INT AUTO_INCREMENT NOT NULL, + date DATE NOT NULL, + car_VIN CHAR(17) NOT NULL, + customer_ID INT NOT NULL, + salesperson_ID INT NOT NULL, + PRIMARY KEY (invoice_number), + FOREIGN KEY (car_VIN) REFERENCES cars(VIN), + FOREIGN KEY (customer_ID) REFERENCES customers(customer_ID), + FOREIGN KEY (salesperson_ID) REFERENCES salespersons(staff_ID) +); diff --git a/delete.sql b/delete.sql new file mode 100644 index 0000000..946ec92 --- /dev/null +++ b/delete.sql @@ -0,0 +1,9 @@ +USE lab_mysql; + +SET SQL_SAFE_UPDATES = 0; + +DELETE FROM cars +WHERE vin = 'HKNDGS7CU31E9Z7JW' +LIMIT 1; + +SET SQL_SAFE_UPDATES = 1; diff --git a/seeding.sql b/seeding.sql new file mode 100644 index 0000000..ae8cfb6 --- /dev/null +++ b/seeding.sql @@ -0,0 +1,72 @@ +DROP TABLE IF EXISTS invoices; +DROP TABLE IF EXISTS salespersons; +DROP TABLE IF EXISTS customers; +DROP TABLE IF EXISTS cars; + +CREATE TABLE cars ( + vin VARCHAR(17) PRIMARY KEY, + manufacturer VARCHAR(50), + model VARCHAR(50), + year INT, + color VARCHAR(30) +); + +CREATE TABLE customers ( + id INT PRIMARY KEY, + cust_id INT, + cust_name VARCHAR(100), + cust_phone VARCHAR(30), + cust_email VARCHAR(100), + cust_address VARCHAR(200), + cust_city VARCHAR(50), + cust_state VARCHAR(50), + cust_country VARCHAR(50), + cust_zipcode VARCHAR(20) +); + +CREATE TABLE salespersons ( + id INT PRIMARY KEY, + staff_id VARCHAR(10), + name VARCHAR(100), + store VARCHAR(50) +); + +CREATE TABLE invoices ( + id INT PRIMARY KEY, + invoice_number VARCHAR(20), + date DATE, + car VARCHAR(17), + customer INT, + salesperson INT, + FOREIGN KEY (car) REFERENCES cars(vin), + FOREIGN KEY (customer) REFERENCES customers(id), + FOREIGN KEY (salesperson) REFERENCES salespersons(id) +); + +INSERT INTO cars (vin, manufacturer, model, year, color) VALUES +('3K096I98581DHSNAQ', 'Volkswagen', 'Tiguan', 2019, 'Blue'), +('ZM8G7BEUQZ97IH46V', 'Peugeot', 'Rifter', 2019, 'Red'), +('RKXVNNIHLVVZOUB4M', 'Ford', 'Fusion', 2018, 'White'), +('HKNDGS7CU31E9Z7JW', 'Toyota', 'RAV4', 2018, 'Silver'), +('DAM41UDN3CHU2WVF6', 'Volvo', 'V60', 2019, 'Gray'), +('DAM41UDN3CHU2WVF7', 'Volvo', 'V60 Cross Country', 2019, 'Gray'); + +INSERT INTO customers (id, cust_id, cust_name, cust_phone, cust_email, cust_address, cust_city, cust_state, cust_country, cust_zipcode) VALUES +(1, 10001, 'Pablo Picasso', '+34 636 17 63 82', NULL, 'Paseo de la Chopera, 14', 'Madrid', 'Madrid', 'Spain', '28045'), +(2, 20001, 'Abraham Lincoln', '+1 305 907 7086', NULL, '120 SW 8th St', 'Miami', 'Florida', 'United States', '33130'), +(3, 30001, 'Napoléon Bonaparte', '+33 1 79 75 40 00', NULL, '40 Rue du Colisée', 'Paris', 'Île-de-France', 'France', '75008'); + +INSERT INTO salespersons (id, staff_id, name, store) VALUES +(1, '00001', 'Petey Cruiser', 'Madrid'), +(2, '00002', 'Anna Sthesia', 'Barcelona'), +(3, '00003', 'Paul Molive', 'Berlin'), +(4, '00004', 'Gail Forcewind', 'Paris'), +(5, '00005', 'Paige Turner', 'Miami'), +(6, '00006', 'Bob Frapples', 'Mexico City'), +(7, '00007', 'Walter Melon', 'Amsterdam'), +(8, '00008', 'Shonda Leer', 'São Paulo'); + +INSERT INTO invoices (id, invoice_number, date, car, customer, salesperson) VALUES +(1, '852399038', '2018-08-22', '3K096I98581DHSNAQ', 1, 3), +(2, '731166526', '2018-12-31', 'RKXVNNIHLVVZOUB4M', 3, 5), +(3, '271135104', '2019-01-22', 'ZM8G7BEUQZ97IH46V', 2, 7); \ No newline at end of file diff --git a/update.sql b/update.sql new file mode 100644 index 0000000..16ac085 --- /dev/null +++ b/update.sql @@ -0,0 +1,13 @@ +SELECT id, cust_name, cust_email FROM customers; + +UPDATE customers +SET cust_email = 'ppicasso@gmail.com' +WHERE id = 1; + +UPDATE customers +SET cust_email = 'lincoln@us.gov' +WHERE id = 2; + +UPDATE customers +SET cust_email = 'hello@napoleon.me' +WHERE id = 3; \ No newline at end of file