0% encontró este documento útil (0 votos)
36 vistas18 páginas

00 Base de Datos para Sistema de Vehículo - Script SQL

El documento presenta un script para crear una base de datos de vehículos en Oracle, incluyendo tablas para países, marcas y vehículos, así como sus relaciones y restricciones. También incluye la inserción de 50 marcas de vehículos y algunos ejemplos de vehículos, además de crear índices y una vista para reportes. Se asegura la integridad de los datos mediante claves foráneas y restricciones de validación.

Cargado por

Edwin Palomino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
36 vistas18 páginas

00 Base de Datos para Sistema de Vehículo - Script SQL

El documento presenta un script para crear una base de datos de vehículos en Oracle, incluyendo tablas para países, marcas y vehículos, así como sus relaciones y restricciones. También incluye la inserción de 50 marcas de vehículos y algunos ejemplos de vehículos, además de crear índices y una vista para reportes. Se asegura la integridad de los datos mediante claves foráneas y restricciones de validación.

Cargado por

Edwin Palomino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Base de Datos para Sistema de Vehículos

1. Script de Base de Datos para Oracle

-- Eliminar tablas si existen

DROP TABLE vehiculo CASCADE CONSTRAINTS;

DROP TABLE marca CASCADE CONSTRAINTS;

DROP TABLE pais CASCADE CONSTRAINTS;

-- Crear tabla PAIS

CREATE TABLE pais (

idpais NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,

nombre_pais VARCHAR2(100) NOT NULL UNIQUE,

continente VARCHAR2(50),

codigo_iso VARCHAR2(3)

);

-- Crear tabla MARCA

CREATE TABLE marca (

idmarca NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,

nombre_marca VARCHAR2(100) NOT NULL UNIQUE,

idpais NUMBER NOT NULL,

año_fundacion NUMBER,

sitio_web VARCHAR2(200),

CONSTRAINT fk_marca_pais FOREIGN KEY (idpais) REFERENCES


pais(idpais)

);

-- Crear tabla VEHICULO

CREATE TABLE vehiculo (


idvehiculo NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY
KEY,

placa VARCHAR2(10) UNIQUE NOT NULL,

id_marca NUMBER NOT NULL,

modelo VARCHAR2(100) NOT NULL,

color VARCHAR2(50),

anio_fabricacion NUMBER NOT NULL,

nro_puertas NUMBER,

combustible VARCHAR2(20) NOT NULL,

precio NUMBER(10,2),

fecha_registro DATE DEFAULT SYSDATE,

estado VARCHAR2(20) DEFAULT 'ACTIVO',

CONSTRAINT fk_vehiculo_marca FOREIGN KEY (id_marca)


REFERENCES marca(idmarca),

CONSTRAINT chk_anio CHECK (anio_fabricacion BETWEEN 1900


AND EXTRACT(YEAR FROM SYSDATE) + 1),

CONSTRAINT chk_puertas CHECK (nro_puertas BETWEEN 2 AND 6),

CONSTRAINT chk_combustible CHECK (combustible IN ('GASOLINA',


'DIESEL', 'ELÉCTRICO', 'HÍBRIDO', 'GAS'))

);

-- Crear índices para mejorar rendimiento

CREATE INDEX idx_vehiculo_marca ON vehiculo(id_marca);

CREATE INDEX idx_vehiculo_anio ON vehiculo(anio_fabricacion);

CREATE INDEX idx_vehiculo_combustible ON vehiculo(combustible);

CREATE INDEX idx_marca_pais ON marca(idpais);

CREATE INDEX idx_vehiculo_placa ON vehiculo(placa);

-- Crear secuencia para números de placa (opcional)

CREATE SEQUENCE seq_placa START WITH 1000 INCREMENT BY 1;


-- Vista para reportes consolidados

CREATE VIEW vista_vehiculos_completa AS

SELECT

v.idvehiculo,

v.placa,

m.nombre_marca,

p.nombre_pais as pais_origen,

v.modelo,

v.color,

v.anio_fabricacion,

v.nro_puertas,

v.combustible,

v.precio,

v.fecha_registro,

v.estado

FROM vehiculo v

JOIN marca m ON v.id_marca = m.idmarca

JOIN pais p ON m.idpais = p.idpais;

2. Inserción de Datos

