Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added your-code/Car Dealership ERD.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
89 changes: 89 additions & 0 deletions your-code/lab-create-schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
-- lab_mysql Database Data
-- Version 1.2

SET NAMES utf8mb4;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

DROP SCHEMA IF EXISTS lab_mysql;
CREATE SCHEMA lab_mysql;
USE lab_mysql;

--
-- Table structure for table `cars`
--

CREATE TABLE cars (
car_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
vin VARCHAR(45) NOT NULL,
manufacturer VARCHAR(45) NOT NULL,
model VARCHAR(45) NOT NULL,
year SMALLINT UNSIGNED NOT NULL,
color VARCHAR(45) NOT NULL,
PRIMARY KEY (car_id),
KEY idx_cars_vin (vin)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Table structure for table `customer`
--

CREATE TABLE customers (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
customer_id SMALLINT UNSIGNED NOT NULL,
name VARCHAR(70) NOT NULL,
phone VARCHAR(45) NOT NULL,
email VARCHAR(50) DEFAULT NULL,
address VARCHAR(70) DEFAULT NULL,
city VARCHAR(45) NOT NULL,
state_province VARCHAR(45) NOT NULL,
country VARCHAR(45) NOT NULL,
postal INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
KEY idx_fk_customer_id (customer_id),
KEY idx_fk_name (name),
KEY idx_fk_city (city)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Table structure for table `salespersons`
--

CREATE TABLE salespersons (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
staff_id VARCHAR(5) NOT NULL,
name VARCHAR(45) NOT NULL,
store VARCHAR(45) NOT NULL,
PRIMARY KEY (id),
KEY idx_fk_staff_id (staff_id),
KEY idx_fk_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Table structure for table `invoices`
--

CREATE TABLE invoices (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
invoice_number INT DEFAULT NULL,
date DATETIME NOT NULL,
car_id SMALLINT UNSIGNED NOT NULL,
customer_id SMALLINT UNSIGNED NOT NULL,
staff_id TINYINT UNSIGNED NOT NULL,
amount DECIMAL(9,2) NOT NULL,
PRIMARY KEY (id),
KEY idx_fk_invoice (invoice_number),
KEY idx_fk_car_id (car_id),
KEY idx_fk_staff_id (staff_id),
KEY idx_fk_customer_id (customer_id),
CONSTRAINT fk_payment_car FOREIGN KEY (car_id) REFERENCES cars (car_id) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_payment_customer FOREIGN KEY (customer_id) REFERENCES customer (id) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_payment_staff FOREIGN KEY (staff_id) REFERENCES staff (id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

DELIMITER ;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
14 changes: 14 additions & 0 deletions your-code/lab-delete.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
select *
from cars
;
select *
from cars
where car_id=5
;
delete
from cars
where car_id=5
;
select *
from cars
;
67 changes: 67 additions & 0 deletions your-code/lab-seeding-data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
-- lab_mysql Database Data
-- Version 1.2

SET NAMES utf8mb4;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
SET @old_autocommit=@@autocommit;

USE lab_mysql;

--
-- Dumping data for table actor
--

SET AUTOCOMMIT=0;
INSERT INTO cars VALUES
(1,'3K096I98581DHSNUP','Volkswagen','Tiguan',2019,'Blue'),
(2,'ZM8G7BEUQZ97IH46V','Peugeot','Rifter',2019,'Red'),
(3,'RKXVNNIHLVVZOUB4M','Ford','Fusion',2018,'White'),
(4,'HKNDGS7CU31E9Z7JW','Toyota','RAV4',2018,'Silver'),
(5,'DAM41UDN3CHU2WVF6','Volvo','V60',2019,'Gray'),
(6,'DAM41UDN3CHU2WVF6','Volvo','V60 Cross Country',2019,'Gray');
COMMIT;

--
-- Dumping data for table customers
--

SET AUTOCOMMIT=0;
INSERT INTO `customers` VALUES
(1,10001,'Pablo Picasso','+34 636 17 63 82','-','Paseo de la Chopera, 14','Madrid','Madrid','Spain',28045),
(2,20001,'Abraham Lincoln','+1 305 907 7086','-','120 SW 8th St','Miami','Florida','United States',33130),
(3,30001,'Napoléon Bonaparte','+33 1 79 75 40 00','-','40 Rue du Colisée','Paris','Île-de-France','France',75008);
COMMIT;

--
-- Dumping data for table salespersons
--

SET AUTOCOMMIT=0;
INSERT INTO salespersons 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','Mimia'),
(6,'00006','Bob Frapples','Mexico City'),
(7,'00007','Walter Melon','Amsterdam'),
(8,'00008','Shonda Leer','São Paulo');
COMMIT;

--
-- Dumping data for table invoices
--

SET AUTOCOMMIT=0;
INSERT INTO invoices VALUES
(1,852399038,'2018-08-22',0,1,3,135000),
(2,731166526,'2018-12-31',3,0,5,244000),
(3,271135104,'2019-01-22',2,2,7,180500);
COMMIT;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
SET autocommit=@old_autocommit;
32 changes: 32 additions & 0 deletions your-code/lab-update.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
-- todos los registros de salespersons
select *
from salespersons
;
-- actualización del nombre de store
update salespersons
set store = 'Miami'
where staff_id='00005'
;
-- registro actualizado
select * from salespersons
where staff_id='00005'
;
-- todos los registros de clientes
select *
from customers
;
-- actualización del email de Pablo Picasso
update customers
set email = 'ppicasso@gmail.com'
where customer_id='10001'
;
-- actualización del email de Abraham Lincoln
update customers
set email = 'hello@napoleon.me'
where customer_id='30001'
;
-- registro actualizado
select *
from customers
where customer_id='30001'
;