Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda en entidad relacion

Estas en el tema de Duda en entidad relacion en el foro de Bases de Datos General en Foros del Web. Hola amigos soy nuevo en el foro.Llegué a él buscando una solución a un diseño que tengo que plantear. A ver si me podeis orientar. ...
  #1 (permalink)  
Antiguo 29/05/2007, 10:13
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Duda en entidad relacion

Hola amigos soy nuevo en el foro.Llegué a él buscando una solución a un diseño que tengo que plantear. A ver si me podeis orientar.

Se trata de diseñar la bases de datos de un hotel (no de una cadena de ellos).
El diseño que había pensado constaría de las siguientes entidades:
Huesped
Agencia (de viajes)
Reserva
Estancia
Habitacion
Servicios_extra

La duda que me surge es a la hora de relacionar huesped habitación y estancia.
Como me exigen que ponga al menos una relacion ternaria o mayor, había pensado que el mejor "lugar " sería entre huesped estancia y habitacion.
Había pensado en un principio de poner una relacion binaria entre ellos que funcionaria de la siguiente forma:

Se almacenan los datos de los huespedes junto con un numero de estancia.
Se almacenan los distintos numeros de estancias con sus atributos huesped y habitacion/es.
Se almacenan todas las habitaciones con sus atributos propios junto con el numero de estancia asociada al huesped que se halla en ese momento(nulo si esta libre)

Ahora la gran pregunta: como puedo convertir esta relacion en ternaria?
Porque si lo hago directamente:

HUESPED------- ------HABITACION
|
|
ESTANCIA


el problema que tengo es que en la tabla habitacion tendria duplicados en el caso de que haya mas de una persona en ella(y seria como decir que hay dos hab. con el mismo numero)

Bueno siento el rollo que me he largao :P
Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 29/05/2007, 11:13
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: Duda en entidad relacion

Que tal sambo.

Entonces sólo te falta gregar una tabla "DetalleEstacia", donde estarían los nombres de las personas que también ocupan la habitación. Aunque, regularmente cuando vas a un hotel no registran a todas las personas que estarán ahí, sino sólo al que pagará. Perso sí así es la regla de negocio, creo que esa es la solución.

La tabla DetalleEstacia estaría relacionada con la tabla Huesped.

Saludos!
  #3 (permalink)  
Antiguo 29/05/2007, 12:08
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Re: Duda en entidad relacion

Muchas gracias por responder daniel.
Entiendo la solucion que planteas, a ver si lo he entendido bien:
Almaceno en Huesped el cliente(que seria el que paga) , con esto consigo que no se dupliquen filas en la tabla de habitaciones ni de estancias.
Despues relaciono ese huesped con DetalleEstancia, tabla en la que meteria sus acompañantes con sus habitaciones no?

Es decir que en la tabla DetalleEstancia habria una columna "Huesped_cliente" y en caso de tener acompañantes la tabla tendria duplicados(aunque en este caso no importa)
Por otro lado , esta entidad DetalleEstancia seria debil verdad ? Porque no tendria sentido sin Huesped_cliente
Muchas gracias de nuevo por la solucion, no se me habia ocurrido y me parece que resuelve el problema por completo.
PD: me parece que los hoteles si estan obligados a guardar todos sus huespedes por seguridad (al menos aqui en españa) ya que se lo puede exigir la policia

EDITO:
Una cosa que se me acaba de ocurrir ahora.
Imagina que un padre una madre y sus dos hijos estan en el hotel. Imaginemos que el padre y la madre estan en la hab nº 101 y los hijos en la 102 . A la hora de pagar tal y como lo habia pensado se le cobraria al padre por numero de habitaciones y tipo de habitaciones, pero claro en la tabla Huesped tengo solo al padre , tendria que llegar a DetalleEstancia y comparar si existe alguna habitacion distinta a la 101 y de ser asi entonces DetalleEstancia deberia estar relacionado tambien con Habitacion para saber las caracteristicas de la habitacion (de dos camas o de una) y cobrarle en funcion de eso)
Esto ultimo es correcto?

Última edición por Msambo; 29/05/2007 a las 12:30
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:00.