-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvehiculos.sql
More file actions
94 lines (76 loc) · 2.67 KB
/
vehiculos.sql
File metadata and controls
94 lines (76 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* Estos comandos establecen conexión con la DB y confirman la conexión */
USE bwuyuah9no0japy742v9;
SHOW DATABASES;
/* Eliminación de Tablas */
DROP TABLE colores;
DROP TABLE marcas;
DROP TABLE tipos_vehiculos;
drop table vehiculos;
/* Tabla de Colores */
/* Se crea como entidad independiente */
CREATE TABLE colores (
id INT PRIMARY KEY AUTO_INCREMENT,
color VARCHAR(45)
);
INSERT INTO colores (color)
VALUES
('Azul'),
('Verde');
/* Tabla de Marcas */
/* Se crea como un entidad independiente relacionada a muchos tipos de vehiculos */
CREATE TABLE marcas (
id INT PRIMARY KEY AUTO_INCREMENT,
marca VARCHAR(45)
);
INSERT INTO marcas (marca)
VALUES
('BMW'),
('Lamborguini');
/* Tipos de vehiculos */
/* Se crea como un conjunto relacionado con una única marca */
CREATE TABLE tipos_vehiculos (
id INT PRIMARY KEY AUTO_INCREMENT,
tipo_vehiculo VARCHAR(45),
/* foreign key */
idMarcas INT
);
ALTER TABLE tipos_vehiculos ADD FOREIGN KEY (idMarcas) REFERENCES marcas(id);
INSERT INTO tipos_vehiculos (tipo_vehiculo)
VALUES
('Carro'),
('Moto');
/* Vehiculos */
/* Se crea como una entidad débil correlacionada con dos tablas */
CREATE TABLE vehiculos (
idVehiculo INT PRIMARY KEY AUTO_INCREMENT,
modelo VARCHAR(45),
placa VARCHAR(45),
/* foreign keys */
idColores INT,
idTipo_vehiculo INT,
idMarcasTipo_vehiculo INT
);
/* Foreign Keys */
ALTER TABLE vehiculos ADD FOREIGN KEY (idColores) REFERENCES colores(id);
ALTER TABLE vehiculos ADD FOREIGN KEY (idTipo_vehiculo) REFERENCES tipos_vehiculos(id);
ALTER TABLE vehiculos ADD FOREIGN KEY (idMarcasTipo_vehiculo) REFERENCES marcas(id);
INSERT INTO vehiculos (modelo, placa, idColores, idTipo_vehiculo, idMarcasTipo_vehiculo)
VALUES
(2023, 'ESE-123', 1, 2, 1),
(2020, 'ESS-384', 2, 2, 2),
(2021, 'ESA-643', 1, 2, 2),
(2020, 'DSE-673', 1, 1, 1),
(2022, 'EFS-693', 2, 2, 1),
(2022, 'HFE-803', 1, 2, 1),
(2020, 'HHE-773', 2, 2, 1),
(2023, 'HYE-128', 2, 2, 2),
(2022, 'JRE-193', 1, 2, 2),
(2023, 'EYE-823', 2, 1, 2);
/* Extracción de Datos */
/* Extracción General */
SELECT * FROM vehiculos;
/* Extracción de Colores */
/* Se realiza join para relacionar y extraer datos de otras tablas */
SELECT * FROM vehiculos INNER JOIN colores WHERE vehiculos.idColores = colores.id;
/* Extracción de Marca se gun el tipo de vehículo */
SELECT * FROM vehiculos INNER JOIN tipos_vehículos WHERE vehiculos.idMarcasTipo_vehiculo = tipo_vehiculo.idMarca;