ADMINISTRACIÓN DE BASE DE DATOS
“DISEÑO Y ANÁLISIS DE MODELO DE BASE DE DATOS
USANDO ORACLE PARA LA GESTIÓN DE NEGOCIO DE UN HOSPEDAJE”
Objetivo:
Incentivar a la población de compañeros a involucrarse a ese bello mundo de la
tecnología de la información, aumentando sus deseos de aprender en este ámbito.
Integrantes:
Diego Darwin Díaz Vejarano
Asesor:
La Esperanza, diciembre del 2023
DISEÑO
Sustentacion
1. En la Tabla Cliente se almacena los siguientes datos:
IdCliente, Nombres, Apellidos, DNI, Telefono, y los dias de permanencia
del cliente.
2. En la Tabla Reserva se almacena los siguientes datos:
IdReserva, Id_cliente, Fecha.
3. En la Tabla Empleados se almacena los siguientes datos:
IdEmpleados, Nombres, Apellidos, DNI, Telefono, Cargo, dirección,
sexo.
4. En la Tabla Recepcion se almacena los siguientes datos:
Hora, Direccion, Telefono, id_cliente, id_reserva, id_factura,
id_habitacion, id_empleados.
5. En la Tabla Factura se almacena los siguientes datos:
id_factura, Nombre del Hotel, Pago, Fecha, id_cliente, id_habitacion
6. En la Tabla Habitación se almacena los siguientes datos:
Id_habitacion, Numero de Habitacion, Camas, Baños, Tv, Sillas, Mesas
DISEÑO DIGITAL
-- Estructura de tabla para la tabla `Reserva`
DROP TABLE IF EXISTS `Reserva`;
CREATE TABLE IF NOT EXISTS `reserva` (
` id_reserva` int NOT NULL AUTO_INCREMENT,
`Fecha` date NOT NULL,
`id_Cliente` int NOT NULL,
PRIMARY KEY (`id_reserva`),
KEY `id_reserva` (`id_Cliente`),
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `id_reserva` WHERE 1
-- Volcado de datos para la tabla `Reserva`
INSERT INTO `reserva` (`id_reserva`, `Fecha`, `id_Cliente`) VALU
ES
('1', '2023-12-16', '4'),
('2', '2023-12-24', '5')
-- Estructura de tabla para la tabla `Recepción`
DROP TABLE IF EXISTS `recepcion`;
CREATE TABLE IF NOT EXISTS `reserva` (
` HORA` int NOT NULL AUTO_INCREMENT,
`Direccion` varchar NOT NULL,
`Telefono` int NOT NULL,
`id_Cliente` int NOT NULL,
`id_habitacion` int NOT NULL,
`id_empleados` int NOT NULL,
`id_reserva` int NOT NULL,
PRIMARY KEY (`HORA`),
KEY `id_Cliente` (`id_Cliente`),
KEY `id_reserva` (`id_reserva`),
KEY `id_habitacion` (`id_habitacion`),
KEY `id_empleados` (`id_empleados`),
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `HORA` WHERE 1
-- Volcado de datos para la tabla `Reserva`
INSERT INTO `recepcion` (`HORA`, `Direccion`, `Telefono`, `id_Cl
iente`, `id_habitacion`, `id_empleados`, `id_reserva`, `id_factu
ra`) VALUES ('09:00:00', 'Av Teodoro Valcarcel
#776', '915568265', '4', '4', '2', '4', '4'),
('10:30:00', 'Av Teodoro Valcarcel
#776', '924578562', '3', '3', '2', '3', '3'),
('14:00:00', 'Av Teodoro Valcarcel
#776', '901226385', '2', '2', '2', '2', '2'),
('17:00:00', 'Av Teodoro Valcarcel
#776', '965621299', '5', '5', '2', '5', '5'),
('20:00:00', 'Av Teodoro Valcarcel
#776', '933693666', '1', '1', '2', '1', '1')
-- Estructura de tabla para la tabla `Factura`
DROP TABLE IF EXISTS `factura`;
CREATE TABLE IF NOT EXISTS `factura` (
`id_factura` int NOT NULL AUTO_INCREMENT,
`Nombre de la Clinica` varchar(32) NOT NULL,
`Dias` int NOT NULL,
`id_Cliente` int NOT NULL,
`id_habitacion` int NOT NULL,
`pago` double NOT NULL,
PRIMARY KEY (`HORA`),
KEY `id_Cliente` (`id_Cliente`),
KEY `id_habitacion` (`id_habitacion`),
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `id_factura` WHERE 1
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `HORA` WHERE 1
-- Volcado de datos para la tabla `Factura`
INSERT INTO `factura` (`id_factura`, `Nombre de la
Clinica`, `Dias`, `pago`, `id_Cliente`, `id_habitacion`) VALUES
('1', 'Eden', '4', '199.99', '1', '1'),
('2', 'Eden', '6', '299.99', '2', '2'),
('3', 'Eden', '6', '299.99', '3', '3'),
('4', 'Eden', '2', '99.99', '4', '4'),
('5', 'Eden', '3', '149.99', '5', '5')
-- Estructura de tabla para la tabla `Empleados`
DROP TABLE IF EXISTS `empleados`;
CREATE TABLE IF NOT EXISTS `empleados` (
`id_empleados` int NOT NULL AUTO_INCREMENT,
`Nombres` varchar(32) NOT NULL,
`Apellidos` varchar(32) NOT NULL,
`Dni` int NOT NULL,
`Experiencia` varchar NOT NULL,
`Cargo` varchar NOT NULL,
`Sexo` varchar NOT NULL,
PRIMARY KEY (`id_empleados`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `id_empleados` WHERE 1
-- Volcado de datos para la tabla `Empleados `
INSERT INTO `empleados` (`id_empleados`, `Nombres`, `Apellidos`,
`Dni`, `Experiencia`, `Cargo`, `Sexo`, `Telefono`, `Direccion`)
VALUES
('1', 'Alberto', 'Vargas Arana', '12345678', '8
Años', 'Botones', 'Masculino', '951595258', 'Calle las Monagas
#459'),
('2', 'Amelia', 'Nuñez', '26842684', '10
Años', 'Recepcionista', 'Feminino', '987654321', 'Calle los
Angeles #450'),
('3', 'Jose Luis', 'Pereda Sanchez', '96385274', '5
Años', 'Limpieza', 'Masculino', '951111561', 'Calle los Angeles
#1200')
-- Estructura de tabla para la tabla `Habitacion `
DROP TABLE IF EXISTS `habitacion`;
CREATE TABLE IF NOT EXISTS `habitacion` (
`id_habitacion` int NOT NULL,
`N de Habitacion` int NOT NULL,
`Tv` int NOT NULL,
`Baños` int NOT NULL,
`Camas` int NOT NULL,
`Sillas` int NOT NULL,
`Mesas` int NOT NULL,
PRIMARY KEY (`id_habitacion`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci
-- Volcado de datos para la tabla `Habitación `
INSERT INTO `habitacion` (`id_habitacion`, `N. de
Habitacion`, `Camas`, `Baños`, `Tv`, `Sillas`, `Mesas`) VALUES
('1', '1', '1', '1', '1', '2', '1'),
('2', '2', '1', '1', '1', '2', '1'),
('3', '3', '1', '1', '1', '1', '1'),
('4', '4', '1', '1', '1', '2', '1'),
('5', '5', '1', '1', '1', '2', '1')
-- Estructura de tabla para la tabla `Cliente `
DROP TABLE IF EXISTS `cliente`;
CREATE TABLE IF NOT EXISTS `cliente` (
`id_Cliente` int NOT NULL AUTO_INCREMENT,
`Nombres` varchar(32) NOT NULL,
`Apellidos` varchar(32) NOT NULL,
`Direccion` varchar(32) NOT NULL,
` Dni` int NOT NULL,
`Telefono` int NOT NULL,
`Dias`` int NOT NULL,
PRIMARY KEY (`id_Cliente`),
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_0900_ai_ci;ELECT * FROM `id_Cliente` WHERE 1
-- Volcado de datos para la tabla `Cliente `
INSERT INTO `cliente` (`id_Cliente`, `Nombres`, `Apellidos`, `Dn
i`, `Telefono`, `Dias`) VALUES
('1', 'Diego', 'Diaz', '76127704', '906330945', '4'),
('2', 'Luisa', 'Mendoza', '30012584', '901226385', '6'),
('3', 'Kender', 'Valdivia', '68957842', '924578562', '6'),
('4', 'Ximena', 'Rojas', '12568957', '932356874', '2'), (
'5', 'Liliana', 'Calderon', '65023025', '91245852', '3')
Muestras de las Tablas de la Base de Datos
Mis Preguntas
1. En la tabla Habitación, ¿cuáles son Fk1 y Fk2?
Id_habitacion = llave Primaria
No Tiene llave Foranea.
2. ¿Cuál es el límite de habitaciones que tiene el hotel?
9
3. ¿Cuál es el límite de empleados?
6
4. ¿Cuál es el fk1 y fk2 en Recepción?
Llave Primaria = Telefono
Llave Foranea = id_cliente, id_empleado, id_reserva, id_factura.
5. ¿Cuántos clientes hacen reserva en un día?
2
6. ¿Qué datos adiciones puedo agregar en la tabla Recepción?
Fecha
7. ¿Cuál es el total de empleados en el Hotel?
3
8. ¿Qué tabla agregaríamos en la BD?
Si se desea mejorar El Hospedaje se Agregaría la tabla tipo de Habitaciones
9. ¿Cuántos empleados Botones hay?
1
10. ¿Cuál es la llave Primaria en Empleados?
Id_empleados
11. ¿Cuál es la llave Foránea en Empleados?
No Tiene