Las condiciones iniciales de la BD son:
- Del cliente se deben saber: nombre, apellidos, dirección...., y puede tener varios teléfonos.
- Del alojamiento se debe saber: nombre, categoría, servicios, teléfono/s, fax.
- En cada alojamiento trabajan como mínimo un empleado pero un empleado sólo puede trabajar en 1 alojamiento.
Sólo voy a poner la parte correspondiente al cliente y al alojamiento por la relación que veo (no pongo la parte de reserva, tipos de alojamiento, tarifas...)
¿¿Qué diseño creéis que es mejor??
La
versión 1, es sin salirme del enunciado.
La
versión 2, tiene en consideración:
- El cliente puede ser un particular o una empresa (en este caso la reserva pertenece a la empresa pero se deben almacenar los datos de la persona que va a ocupar la habitación).
- Como los atributos dirección, código postal, población y provincia son comunes para las entidades "persona", "empleado" y "alojamiento"; creo la tabla "dirección" y la relaciono con las entidades mencionadas.
- Como los datos de las personas: nombre, apellidos, dirección, son comunes tanto para los cliente como para los empleados, creo la entidad "persona" y se relaciona con "empleados" y "clientes"
- Las empresas que son clientes, he considerado que éstas sean franquicias (mismo nombre y distinto CIF) y empresas tipo "bancos" (mismo nombre y cif pero con sucursales); por lo que creo la entidad "empresa matriz" y la entidad "sucursal"
Lo bueno de la versión 1, es que es sencilla y está totalmente normalizada.
Lo bueno de la versión 2, es que es más completa que la 1 (considero el tipo de clientes).
Lo malo de la versión 2, es que tiene relaciones ternarias que no consigo dividir a no ser que elimine la entidad de dirección y lleve los atributos a empleado, alojamiento, persona y sucursal.