Skip to content

Commit 73c41be

Browse files
committed
sesion 3 concesionario db
1 parent 1762bde commit 73c41be

File tree

2 files changed

+196
-0
lines changed

2 files changed

+196
-0
lines changed

sesion2-pagila.sql

+16
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ UPDATE customer SET activebool = FALSE WHERE customer_id = 1;
2828
UPDATE customer SET activebool = TRUE WHERE customer_id = 1;
2929

3030
SELECT * FROM film;
31+
SELECT * FROM film WHERE description = 'A Epic Drama of a Feminist And a Mad Scientist who must Battle a Teacher in The Canadian Rockies';
32+
SELECT * FROM film WHERE description LIKE '%Drama%';
33+
3134
SELECT * FROM film_actor;
3235
SELECT * FROM film_actor WHERE film_id = 1;
3336
SELECT * FROM film_actor WHERE actor_id = 1;
@@ -42,10 +45,23 @@ SELECT * FROM rental;
4245
SELECT * FROM staff;
4346
SELECT * FROM store;
4447

48+
-- insertar datos
49+
select * from actor;
50+
51+
INSERT INTO actor (first_name, last_name) VALUES ('ALAN', 'SASTRE');
52+
4553

54+
select * from customer;
55+
select * from address;
56+
select * from store;
4657

58+
INSERT INTO address (address, district, city_id, postal_code, phone)
59+
VALUES ('Calle falsa', 'Nueva América', 300, '28004', '12334354352');
4760

61+
-- address 606
4862

63+
INSERT INTO customer(store_id, first_name, last_name, email, address_id, activebool, create_date)
64+
VALUES (1, 'CUSTOMER NEW', 'LASTNAME EXAMPLE', 'customernew@company.com', 606, TRUE, '2021-12-1');
4965

5066

5167

sesion3-concesionario.sql

