You are on page 1of 3

Alquiler de Autos

Se ha diseado una base de datos para almacenar y gestionar la informacin


empleada por una empresa dedicada al alquiler de automviles, teniendo en
cuenta los siguientes aspectos:
La empresa dispone de un conjunto de autos para su alquiler. Se necesita
conocer la matrcula, marca y modelo, el color y el precio de alquiler de cada
auto. Adems cada auto est asignado a un determinado garaje, que no puede
cambiar. De cada garaje interesa conocer su cdigo, denominacin y direccin.
Los datos que interesa recoger de cada cliente son el cdigo, nombre,
direccin, ciudad y nmero de telfono; adems, los clientes se diferencian por
un cdigo interno de la empresa.
Si un cliente desea solicitar el alquiler de algn auto, se pone en contacto con
una de las agencias de la empresa de alquiler y realiza una reserva. De cada
agencia interesa conocer su cdigo y nombre.
Un mismo cliente puede haber realizado varias reservas a lo largo del tiempo, y
por supuesto algunas de esas reservas pueden tener sus fechas solapadas.
Como hemos indicado, en cada reserva participa una agencia, que no tiene que
ser la misma para las distintas reservas de un mismo cliente.
Una misma reserva puede incluir uno o varios autos. De cada reserva interesa
registrar la fecha de inicio (cundo deben entregarse los vehculos al cliente),
la fecha de finalizacin (la fecha prevista de devolucin por parte del cliente), y
el costo total de la reserva. Adems, para cada vehculo interesa recoger los
litros de combustible que contiene en el momento de su entrega al cliente. El
coste final de alquiler de cada coche se obtiene multiplicando su precio de
alquiler por los das que el cliente desea reservarlo. El coste total de una
reserva se obtiene sumando los costes finales de alquiler de los coches que
incluye dicha reserva.
Diagrama Entidad Relacin o Modelo ER
La siguiente representacin grfica del MER de base de datos ayuda a
comprender la relacin existente entre entidades en el ejercicio propuesto.
Cada flecha indica una referencia de clave externa o fornea, y est dirigida
hacia la relacin referenciada.
AGENCI
A
GARAJE

AUTO

RESERV
A

LISTA_RESER
VA

CLIENTE

Esquema ALQUILER DE AUTOS, en el modelo relacional de datos


Un esquema de base de datos relacional correspondiente al anterior enunciado
contiene las tablas que se indican a continuacin. Los atributos que aparecen
subrayados son las claves primarias, y los que aparecen en cursiva son claves
externas o forneas. Para cada clave externa se indica a qu relacin y
atributos concretos hace referencia.
AUTO (matricula, marca, modelo, color, garaje, precio_alquiler)
Clave externa: garaje GARAJE (cdigog)
GARAJE (cdigog, nombreg, direccin)
CLIENTE (cdigoc, nombre, direccin, ciudad, telfono)
AGENCIA (cdigoa, nombre)
RESERVA (numeror, fecha_inicio, fecha_fin, cliente, agencia, costo_total)
Claves externas: cliente CLIENTE (codigoc)
Agencia AGENCIA (codigoa)
LISTA_RESERVA (reserva, auto, litros_inicio, coste_auto )
Claves externas: reserva RESERVA(numeror)
Auto AUTO(matricula)

Los esquemas relacionales adems pueden llevar en cada uno de los campos,
el tipo, la longitud del mismo y si puede o no tener valores nulos o valores
vacios en el campo. Por ejemplo:
Esquema_AUTO {(matricula char (6) not null, marca varchar (15) not null,
modelo char (4) not null, color varchar (10) not null, garaje char (10) not null,
precio_alquiler Money not null, primary key (matricula), foreign key (garaje)};
Esquema_GARAJE {(cdigog char(10) not null, nombreg varchar(20) not null,
direccin varchar(30) not null, primary key (codigog)}

En este ejemplo hay que notar que existe una relacin entre las dos tablas
AUTO Y GARAJE, y que esta relacin se hace pasando el campo llave primaria
de GARAJE a la tabla AUTO, ya que la relacin es (1,n) de un garaje donde
pueden haber varios autos.
Otra de las observaciones al implementarla es de tener cuidado de que el
campo llave fornea en la tabla AUTO debe coincidir en tipo y longitud con la
llave primaria en la tabla GARAJE.
Adems hay que tener en cuenta que no es necesario adicionar varios campos
de la misma tabla para hacer relacin, es decir para relacionar CLIENTE con
RESERVA no es necesario pasar el codigoc, nombre, al pasar solo en cdigo, la
relacin permite saber a qu nombre y los otros datos de la tabla cliente por
dependencia funcional.
Si en una tabla no hay llave primaria, es una entidad dbil ya que no tiene un
campo que ayude a identificar de forma nica a una entidad dentro de todas
las entidades, este es el caso de LISTA_RESERVA, en este caso la relacin se
establece pasando las llaves primarias de la entidades relacionadas, y en el
esquema relacional habra dos llaves forneas o externas.
Esquema_LISTA_RESERVA (reserva serial not null, auto char (6) not null,
litros_inicio integer not null, coste_auto Money not null, foreign key (reserva),
foreign key (auto)}
En este caso hay que observar que los campos aunque tienen diferentes
nombres corresponden en tipo y valor a los campos en la tabla de origen, es
decir, reserva=numeror en la tabla reserva y auto=matricula en la tabla auto.
La tabla como tal no tiene llave primaria o campo nico de identificacin, pero
tiene dos llaves externas o forneas que le permitirn saber el nmero de
reserva a que corresponde y el auto que fue alquilado.
Espero que este archivo les sirva para mejorar los modelos, ya que se debe
tener en cuenta varios conceptos al disear bases de datos.

You might also like