Está en la página 1de 7

Trabajo Evaluable

1. Instalación de Oracle
Para comenzar con la instalación de Oracle, primero tendremos que
descargarnos el .zip en la página oficial de Oracle. Elegimos la primera
opción, la que es para Windows. Se comenzará a descargar la carpeta
comprimida.

https://www.oracle.com/database/technologies/xe-downloads.html

Después de haberse instalado, vamos a extraer el .zip y ejecutar el archivo


setup.exe.
Una vez ejecutado ese archivo vamos a comenzar con el asistente de
instalación.

Primero, aceptamos los términos de acuerdo con la licencia.

Le damos a siguiente y elegimos la carpeta de destino para la instalación.


Para terminar con el asistente de instalación, le damos una contraseña a la
BDD.

El proceso de instalación dura unos minutos hasta que acaba. Una vez
acabado podremos iniciar Oracle.
2. Diseño y Creación
Creación de diagrama E/R
Creación del esquema.
CREATE TABLE vehiculo (
    idVehiculo INT PRIMARY KEY,
    matricula VARCHAR(10) NOT NULL,
    modelo VARCHAR(50) NOT NULL,
    marca VARCHAR(25) NOT NULL,
    potencia VARCHAR(6) NOT NULL,
    precio NUMERIC(10) NOT NULL,
    fecha_compra DATE NOT NULL,
    cilindrada VARCHAR(6) NOT NULL
);

CREATE TABLE reparaciones (


   idReparacion INT PRIMARY KEY,
   fecha DATE NOT NULL,
   descripcion VARCHAR(500),
   idVehiculo INT NOT NULL,
   FOREIGN KEY (idVehiculo) REFERENCES vehiculo(idVehiculo)
);

CREATE TABLE piezas (


    idPieza INT PRIMARY KEY,
    nombre VARCHAR(50) NOT NULL,
    precio VARCHAR(5) NOT NULL,
    numero NUMERIC NOT NULL
);

CREATE TABLE sustituyen (


    idReparacion INT,
    idPieza INT,
    FOREIGN KEY (idReparacion) REFERENCES reparaciones(idReparacion),
    FOREIGN KEY (idPieza) REFERENCES piezas(idPieza)
);

CREATE TABLE turismo (


    idVehiculo INT PRIMARY KEY,
    tipo VARCHAR(50) NOT NULL,
    n_puertas INT NOT NULL,
    FOREIGN KEY (idVehiculo) REFERENCES vehiculo (idVehiculo)
);

CREATE TABLE furgoneta (


    idVehiculo INT PRIMARY KEY,
    carga_maxima VARCHAR(7) NOT NULL,
    capacidad VARCHAR(4) NOT NULL,
    FOREIGN KEY (idVehiculo) REFERENCES vehiculo(idVehiculo)
);
CREATE TABLE alquiler (
    idAlquiler INT PRIMARY KEY,
    numeroDias NUMERIC(3) NOT NULL,
    inicio DATE NOT NULL,
    numeroVehiculos NUMERIC(2),
    idVehiculo INT,
    FOREIGN KEY (idVehiculo) REFERENCES vehiculo(idVehiculo)
);

CREATE TABLE clientes (


    cod_clie INT PRIMARY KEY,
    DNI VARCHAR(9) NOT NULL,
    nombre VARCHAR(20) NOT NULL,
    apellidos VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    direccion VARCHAR(150) NOT NULL,
    localidad VARCHAR(100) NOT NULL,
    tlfno VARCHAR(15) NOT NULL,
    idAlquiler INT,
    FOREIGN KEY (idAlquiler) REFERENCES alquiler(idAlquiler)
);

Realización de inserciones.
1. Dos inserciones de ejemplo en la tabla vehículo
INSERT INTO vehiculos
(idVehiculo,matricula,modelo,marca,potencia,precio,fecha_compra,cilindrada,id_reparacion)
VALUES ("001","3413HYJ","Transit","Ford","240CV","23478","22/03/2000","300CC","001");

INSERT INTO vehiculos


(idVehiculo,matricula,modelo,marca,potencia,precio,fecha_compra,cilindrada,id_reparacion)
VALUES ("002","2528GQA","Caddy","Volkswagen","300CV","13645","14/01/2003","250CC","002");

2. Dos inserciones de furgoneta y dos de turismo


INSERT INTO furgoneta (idVehiculo,carga_maxima,capacidad)
VALUES ("001","1000KG","1200KG");

INSERT INTO furgoneta (idVehiculo,carga_maxima,capacidad)


VALUES ("002","800KG","1000KG");

INSERT INTO turismo (idVehiculo,tipo,n_puertas)


VALUES ("003,Sedan","5");

INSERT INTO turismo (idVehiculo,tipo,n_puertas)


VALUES ("004","Sedan","5");
3. Dos inserciones de reparaciones.
INSERT INTO reparaciones(idReparacion, fecha, descripcion, idVehiculo)
VALUES ('001', '2022-10-11', 'Cambio de aceite y medidas de presión en los neumáticos', '001');

INSERT INTO reparaciones(idReparacion, fecha, descripcion, idVehiculo)


VALUES ('002', '2022-11-11', 'Reparación en la rejilla del radiador, cambio de faro izq y dcho
delantero', '002');

3. Consulta Final
Emitir un listado de los vehículos reparados con su
matricula, marca,modelo y datos de la reparación,
ordenadas por vehículo y fecha de reparación.
SELECT v1.matricula, v1.marca, v1.modelo, r1.idReparacion AS
identificador_Reparacion, r1.fecha AS Fecha_Reparacion, r1.descripcion AS
Descripcion_reparacion
FROM vehiculo v1
INNER JOIN reparaciones r1
ON v1.idVehiculo=r1.idVehiculo
ORDER BY v1.idVehiculo, r1.fecha;

También podría gustarte