Muchas gracia a todos sobre todo a #4 que me ha abierto bastante los ojos.
Yo no necesito 5 tablas sino como unas 25. Aqui va un resumen mental que tengo y a ver si aprendo a usar el WorkBench.
Tipo_ID --> Tabla que tiene los distintos tipos de documento de identifiacion 1 DNI 2 NIF 3 PASAPORTE etc..
Clientes --> ID_Cliente ( PK AI ) relacion con Tipo_ID. Los atributos son DNI ( PK), tipo_documento, nombre, telefono, cif empresa, direccion empresa etc...
Servicios --> ID_Servicios ( PK AI ), Tipo_Servicio, Tarifa_General y Tarifa_Especial.
ID_Hab --> Como muchas de las categorías se repiten decidi crear una tabla para esto con los siguientes datos: Num_Hab ( PK AI) ID_TIPO.
Habitaciones --> idHabitacion ( PK AI), ID_TIPO ( relacion a la tabla ID_Hab ) Descripcion, Tarifa_General y Tarifa_Especial.
Aperturas --> id_Apertura (PK AI) DNI_Cliente ( PK ), Nombre_Cliente, Fecha_Apertura, Personas_a_hospedar, Numero_Habitaciones.
Y ahora es cuando empieza lo que más me lía:
Cada apertura tendrá una tabla para las habitaciones ( 1 o ++), donde estará relacionado con el id_Apertura y contendrá las habitaciones seleccionadas por el cliente con su fecha de llegada y fecha de salida de cada habitación y el montante total de las habitaciones.
Lo mismo para los servicios, relacionado con el id_Apertura y contendrá todos los servicios que el cliente desee ( 0 o ++), aqui veo el problema de que no se como hacer que un Servicio se agrege a una habitación en particular y el precio de todos los servicios contratados.
Habrá una tabla que va a ser Aperturas_Actuales donde vendrá la información de los huespedes actuales con su fecha de apertura, id_apertura, fecha de entrada y salida del cliente del hotel, en esta tabla es donde se modificará las aperturas, por ejemplo si para la apertura del cliente 87623489J quiera quedarse en la habitacion 12 dos días más se pueda gestionar desde aqui.
Estado_HAN --> Estado de todas las habitaciones : Libre/Ocupada. Me gustaría que en esta tabla si está Libre solo salga id_Hab y estado libre, pero en caso de que Ocupada salga el nombre y dni de quien este ocupandola y fecha desde hasta ocupacion.
******************FACTURACION**********************
El cliente puede abonar en cualquier momento el dinero que debe, con lo cual he pensado en 2 soluciones:
1º) Que las facturas no se puedan modificar, de manera que si el cliente abona el total de la apertura se genere la factura, se imprima y se almacene, de manera que si la apertura se vea modificada saque la factura solamente con los nuevos conceptos contratados.
2º) Que cada apertura solamente tenga 1 factura, de manera que si el cliente abona la apertura y despues la modifica, se cree otra factura nueva solamente con los conceptos nuevos relacionados con la misma apertura.
Habrá una tabla de consultas donde mediante el DNI de los clientes se pueda acceder a su historial de aperturas con la facturacion total hecha.
Otra tabla contendra el historico de las ganancias por habitacion mostrando por cada habitacion el dinero obtenido y el total de aperturas realizadas.
De la misma manera habra una tabla practicamente identica con los servicios.