+180
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
-- MANUFACTURER
2+
3+
CREATE TABLE manufacturer(
4+
id SERIAL,
5+
name VARCHAR(50) NOT NULL,
6+
num_employees INT,
7+
CONSTRAINT pk_manufacturer PRIMARY KEY(id)
8+
);
9+
10+
SELECT * FROM manufacturer;
11+
12+
INSERT INTO manufacturer (name, num_employees)
13+
VALUES ('Ford', 29000);
14+
15+
INSERT INTO manufacturer (name, num_employees)
16+
VALUES ('Toyota', 45000);
17+
18+
-- MODEL
19+
20+
CREATE TABLE model(
21+
id SERIAL,
22+
name VARCHAR(50) NOT NULL,
23+
id_manufacturer INT,
24+
CONSTRAINT pk_model PRIMARY KEY(id),
25+
CONSTRAINT fk_model_manufacturer FOREIGN KEY(id_manufacturer) REFERENCES manufacturer(id)
26+
);
27+
28+
SELECT * FROM model;
29+
30+
INSERT INTO model (name, id_manufacturer)
31+
VALUES ('Mondeo', 1);
32+
33+
INSERT INTO model (name, id_manufacturer)
34+
VALUES ('Fiesta', 1);
35+
36+
INSERT INTO model (name, id_manufacturer)
37+
VALUES ('Prius', 2);
38+
39+
-- VERSION
40+
41+
CREATE TABLE version(
42+
id SERIAL,
43+
name VARCHAR(50) NOT NULL,
44+
engine VARCHAR(50),
45+
price NUMERIC,
46+
cc NUMERIC(2,1),
47+
id_model INT,
48+
CONSTRAINT pk_version PRIMARY KEY(id),
49+
CONSTRAINT fk_version_model FOREIGN KEY(id_model) REFERENCES model(id) ON UPDATE set null ON DELETE set null
50+
);
51+
52+
SELECT * FROM version;
53+
54+
INSERT INTO version (name, engine, price, cc, id_model) VALUES ('Basic', 'Diesel 4C', 30000, 1.9, 2);
55+
INSERT INTO version (name, engine, price, cc, id_model) VALUES ('Medium', 'Diesel 5C', 50000, 2.2, 2);
56+
INSERT INTO version (name, engine, price, cc, id_model) VALUES ('Advance', 'Diesel 6C V', 80000, 3.2, 2);
57+
58+
INSERT INTO version (name, engine, price, cc, id_model) VALUES ('Sport', 'Gasolina 4C', 50000, 2.1, 3);
59+
INSERT INTO version (name, engine, price, cc, id_model) VALUES ('Sport advance', 'Gasolina 8C', 90000, 3.2, 3);
60+
61+
-- EXTRA
62+
CREATE TABLE extra(
63+
id SERIAL,
64+
name VARCHAR(50) NOT NULL,
65+
description VARCHAR(300),
66+
CONSTRAINT pk_extra PRIMARY KEY(id)
67+
);
68+
69+
CREATE TABLE extra_version (
70+
id_version INT,
71+
id_extra INT,
72+
price NUMERIC NOT NULL CHECK (price >= 0),
73+
CONSTRAINT pk_extra_version PRIMARY KEY(id_version, id_extra),
74+
CONSTRAINT fk_version_extra FOREIGN KEY(id_version) REFERENCES version(id) ON UPDATE cascade ON DELETE cascade,
75+
CONSTRAINT fk_extra_version FOREIGN KEY(id_extra) REFERENCES extra(id) ON UPDATE cascade ON DELETE cascade
76+
);
77+
78+
INSERT INTO extra (name, description)
79+
VALUES ('Techo solar', 'Techo solar flamante lorem ipsum dolor ...');
80+
81+
INSERT INTO extra (name, description)
82+
VALUES ('Climatizador', 'lorem ipsum dolor ...');
83+
84+
INSERT INTO extra (name, description)
85+
VALUES ('WiFi', 'lorem ipsum dolor ...');
86+
87+
INSERT INTO extra (name, description)
88+
VALUES ('Frigorífico', 'lorem ipsum dolor ...');
89+
90+
SELECT * FROM extra;
91+
92+
SELECT * FROM extra_version;
93+
94+
-- Ford Mondeo Basic techo solar
95+
INSERT INTO extra_version VALUES (1, 1, 3000);
96+
-- Ford Mondeo Basic climatizador
97+
INSERT INTO extra_version VALUES (1, 2, 1000);
98+
-- Ford Mondeo Basic WiFi
99+
INSERT INTO extra_version VALUES (1, 3, 500);
100+
101+
-- Ford Mondeo Advance techo solar
102+
INSERT INTO extra_version VALUES (3, 1, 3300);
103+
-- Ford Mondeo Advance climatizador
104+
INSERT INTO extra_version VALUES (3, 2, 1200);
105+
-- Ford Mondeo Advance WiFi
106+
INSERT INTO extra_version VALUES (3, 3, 500);
107+
108+
CREATE TABLE employee(
109+
id SERIAL,
110+
name VARCHAR(30),
111+
nif VARCHAR(9) NOT NULL UNIQUE,
112+
phone VARCHAR(9),
113+
CONSTRAINT pk_employee PRIMARY KEY(id)
114+
);
115+
116+
INSERT INTO employee(name, nif, phone) VALUES('Bob', '123456789', '111111111');
117+
INSERT INTO employee(name, nif, phone) VALUES('Mike', '123456781', '111111112');
118+
SELECT * FROM employee;
119+
120+
CREATE TABLE customer(
121+
id SERIAL,
122+
name VARCHAR(30),
123+
email VARCHAR(50) NOT NULL UNIQUE,
124+
CONSTRAINT pk_customer PRIMARY KEY(id)
125+
);
126+
127+
INSERT INTO customer(name, email) VALUES('customer1', 'c1@gmail.com');
128+
INSERT INTO customer(name, email) VALUES('customer2', 'c2@gmail.com');
129+
SELECT * FROM customer;
130+
131+
CREATE TABLE vehicle(
132+
id SERIAL,
133+
license_num VARCHAR (7),
134+
creation_date DATE,
135+
price_gross NUMERIC,
136+
price_net NUMERIC,
137+
type VARCHAR(30),
138+
139+
id_manufacturer INT,
140+
id_model INT,
141+
id_version INT,
142+
id_extra INT,
143+
144+
CONSTRAINT pk_vehicle PRIMARY KEY(id),
145+
CONSTRAINT fk_vehicle_manufacturer FOREIGN KEY (id_manufacturer) REFERENCES manufacturer(id),
146+
CONSTRAINT fk_vehicle_model FOREIGN KEY (id_model) REFERENCES model(id),
147+
CONSTRAINT fk_vehicle_extra_version FOREIGN KEY (id_version, id_extra) REFERENCES extra_version(id_version, id_extra)
148+
);
149+
150+
SELECT * FROM vehicle;
151+
SELECT * FROM manufacturer;
152+
SELECT * FROM model;
153+
SELECT * FROM extra_version;
154+
SELECT * FROM vehicle;
155+
156+
INSERT INTO vehicle (license_num, price_gross, id_manufacturer, id_model, id_version, id_extra)
157+
VALUES ('1234LLL', 40000, 1, 2, 1, 2);
158+
159+
INSERT INTO vehicle (license_num, price_gross, id_manufacturer, id_model, id_version, id_extra)
160+
VALUES ('3456EEE', 60000, 1, 3, 3, 3);
161+
162+
CREATE TABLE sale(
163+
id SERIAL,
164+
sale_date DATE,
165+
channel VARCHAR(300),
166+
167+
id_vehicle INT,
168+
id_employee INT,
169+
id_customer INT,
170+
171+
CONSTRAINT pk_sale PRIMARY KEY(id),
172+
CONSTRAINT fk_sale_vehicle FOREIGN KEY (id_vehicle) REFERENCES vehicle(id),
173+
CONSTRAINT fk_sale_employee FOREIGN KEY (id_employee) REFERENCES employee(id),
174+
CONSTRAINT fk_sale_customer FOREIGN KEY (id_customer) REFERENCES customer(id)
175+
);
176+
177+
INSERT INTO sale(sale_date, channel, id_vehicle, id_employee, id_customer)
178+
VALUES('2022-01-01', 'Phone', 1, 1, 1);
179+
180+
SELECT * FROM sale;

0 commit comments

Comments
 (0)