Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mysql intro lab finished #7

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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 er diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
118 changes: 43 additions & 75 deletions your-code/create.sql
Original file line number Diff line number Diff line change
@@ -1,78 +1,46 @@
DROP DATABASE IF EXISTS cars;
CREATE DATABASE cars;
USE cars;

-- -----------------------------------------------------
-- Table `cars`.`cars`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cars`.`cars` (
`car_id` INT NOT NULL,
`manufacturer` VARCHAR(20) NOT NULL,
`model` VARCHAR(20) NOT NULL,
`year_` INT NOT NULL,
`color` VARCHAR(20) NOT NULL,
PRIMARY KEY (`car_id`));


-- -----------------------------------------------------
-- Table `cars`.`costumer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cars`.`costumer` (
`costumer_id` INT NOT NULL,
`first_name` VARCHAR(20) NOT NULL,
`last_name` VARCHAR(20),
`phone_no` VARCHAR(20) NULL DEFAULT NULL,
`email` VARCHAR(20) NULL DEFAULT NULL,
`address` VARCHAR(40) NULL DEFAULT NULL,
`city` VARCHAR(20) NULL DEFAULT NULL,
`state` VARCHAR(20) NULL DEFAULT NULL,
`country` VARCHAR(20) NULL DEFAULT NULL,
`zip_code` VARCHAR(20) NULL DEFAULT NULL,
`client` INT NULL DEFAULT NULL,
PRIMARY KEY (`costumer_id`));



-- -----------------------------------------------------
-- Table `cars`.`salesperson`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cars`.`salesperson` (
`salesperson_id` INT NOT NULL,
`first_name` VARCHAR(40) NOT NULL,
`store_name` VARCHAR(3) NOT NULL,
PRIMARY KEY (`salesperson_id`));