-- Script para insertar 50 marcas de vehículos con datos reales

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Alemania', 'Europa', 'DEU');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Japón', 'Asia', 'JPN');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Estados Unidos', 'América', 'USA');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Francia', 'Europa', 'FRA');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Italia', 'Europa', 'ITA');
INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES
('Corea del Sur', 'Asia', 'KOR');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Reino Unido', 'Europa', 'GBR');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Suecia', 'Europa', 'SWE');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('China', 'Asia', 'CHN');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('India', 'Asia', 'IND');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Brasil', 'América', 'BRA');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('República Checa', 'Europa', 'CZE');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Rumanía', 'Europa', 'ROU');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Rusia', 'Europa', 'RUS');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Malasia', 'Asia', 'MYS');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('España', 'Europa', 'ESP');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Canadá', 'América', 'CAN');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Australia', 'Oceanía', 'AUS');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Polonia', 'Europa', 'POL');

INSERT INTO pais (nombre_pais, continente, codigo_iso) VALUES


('Turquía', 'Asia', 'TUR');

-- Ahora insertar las 50 marcas

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Toyota', 2, 1937, 'www.toyota.com');
INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)
VALUES ('Volkswagen', 1, 1937, 'www.volkswagen.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Ford', 3, 1903, 'www.ford.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Mercedes-Benz', 1, 1926, 'www.mercedes-benz.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('BMW', 1, 1916, 'www.bmw.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Honda', 2, 1948, 'www.honda.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Nissan', 2, 1933, 'www.nissan.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Hyundai', 6, 1967, 'www.hyundai.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Kia', 6, 1944, 'www.kia.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Chevrolet', 3, 1911, 'www.chevrolet.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Renault', 4, 1899, 'www.renault.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Peugeot', 4, 1810, 'www.peugeot.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Fiat', 5, 1899, 'www.fiat.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Audi', 1, 1909, 'www.audi.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Volvo', 8, 1927, 'www.volvo.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Mazda', 2, 1920, 'www.mazda.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Subaru', 2, 1953, 'www.subaru.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Mitsubishi', 2, 1870, 'www.mitsubishi.com');
INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)
VALUES ('Lexus', 2, 1989, 'www.lexus.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Jeep', 3, 1941, 'www.jeep.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Dodge', 3, 1900, 'www.dodge.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Chrysler', 3, 1925, 'www.chrysler.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Cadillac', 3, 1902, 'www.cadillac.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Buick', 3, 1903, 'www.buick.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('GMC', 3, 1901, 'www.gmc.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Tesla', 3, 2003, 'www.tesla.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Porsche', 1, 1931, 'www.porsche.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Opel', 1, 1862, 'www.opel.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Mini', 7, 1959, 'www.mini.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Jaguar', 7, 1922, 'www.jaguar.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Land Rover', 7, 1948, 'www.landrover.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Bentley', 7, 1919, 'www.bentleymotors.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Rolls-Royce', 7, 1906, 'www.rolls-roycemotorcars.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Aston Martin', 7, 1913, 'www.astonmartin.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Citroën', 4, 1919, 'www.citroen.com');
INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)
VALUES ('DS Automobiles', 4, 2009, 'www.dsautomobiles.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Alfa Romeo', 5, 1910, 'www.alfaromeo.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Maserati', 5, 1914, 'www.maserati.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Ferrari', 5, 1939, 'www.ferrari.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Lamborghini', 5, 1963, 'www.lamborghini.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Lada', 14, 1966, 'www.lada.ru');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Škoda', 12, 1895, 'www.skoda-auto.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Dacia', 13, 1966, 'www.dacia.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Seat', 16, 1950, 'www.seat.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Tata Motors', 10, 1945, 'www.tatamotors.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Mahindra', 10, 1945, 'www.mahindra.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Proton', 15, 1983, 'www.proton.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Geely', 9, 1986, 'www.geely.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('BYD', 9, 1995, 'www.byd.com');

INSERT INTO marca (nombre_marca, idpais, año_fundacion, sitio_web)


VALUES ('Great Wall', 9, 1984, 'www.gwm-global.com');

-- Verificar que se insertaron exactamente 50 marcas

SELECT COUNT(*) AS total_marcas FROM marca;

-- Ahora insertar los 50 vehículos


INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('ABC-123', 1, 'Corolla', 'Blanco', 2022, 4, 'GASOLINA',


25000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('DEF-456', 2, 'Golf', 'Negro', 2021, 4, 'GASOLINA', 28000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('GHI-789', 3, 'F-150', 'Rojo', 2023, 2, 'DIESEL', 45000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('JKL-012', 4, 'Clase C', 'Gris', 2022, 4, 'GASOLINA', 42000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('MNO-345', 5, 'Serie 3', 'Azul', 2023, 4, 'HÍBRIDO', 38000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('PQR-678', 6, 'Civic', 'Plateado', 2022, 4, 'GASOLINA',


26000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('STU-901', 7, 'Sentra', 'Blanco', 2021, 4, 'GASOLINA',


22000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)
VALUES ('VWX-234', 8, 'Tucson', 'Negro', 2023, 4, 'DIESEL', 32000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('YZA-567', 9, 'Sportage', 'Verde', 2022, 4, 'GASOLINA',


29000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('BCD-890', 10, 'Malibu', 'Rojo', 2023, 4, 'GASOLINA',


27000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('EFG-123', 11, 'Clio', 'Amarillo', 2021, 2, 'GASOLINA',


18000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('HIJ-456', 12, '208', 'Gris', 2022, 4, 'ELÉCTRICO', 35000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('KLM-789', 13, '500', 'Blanco', 2023, 2, 'GASOLINA',


21000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('NOP-012', 14, 'A4', 'Negro', 2022, 4, 'DIESEL', 41000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('QRS-345', 15, 'XC60', 'Azul', 2023, 4, 'HÍBRIDO', 48000.00);


INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('TUV-678', 16, 'CX-5', 'Rojo', 2022, 4, 'GASOLINA', 31000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('WXY-901', 17, 'Outback', 'Verde', 2023, 4, 'GASOLINA',


35000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('ZAB-234', 18, 'Outlander', 'Plateado', 2021, 4, 'GASOLINA',


28000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('CDE-567', 19, 'RX 350', 'Blanco', 2023, 4, 'GASOLINA',


52000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('FGH-890', 20, 'Wrangler', 'Amarillo', 2022, 2, 'DIESEL',


38000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('IJK-123', 21, 'Charger', 'Negro', 2023, 4, 'GASOLINA',


42000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('LMN-456', 22, '300', 'Gris', 2022, 4, 'GASOLINA', 35000.00);


INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('OPQ-789', 23, 'Escalade', 'Negro', 2023, 4, 'DIESEL',


85000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('RST-012', 24, 'Enclave', 'Azul', 2022, 4, 'GASOLINA',


45000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('UVW-345', 25, 'Sierra', 'Blanco', 2023, 2, 'DIESEL',


55000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('XYZ-678', 26, 'Model 3', 'Rojo', 2023, 4, 'ELÉCTRICO',


42000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('AAA-901', 27, '911', 'Amarillo', 2022, 2, 'GASOLINA',


120000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('BBB-234', 28, 'Corsa', 'Verde', 2021, 4, 'GASOLINA',


19000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)
VALUES ('CCC-567', 29, 'Cooper', 'Azul', 2023, 2, 'GASOLINA',
32000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('DDD-890', 30, 'F-Pace', 'Plateado', 2022, 4, 'DIESEL',


58000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('EEE-123', 31, 'Discovery', 'Blanco', 2023, 4, 'HÍBRIDO',


72000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('FFF-456', 32, 'Continental', 'Negro', 2022, 4, 'GASOLINA',


220000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('GGG-789', 33, 'Ghost', 'Gris', 2023, 4, 'GASOLINA',


350000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('HHH-012', 34, 'DB11', 'Rojo', 2022, 2, 'GASOLINA',


210000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('III-345', 35, 'C4', 'Amarillo', 2021, 4, 'GASOLINA', 23000.00);


INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('JJJ-678', 36, 'DS7', 'Verde', 2023, 4, 'ELÉCTRICO', 48000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('KKK-901', 37, 'Giulia', 'Azul', 2022, 4, 'GASOLINA',


45000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('LLL-234', 38, 'Ghibli', 'Plateado', 2023, 4, 'GASOLINA',


75000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('MMM-567', 39, 'Portofino', 'Rojo', 2022, 2, 'GASOLINA',


220000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('NNN-890', 40, 'Huracán', 'Naranja', 2023, 2, 'GASOLINA',


210000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('OOO-123', 41, 'Granta', 'Blanco', 2021, 4, 'GASOLINA',


12000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('PPP-456', 42, 'Octavia', 'Negro', 2022, 4, 'DIESEL',


28000.00);
INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('QQQ-789', 43, 'Sandero', 'Gris', 2023, 4, 'GASOLINA',


15000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('RRR-012', 44, 'Ibiza', 'Rojo', 2022, 2, 'GASOLINA', 19000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('SSS-345', 45, 'Nexon', 'Azul', 2021, 4, 'GASOLINA',


14000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('TTT-678', 46, 'Scorpio', 'Blanco', 2023, 4, 'DIESEL',


22000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('UUU-901', 47, 'X70', 'Plateado', 2022, 4, 'GASOLINA',


25000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('VVV-234', 48, 'Coolray', 'Verde', 2023, 4, 'GASOLINA',


23000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)
VALUES ('WWW-567', 49, 'Han', 'Negro', 2022, 4, 'ELÉCTRICO',
35000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('XXX-890', 50, 'Haval', 'Gris', 2023, 4, 'GASOLINA',


28000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('YYY-123', 1, 'RAV4', 'Azul', 2022, 4, 'HÍBRIDO', 32000.00);

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio)

VALUES ('ZZZ-456', 2, 'Tiguan', 'Blanco', 2023, 4, 'GASOLINA',


34000.00);

-- Verificar que se insertaron exactamente 50 vehículos

SELECT COUNT(*) AS total_vehiculos FROM vehiculo;

Script Alternativo con Fechas de Registro Variadas

sql

-- Versión con fechas de registro distribuidas en el tiempo

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio, fecha_registro)

VALUES ('ABC-123', 1, 'Corolla', 'Blanco', 2022, 4, 'GASOLINA',


25000.00, DATE '2023-01-15');

INSERT INTO vehiculo (placa, id_marca, modelo, color,


anio_fabricacion, nro_puertas, combustible, precio, fecha_registro)

VALUES ('DEF-456', 2, 'Golf', 'Negro', 2021, 4, 'GASOLINA', 28000.00,


DATE '2023-02-20');
INSERT INTO vehiculo (placa, id_marca, modelo, color,
anio_fabricacion, nro_puertas, combustible, precio, fecha_registro)

VALUES ('GHI-789', 3, 'F-150', 'Rojo', 2023, 2, 'DIESEL', 45000.00,


DATE '2023-03-10');

-- Continuar con fechas variadas para los demás vehículos...

Consultas de Verificación

sql

-- Consulta para verificar los vehículos insertados con información


completa

SELECT

v.placa,

m.nombre_marca,

v.modelo,

v.color,

v.anio_fabricacion,

v.nro_puertas,

v.combustible,

v.precio,

v.fecha_registro

FROM vehiculo v

JOIN marca m ON v.id_marca = m.idmarca

ORDER BY v.idvehiculo;

-- Resumen por marca

SELECT

m.nombre_marca,

COUNT(v.idvehiculo) as total_vehiculos,

AVG(v.precio) as precio_promedio,

MIN(v.precio) as precio_minimo,
MAX(v.precio) as precio_maximo

FROM marca m

LEFT JOIN vehiculo v ON m.idmarca = v.id_marca

GROUP BY m.nombre_marca

ORDER BY total_vehiculos DESC;

-- Distribución por combustible

SELECT

combustible,

COUNT(*) as total_vehiculos,

ROUND(AVG(precio), 2) as precio_promedio

FROM vehiculo

GROUP BY combustible

ORDER BY total_vehiculos DESC;

-- Distribución por año de fabricación

SELECT

anio_fabricacion,

COUNT(*) as total_vehiculos,

ROUND(AVG(precio), 2) as precio_promedio

FROM vehiculo

GROUP BY anio_fabricacion

ORDER BY anio_fabricacion DESC;

-- Vehículos por rango de precio

SELECT

CASE

WHEN precio < 20000 THEN 'Menos de 20k'

WHEN precio BETWEEN 20000 AND 40000 THEN '20k-40k'


WHEN precio BETWEEN 40000 AND 80000 THEN '40k-80k'

WHEN precio BETWEEN 80000 AND 150000 THEN '80k-150k'

ELSE 'Más de 150k'

END as rango_precio,

COUNT(*) as total_vehiculos

FROM vehiculo

GROUP BY

CASE

WHEN precio < 20000 THEN 'Menos de 20k'

WHEN precio BETWEEN 20000 AND 40000 THEN '20k-40k'

WHEN precio BETWEEN 40000 AND 80000 THEN '40k-80k'

WHEN precio BETWEEN 80000 AND 150000 THEN '80k-150k'

ELSE 'Más de 150k'

END

ORDER BY total_vehiculos DESC;

También podría gustarte