Estructura correcta de base de datos
Publicado por Chebe (4 intervenciones) el 30/07/2013 15:16:54
Hola,
Tengo un problema al diseñar una base de datos para una web que debe almacenar información de hoteles. La duda la tengo al plantear almacenar la información de los servicios de los hoteles
Por un lado planteo la tabla con la información básica del hotel. Para simplificar la plantearé así.
bbdd: 'hoteles'
id_hotel nombre dirección teléfono
1 Melià Madrid 911234567
2 AC Barcelona 937654321
3 Hilton Valencia 934567791
I para almacenar los servicios he pensado en dos opciones
Opción 1: Tener una tabla con los servicios que ofrece cada hotel. Sería algo como la siguiente:
bbdd: 'servicios_hotel'
id_hotel servicio
1 Piscina
1 Bar
1 Recepción 24h
2 Piscina
2 Parking
3 Admiten perros
3 Mini golf
Opción 2: Tener una tabla con los servicios ('servicios') y otra con la relación entre hotel y servicios ('hotel-servicio'). Para poner los serviciós anteriores quedaria:
bbdd: 'servicios'
id_servicio servicio
1 piscina
2 bar
3 recepcion 24h
4 parking
5 admiten perros
6 mini golf
Y
bbdd: 'hotel-servicio'
id_hotel id_servicio
1 1
1 2
1 3
2 1
2 4
3 5
3 6
Mi dudas són: ¿Que opción es la más recomendable?
¿Como debo efectuar las consultas para actualizar y mostrar la información?
En hacer los join no tengo problema, pero estoy acostumbrado a que cada registro me quede en una "fila" i a partir de ahí ir hacer el loop entre los registros obtenidos. Pero en este caso me quedaría el mismo hotel en "filas" distintas con un servicio diferente en cada "fila".
Muchas gracias por vuestra ayuda!
Tengo un problema al diseñar una base de datos para una web que debe almacenar información de hoteles. La duda la tengo al plantear almacenar la información de los servicios de los hoteles
Por un lado planteo la tabla con la información básica del hotel. Para simplificar la plantearé así.
bbdd: 'hoteles'
id_hotel nombre dirección teléfono
1 Melià Madrid 911234567
2 AC Barcelona 937654321
3 Hilton Valencia 934567791
I para almacenar los servicios he pensado en dos opciones
Opción 1: Tener una tabla con los servicios que ofrece cada hotel. Sería algo como la siguiente:
bbdd: 'servicios_hotel'
id_hotel servicio
1 Piscina
1 Bar
1 Recepción 24h
2 Piscina
2 Parking
3 Admiten perros
3 Mini golf
Opción 2: Tener una tabla con los servicios ('servicios') y otra con la relación entre hotel y servicios ('hotel-servicio'). Para poner los serviciós anteriores quedaria:
bbdd: 'servicios'
id_servicio servicio
1 piscina
2 bar
3 recepcion 24h
4 parking
5 admiten perros
6 mini golf
Y
bbdd: 'hotel-servicio'
id_hotel id_servicio
1 1
1 2
1 3
2 1
2 4
3 5
3 6
Mi dudas són: ¿Que opción es la más recomendable?
¿Como debo efectuar las consultas para actualizar y mostrar la información?
En hacer los join no tengo problema, pero estoy acostumbrado a que cada registro me quede en una "fila" i a partir de ahí ir hacer el loop entre los registros obtenidos. Pero en este caso me quedaría el mismo hotel en "filas" distintas con un servicio diferente en cada "fila".
Muchas gracias por vuestra ayuda!
Valora esta pregunta


0