Diseñando la Base de Datos para un Sistema de Reservas de Hotel
Diseñando la Base de Datos para un Sistema de Reservas de Hotel
¡Bienvenidos a esta nueva sección del curso donde nos enfocaremos en el gestor de reservas! Lo primero que debemos organizar es la estructura de la tabla en la base de datos. Definir esto desde el principio es fundamental para evitar correcciones posteriores en la estructura.
Estructura de la Tabla de Reservas
Para gestionar las reservas, necesitamos una tabla bien definida. Aquí están las columnas esenciales:
ID → Clave primaria autoincremental (siempre presente).
ID_habitacion → Relación con la tabla de habitaciones.
ID_usuario → Relación con la tabla de usuarios (el cliente debe estar registrado).
Pago_reserva → Monto pagado (puede incluir decimales).
Codigo_reserva → Código alfanumérico único para identificar la reserva.
Descripcion_reserva → Detalle de lo que incluye (ej: "Suite Retro con Plan SPA para 5 personas").
Fecha_ingreso → Fecha de check-in.
Fecha_salida → Fecha de check-out.
Fecha_reserva → Fecha en que se registró la reserva (puede ser un timestamp automático).
Ejemplo de Creación de la Tabla en SQL
CREATE TABLE reservas (
ID INT AUTO_INCREMENT PRIMARY KEY,
ID_habitacion INT NOT NULL,
ID_usuario INT NOT NULL,
Pago_reserva DECIMAL(10, 2),
Codigo_reserva VARCHAR(20),
Descripcion_reserva TEXT,
Fecha_ingreso DATE,
Fecha_salida DATE,
Fecha_reserva TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (ID_habitacion) REFERENCES habitaciones(ID),
FOREIGN KEY (ID_usuario) REFERENCES usuarios(ID)
);Relación con Otras Tablas
Es importante establecer las relaciones correctas:
ID_habitacion→ Se relaciona con la tablahabitaciones.ID_usuario→ Se relaciona con la tablausuarios.
-- Ejemplo de inserción de datos de prueba
INSERT INTO reservas (
ID_habitacion,
ID_usuario,
Pago_reserva,
Codigo_reserva,
Descripcion_reserva,
Fecha_ingreso,
Fecha_salida
) VALUES (
1,
1,
300000.00,
'RES-ABC123',
'Habitación Suite Oriental con Plan SPA para 5 personas',
'2025-04-12',
'2025-04-14'
);¿Por Qué Esta Estructura?
✔ Evita duplicación de datos → Usamos IDs de tablas relacionadas.
✔ Facilita búsquedas → El código de reserva ayuda a identificar rápidamente una reserva.
✔ Registra fechas clave → Sabemos cuándo se hizo la reserva, cuándo ingresa el cliente y cuándo sale.
Próximos Pasos
En la próxima clase, implementaremos el código para:
✅ Validar disponibilidad de habitaciones antes de permitir una reserva.
✅ Generar códigos de reserva únicos automáticamente.
✅ Mostrar reservas activas en el panel de administración.
¿Qué otras funcionalidades te gustaría ver en el gestor de reservas? ¡Déjalo en los comentarios!
Comentarios
Publicar un comentario