Bases de Datos 1. Práctica 2. Alquileres de Coches
Bases de Datos 1. Práctica 2. Alquileres de Coches
Bases de Datos 1. Práctica 2. Alquileres de Coches
Práctica – 2
Alquileres de Coches
Los alquileres se podrán realizar desde distintas oficinas repartidas en distintas localidades. En cada
oficina podremos alquilar determinados modelos que se encuentren en ese momento disponibles en esa
localidad.
Para realizar un alquiler se daran dos opciones, en la primera el cliente, del cual conoceremos sus datos
personales, podrá obtener el coche en el momento, y como segunda opción podrá realizar una reserva con
antelación, informando de la oficina y modelo de automovil.
A la hora de realizar dicha reserva, el cliente tendra que concretar con la empresa datos como, fecha de
inicio del alquilar y fecha de devolución . También conoceremos en todo momento la oficina en la cual se
dispondrá del vehiculo, y la oficina en la cual debemos entregarlo en la fecha de devolución concretada. A
la hora de empezar la reserva, esta pasará a ser alquiler, el cliente podrá alquilar más de un vehiculo,
guardando la misma información para cada uno de ellos. En el momento de devolver el vehiculo en la
oficina concretada, se procederá a entregar una factura, en la cual se conocer todos los detalles del alquiler
asi como su precio final. Si existen clientes habituales la factura se le pasará al final de mes, en la que
habrá una/as línea/as de factura indicando el precio de cada alquiler.
En cuanto un cliente realiza la reserva se conoceran los mismos datos que a la hora de realizar el alquier,
sumandole la fecha en la cual se concreta la reserva. La empresa de esta manera asegurara que el vehiculo
elegido estara disponible y en la localidad acordada en la fecha de inicio del alquiler. También en la
reserva se podrá concretar el alquiler de más de un vehiculo y como en el alquiler se le pasará una factura
al final del mes o de la reserva, según sea el tipo de cliente.
Además, el dominio permite detectar las incidencias ocurridas durante el alquiler de cada coche, donde se
indica la descripción de la incidencia que le ha ocurrido al coche.
1.2. Diagrama E#R
1.3. Modelo Relacional
'Tabla de clientes:
Esta tabla guarda la información personal de todos los clientes de la empresa.
CLI (DNI, NOM, DIR TELF, NUMC)
'DNI(CHAR(9)): Documento Nacional de Identidad, como es único por persona lo
usamos como llave de la tabla.
'NOM(VARCHAR2(50)): Nombre y apellidos del cliente.
'DIR(VARCHAR2(50)): Dirección de residencia actual del cliente.
'TELF(NUMBER(9)): Número de teléfono del cliente.
'NUMC(NUMBER(20)): Número de cuenta, por si es necesario realizar los cobros por
medio del banco.
'Tabla de oficinas:
Esta tabla guarda la información necesaria de todas las oficinas.
OFI (CO, NOMOF, CIUDAD)
'CO(NUMBER(3)): Código Oficina, es único y se va a usar como llave de la tabla.
'NOMOF(VARCHAR2(30)): Nombre de la oficina.
'CIUDAD(VARCHAR2(30)): Ciudad en la que se encuentra la oficina.
Dependencias Funcionales: Llaves Candidatas: Forma Llaves Foráneas:
F:{CO → NOMOF Normal:
CO → CIUDAD} 'CO FNBC N/A
'Tabla de alquileres:
Esta tabla guarda la información necesaria de todos los alquileres.
ALQ (CA, FECHA_I_A, FECHA_F_A, DNI, CO1, CO2, NM, CR)
'CA (NUMBER(4)): Código Alquiler, es único porque cada reserva es diferente y se va a
usar como llave la tabla.
'FECHA_I_A (DATE): Fecha Inicio Alquiler.
'FECHA_F_A(DATE): Fecha Finalización Alquiler.
DNI(NUMBER(9)): Documento Nacional de Identidad
CO1(NUMBER(3)): Código Oficina 1 desde la que se realiza el alquiler.
CO2(NUMBER(3)): Código Oficina 2 en la que se termina el alquiler.
NM(VARCHAR2(7)): Número Matrícula del coche del que se realiza el alquiler.
CR(NUMBER(4)): Código Reserva.
Dependencias Funcionales: Llaves Forma Normal: Llaves Foráneas:
F:{CA → FECHA_I_A Candidatas:
CA → FECHA_F_A
CLI(DNI)
CA → DNI
OFI(CO1)
CA → CO1 FNBC
'CA
OFI(CO2)
CA → CO2
COCHE (NM)
CA → NM
CA → CR
CR → CA}
'Tabla de los coches:
Esta tabla guarda la información necesaria de todos los coches.
COCHES (NM, COLOR, KM, MO)
'NM (VARCHAR2(7)): Número Matrícula, es único ya que cada coche tiene su propia
matrícula y no puede ser igual, por lo tanto la tanto la usamos como llave de la tabla.
'COLOR (VARCHAR2(20)): El tipo de color del coche.
'KM (NUMBER(6)): Los Kilómetros recorridos por el coche.
MO (VARCHAR2(15)): Modelo del coche.
Dependencias Funcionales: Llaves Candidatas: Forma Normal: Llaves Foráneas:
F:{ NM → MO
NM → COLOR 'NM FNBC
MODELO(MO)
NM → KM }
'Tabla de incidencias:
Esta tabla guarda la información necesaria de las incidencias de los coches después del
alquiler.
INC (CI, DESC, NM, CA)
'CI (NUMBER(4)): Código de Incidencia, lo usamos como llave de la tabla.
'DES (VARCHAR2(50)): Descripción de la incidencia.
NM (VARCHAR2(7)): Número Matrícula del coche, el cual se produjo la incidencia.
CA (NUMBER(4)): Código Alquiler.
'Tabla de facturas:
Esta tabla guarda la información necesaria que debe de pagar un cliente.
FAC (NF, FECHA, TOTAL, IVA, DNI)
'NF (NUMBER(4)): Número Factura, la usamos como llave de la tabla porque cada factura
es única.
'FECHA (DATE): Fecha en la cual se imprime la factura.
'TOTAL (NUMBER(6)): Cantidad total de dinero de la factura.
'IVA (NUMBER(4)): Impuesto de Valor Añadido.
'DNI (NUMBER(9)): Documento Nacional de Identidad
Dependencias Funcionales: Llaves Candidatas: Forma Normal: Llaves Foráneas:
F:{NF → FECHA
NF → TOTAL 'NF FNBC 'CLI(DNI):
NF → IVA
NF → DNI}
–. Consulta 7: Obtén los modelos de coche cuya potencia es mayor a la del coche de potencia
200 ordenado por precio.
SQL:
SELECT *
FROM modelos
WHERE po > (SELECT po
FROM modelos
WHERE po = 200)
ORDER BY pr; Ã !
¡ ¢
Álgebra Relacional: ∏ * σp o> ¡
∏po
¡
σpo=
¡ ¢¢¢ Modelos
200 M o delos