- -----------------------------------------------------
-- Table `cars`.`invoices`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `cars`.`invoices` (
`invoice_id` INT NOT NULL,
`date_` DATE NULL DEFAULT NULL,
`car` VARCHAR(20) NOT NULL,
`costumer` VARCHAR(20) NULL DEFAULT NULL,
`salesperson` VARCHAR(20) NULL DEFAULT NULL,
`salesperson_salesperson_id` INT NOT NULL,
`cars_car_id` INT NOT NULL,
`costumer_costumer_id` INT NOT NULL,
PRIMARY KEY (`invoice_id`),
INDEX `fk_invoices_salesperson_idx` (`salesperson_salesperson_id` ASC) VISIBLE,
INDEX `fk_invoices_cars1_idx` (`cars_car_id` ASC) VISIBLE,
INDEX `fk_invoices_costumer1_idx` (`costumer_costumer_id` ASC) VISIBLE,
CONSTRAINT `fk_invoices_salesperson`
FOREIGN KEY (`salesperson_salesperson_id`)
REFERENCES `cars`.`salesperson` (`salesperson_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_invoices_cars1`
FOREIGN KEY (`cars_car_id`)
REFERENCES `cars`.`cars` (`car_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_invoices_costumer1`
FOREIGN KEY (`costumer_costumer_id`)
REFERENCES `cars`.`costumer` (`costumer_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
-- Crear base de datos
CREATE DATABASE lab_mysql;

-- Seleccionar la base de datos
USE lab_mysql;

-- Crear tablas
CREATE TABLE Coches (
VIN VARCHAR(17) PRIMARY KEY,
Fabricante VARCHAR(50) NOT NULL,
Modelo VARCHAR(50) NOT NULL,
Ano INT NOT NULL,
Color VARCHAR(20) NOT NULL
);

CREATE TABLE Clientes (
ID_Cliente INT PRIMARY KEY,
Nombre VARCHAR(50) NOT NULL,
Telefono INT NOT NULL,
Email VARCHAR(50),
Direccion VARCHAR(50),
Ciudad VARCHAR(20),
Estado_Provincia VARCHAR(20),
Pais VARCHAR(20) NOT NULL,
Codigo_Postal INT NOT NULL
);

CREATE TABLE Vendedores (
ID_Vendedor INT PRIMARY KEY,
Nombre VARCHAR(50) NOT NULL,
Tienda VARCHAR(50) NOT NULL
);

CREATE TABLE Facturas (
Numero_Factura INT PRIMARY KEY,
Fecha DATE NOT NULL,
VIN VARCHAR(17) NOT NULL,
ID_Cliente INT NOT NULL,
ID_Vendedor INT NOT NULL,
FOREIGN KEY (VIN) REFERENCES Coches,
FOREIGN KEY (ID_Cliente) REFERENCES Clientes,
FOREIGN KEY (ID_Vendedor) REFERENCES Vendedores
);



6 changes: 6 additions & 0 deletions your-code/delete.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-- Seleccionar la base de datos
USE lab_mysql;

-- Eliminar coche con VIN 1C4RJEAG7HC999998
DELETE FROM Coches
WHERE VIN="1C4RJEAG7HC999998";
65 changes: 34 additions & 31 deletions your-code/seeding.sql
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
insert into cars(car_id, manufacturer, model, year_, color)
values ('0', 'Volkswagen','Tiguan', '2019','Blue'),
('1', 'Peugeot','Rifter', '2019', 'Red'),
('2', 'Ford','Fusion', '2018', 'White'),
('3', 'Toyota','RAV4', '2018', 'Silver'),
('4', 'Volvo', 'V60', '2019', 'Gray'),
('5', 'Volvo','V60 Cross Country', '2019', 'Gray');


insert into costumer(costumer_id, first_name, phone_no, email, address, city, state, country, zip_code)
values ('10001', 'Pablo Picasso', '+34 636 17 63 82', '-', 'Paseo de la Chope', 'Madrid', 'Madrid', 'Spain', '28045'),
('20001', 'Abraham Lincoln', '+1 305 907 7086', '-', '120 SW 8th St', 'Miami', 'Florida', 'United States', '33130'),
('30001', 'Napoleon Bonaparte', '+33 1 79 75 40 00', '-', '40 Rue du Colisée', 'Paris', 'Île-de-France', 'France', '75008');


insert into salesperson (salesperson_id, first_name, store_name)
values ('00001', 'Petey Cruiser', '0'),
('00002', 'Anna Sthesia', '1'),
('00003', 'Paul Molive', '2'),
('00004', 'Gail Forcewind', '3'),
('00005', 'Paige Turner', '4'),
('00006', 'Bob Frapples', '5'),
('00007', 'Walter Melon', '6'),
('00008', 'Shonda Leer', 'São Paulo');

insert into invoices (invoice_id, date_, car, costumer, salesperson)
values ('852399038', '2018-08-22', '0','1','3'),
('731166526', '2018-12-31', '3', '0', '5'),
('271135104', '2019-01-22', '2','2','7');


-- Seleccionar la base de datos
USE lab_mysql;

-- Insertar datos en la tabla Coches
INSERT INTO Coches (VIN, Fabricante, Modelo, Ano, Color)
VALUES
('1HGBH41JXMN109186', 'Toyota', 'Corolla', 2020, 'Rojo'),
('2FAGP9CW4HH999999', 'Ford', 'Focus', 2019, 'Negro'),
('3FAHP0HA7AR333333', 'Chevrolet', 'Malibu', 2021, 'Azul'),
('4T1BE32K85U227744', 'Honda', 'Civic', 2018, 'Blanco'),
('1C4RJEAG7HC999998', 'Jeep', 'Grand Cherokee', 2022, 'Gris');

-- Insertar datos en la tabla Clientes
INSERT INTO Clientes (ID_Cliente, Nombre, Telefono, Direccion, Ciudad, Estado_Provincia, Pais, Codigo_Postal)
VALUES
(1, 'Juan Pérez', 1234567890,'Paseo de la Chopera, 14', 'Madrid', 'Madrid', 'España', 45678),
(2, 'Maria López', 9876543210, '120 SW 8th St', 'Miama', 'Florida', 'USA', 56789),
(3, 'Carlos García', 1122334455, '40 Rue du Colisée', 'Paris', 'Ile-de-France', 'France', 67890);


-- Insertar datos en la tabla Vendedores
INSERT INTO Vendedores (ID_Vendedor, Nombre, Tienda) VALUES
(1, 'Petey Cruiser', 'Madrid'),
(2, 'Anna Sthesia', 'Barcelona'),
(3, 'Paul Molive', 'Berlin'),
(4, 'Gail Forcewind', 'Paris'),
(5, 'Paige Turner', 'Miami');

-- Insertar datos en la tabla Facturas
-- Usar VIN, ID_Cliente y ID_Vendedor
INSERT INTO Facturas (Numero_Factura, Fecha, VIN, ID_Cliente, ID_Vendedor) VALUES
(1001, '2024-01-15', '1HGBH41JXMN109186', 1, 1),
(1002, '2024-02-20', '2FAGP9CW4HH999999', 2, 5),
(1003, '2024-03-10', '3FAHP0HA7AR333333', 3, 4);

17 changes: 17 additions & 0 deletions your-code/update.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-- Seleccionar la base de datos
USE lab_mysql;

-- Actualizar cliente 1 con email
UPDATE Clientes
SET Email = '[email protected]'
WHERE ID_Cliente = 1;

-- Actualizar cliente 2 con email
UPDATE Clientes
SET Email = '[email protected]', Ciudad='Miami'
WHERE ID_Cliente = 2;

-- Actualizar cliente 3 con email
UPDATE Clientes
SET Email = '[email protected]'
WHERE ID_Cliente = 3;