Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AUTOR (ES):
Gutierrez Huingo Lucio Fabricio (orcid.org/0000-0003-0514-9536)
Jacobo Sulla Jerson Johan (orcid.org/0000-0003-1950-9416)
Lozano Cachay Fabricio (orcid.org/0000-0003-3118-1978)
ASESOR(A)(ES):
Ing. Victor Fernando Luque Sanchez
LÍNEA DE INVESTIGACIÓN:
Sistemas de Información
TRUJILLO — PERÚ
2023
1
Índice
I. INTRODUCCION 3
a. Breve Historia de la empresa 3
b. Problematica actual de la empresa 3
II. DESCRIPCION Y ANALISIS DEL ESTUDIO 4
a. Diagrama de actividades 4
b. Modelo de Datos 5
c. Lista de 10 requerimientos 6
d. Implementación de requerimientos 7
e. Implementar 1 función 13
f. Implementar 3 vistas 14
g. Implementar 1 disparador 17
h. Implementar índices 18
i. Implementación de Cursores 19
j. Integración de Datos 20
ANEXOS 24
2
I. INTRODUCCION
3
permita eficacia y velocidad al registrarse, acarreando que disminuya la
clientela y opten por acudir a la competencia.
Otro de los problemas a destacar es la dificultad para generar resúmenes
de ganancias y pérdidas para permitir la correcta administración del
negocio y generar así estrategias que contribuyan a la mejoría del
servicio.
4
b. Acerca del proceso del negocio (diagrama: BIZAGI).
Diagrama de Actividades
5
c. Modelo de Datos (E-R)
6
d. Lista de 10 requerimientos
1. Conocer que recepcionistas han realizado reservas y
cuáles no (Left Join)
2. Conocer que habitaciones han sido reservadas y
cuáles no en el año 2021(Right Join)
3. Conocer las reservas de cada mes por habitacion en
el año 2022. (Pivote)
4. Conocer el pago de la reserva realizadas (Group by) .
5. Conocer el resumen de reservas realizadas (Group
by).
6. Conocer la gestión de reservas realizadas en el año
2021(Having)
7. Conocer a que personal de mantenimiento está
asignado a cada habitación (Inner Join)
8. Conocer que Gabinete tiene el personal del área de
mantenimiento (Inner Join)
9. Conocer que habitaciones han sido las más
reservadas (Inner Join)
10. Conocer que tipo de comprobante se le ha entregado
a los huéspedes (Inner Join)
( 2: left, right join), (1) PIVOTE (3) GROUP BY y HAVING (4) LIBRE:
JOIN )
7
d. Implementación de Requerimientos (4)
1.
ii. Enunciado del requerimiento
Conocer que recepcionistas han administrado reservas y
cuáles no (Left Join)
iii. Orden SQL
SELECT R.RecepcionistaNombreCompleto, ESTADO = (CASE WHEN
S.ReservaCodigo is null then 'NO ADMINISTRÓ RESERVAS' ELSE 'SI
ADMINISTRÓ RESERVAS' END)
FROM Recepcion.Recepcionista AS R LEFT JOIN Recepcion.Reserva AS S
ON R.RecepcionistaCodigo= S.ReservaCodigoRecepcionista
GROUP BY R.RecepcionistaNombreCompleto, (CASE WHEN S.ReservaCodigo
is null then 'NO ADMINISTRÓ RESERVAS' ELSE 'SI ADMINISTRÓ RESERVAS'
END)
go
iv. Datos como resultado de aplicar la orden SQL
2.
i. Enunciado del requerimiento
Conocer que habitaciones han sido reservadas y cuáles no
en el año 2021
ii. Orden SQL
SELECT H.HabitacionCodigo, ESTADO =(Case When R.ReservaCodigo is null
then 'La Habitación no fue Reservada'ELSE 'La Habitación fue
Reservada 'END)
FROM Recepcion.Reserva AS R RIGHT JOIN Recepcion.Habitacion AS H
ON R.ReservaCodigoHabitacion=H.HabitacionCodigo
where YEAR(R.ReservaFecha) = 2021
Group by H.HabitacionCodigo, (Case When R.ReservaCodigo is null then
'La Habitación no fue Reservada'ELSE 'La Habitación fue Reservada
'END)
go
8
iii. Datos como resultado de aplicar la orden SQL
3.
i. Enunciado del requerimiento
Conocer las reservas de cada mes por habitación en el año
2022. (Pivote)
ii. Orden SQL
SELECT h.HabitacionCodigo, R.ReservaPago as Pago,
MONTH(R.ReservaFecha) AS Mes
INTO #resumen
FROM Recepcion.Reserva AS R INNER JOIN Recepcion.Habitacion AS H
ON R.ReservaCodigoHabitacion=h.HabitacionCodigo
Where year(R.ReservaFecha) =2022
SELECT *
FROM #resumen p
PIVOT (SUM(p.Pago) FOR Mes IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],
[10],[11],[12])) As pvt
go
4.
i. Enunciado del requerimiento
Conocer el pago de la reserva realizadas
ii. Orden SQL
9
SELECT R.ReservaCodigo, H.HuespedNombreCompleto, R.ReservaPago
from Recepcion.Reserva R inner join Recepcion.Huesped H on
R.ReservaCodigoHuesped=H.HuespedCodigo
group by R.ReservaCodigo, H.HuespedNombreCompleto, R.ReservaPago
iii. Datos como resultado de aplicar la orden SQL
5.
i. Enunciado del requerimiento
Conocer el resumen de reservas totales e ingresos
generados por cada recepcionista
ii. Orden SQL
SELECT Re.RecepcionistaNombreCompleto, SUM(R.ReservaPago) as Ventas,
COUNT(R.ReservaCodigo) as 'Reservas Totales'
from Recepcion.Reserva R INNER JOIN Recepcion.Recepcionista Re on
R.ReservaCodigoRecepcionista=Re.RecepcionistaCodigo
GROUP BY Re.RecepcionistaNombreCompleto
go
10
6.
i. Enunciado del requerimiento
Conocer la gestión de reservas realizadas en el año 2021
ii. Orden SQL
SELECT
R.ReservaCodigo,H.HuespedNombreCompleto,Re.RecepcionistaNombreCompleto,
CAST(R.ReservaFecha AS date) AS Fecha, R.ReservaPago as Venta, Año =
year(R.ReservaFecha), Mes = Month(R.ReservaFecha)
from Recepcion.Reserva R INNER JOIN Recepcion.Huesped H on
R.ReservaCodigoHuesped=H.HuespedCodigo
INNER JOIN Recepcion.Recepcionista Re on
R.ReservaCodigoRecepcionista=Re.RecepcionistaCodigo
GROUP BY
R.ReservaCodigo,H.HuespedNombreCompleto,Re.RecepcionistaNombreCompleto,
CAST(R.ReservaFecha AS date),R.ReservaPago
Having YEAR (R.ReservaFecha)= 2021
iii. Datos como resultado de aplicar la orden SQL
7.
i. Enunciado del requerimiento
Conocer a que personal de mantenimiento está asignado a
cada habitación (Inner Join)
11
8.
i. Enunciado del requerimiento
Conocer que Gabinete tiene el personal del área de
mantenimiento (Inner Join)
ii. Orden SQL
SELECT R. PersonalMantenimientoNombreCompleto, G.GabineteNombre
FROM Recepcion. PersonalMantenimiento AS R INNER JOIN Recepcion.Gabinete
AS G
ON R. PersonalMantenimientoGabinete=G.GabineteCodigo
GROUP BY R. PersonalMantenimientoNombreCompleto, G.GabineteNombre
iii. Datos como resultado de aplicar la orden SQL
9.
i. Enunciado del requerimiento
Conocer que habitaciones han sido las más reservadas
(Inner Join)
ii. Orden SQL
SELECT H.HabitacionCodigo, COUNT(R.ReservaCodigoHabitacion) AS
Nreservas
FROM Recepcion.Habitacion AS H INNER JOIN Recepcion.Reserva AS R
ON H.HabitacionCodigo=R.ReservaCodigoHabitacion
GROUP BY H.HabitacionCodigo
ORDER BY Nreservas DESC
12
iii. Datos como resultado de aplicar la orden SQL
10.
i. Enunciado del requerimiento
Conocer que tipo de comprobante se le ha entregado a los
huespedes
ii. Orden SQL
select res.ReservaCodigoHuesped, h.HuespedNombreCompleto, COMPROBANTE
= (CASE WHEN com.ComprobanteTipo = 'B' then 'BOLETA' ELSE 'FACTURA'
END)
from Recepcion.Reserva res INNER JOIN Recepcion.ComprobanteDePago
com on res.ReservaCodigo =com.ComprobanteReservaCodigo
INNER JOIN Recepcion.Huesped h on res.ReservaCodigoHuesped =
h.HuespedCodigo
GROUP BY res.ReservaCodigoHuesped, h.HuespedNombreCompleto,
com.ComprobanteTipo
GO
13
e. Implementar 1 función
Función que se basa en una política de descuento:
Si la estadía consta de mas de 5 personas se aplicará un descuento
de 5 soles por cada persona adicional. El método calcula el monto a
pagar aplicando el descuento del huésped del que se ingresa el
código
1. Script function
CREATE OR ALTER FUNCTION
dbo.Calculando_MontoConDcto(@codigoHuesped nchar(6)) RETURNS
decimal(9,2)
AS
BEGIN
DECLARE @dcto numeric(9,2)=0
DECLARE @npersonas numeric(9,2)=0
DECLARE @montototal numeric(9,2)=0
DECLARE @montodcto numeric(9,2)=0
SELECT @npersonas = r.ReservaNroPersonas, @montototal =
r.ReservaPago
FROM Recepcion.Huesped h INNER JOIN Recepcion.Reserva r
ON h.HuespedCodigo = r.ReservaCodigoHuesped
WHERE r.ReservaCodigoHuesped = @codigoHuesped
IF(@npersonas>5)
BEGIN
SET @dcto=5*(@npersonas-5)
END
ELSE
SET @dcto = 0
SET @montodcto = @montototal-@dcto
RETURN @montodcto
END
GO
2. Probar función
14
a.
4. Poner vista (CREATE VIEW)
Create or alter view VISTA1
AS
SELECT h.HuespedNombreCompleto As Huesped, r.ReservaFecha As Fecha,
b.HabitacionCodigo As 'Codigo de habitacion', b.HabitacionDescripcion
AS 'Descripcion de habitacion', t.TipoNombre AS 'Tipo de Habitacion',
r.ReservaCantidadDeDias AS 'Estancia',
Monto = sum(r.ReservaPrecioPorDia*r.ReservaCantidadDeDias)
FROM Recepcion.Reserva r inner join Recepcion.Huesped h ON
h.HuespedCodigo = r.ReservaCodigoHuesped
INNER JOIN Recepcion.Habitacion b ON b.HabitacionCodigo =
r.ReservaCodigoHabitacion
INNER JOIN Recepcion.TipoHabitacion t ON t.TipoCodigo =
b.HabitacionTipoCodigo
GROUP BY h.HuespedNombreCompleto, r.ReservaFecha,
b.HabitacionCodigo, b.HabitacionDescripcion, t.TipoNombre,
r.ReservaCantidadDeDias
go
15
2.
Poner vista (CREATE VIEW)
create or alter view vista2
as
SELECT H.HabitacionCodigo, COUNT(R.ReservaCodigoHabitacion) AS
Nreservas
FROM Recepcion.Habitacion AS H INNER JOIN Recepcion.Reserva AS R
ON H.HabitacionCodigo=R.ReservaCodigoHabitacion
GROUP BY H.HabitacionCodigo
go
3.
Poner vista (CREATE VIEW)
create or alter view vista3
AS
SELECT h.HabitacionCodigo ,
Enero = sum(CASE WHEN MONTH(R.ReservaFecha) =1 then R.ReservaPago
ELSE 0 END),
16
Febrero = sum(CASE WHEN MONTH(R.ReservaFecha) =2 then R.ReservaPago
ELSE 0 END),
Marzo = sum(CASE WHEN MONTH(R.ReservaFecha) =3 then R.ReservaPago
ELSE 0 END),
Abril = sum(CASE WHEN MONTH(R.ReservaFecha) =4 then R.ReservaPago
ELSE 0 END),
Mayo = sum(CASE WHEN MONTH(R.ReservaFecha) =5 then R.ReservaPago ELSE
0 END),
Junio = sum(CASE WHEN MONTH(R.ReservaFecha) =6 then R.ReservaPago
ELSE 0 END) ,
Julio = sum(CASE WHEN MONTH(R.ReservaFecha) =7 then R.ReservaPago
ELSE 0 END) ,
Agosto = sum(CASE WHEN MONTH(R.ReservaFecha) =8 then R.ReservaPago
ELSE 0 END) ,
Septiembre = sum(CASE WHEN MONTH(R.ReservaFecha) =9 then
R.ReservaPago ELSE 0 END) ,
Octubre = sum(CASE WHEN MONTH(R.ReservaFecha) =10 then R.ReservaPago
ELSE 0 END),
Noviembre = sum(CASE WHEN MONTH(R.ReservaFecha) =11 then
R.ReservaPago ELSE 0 END) ,
Diciembre = sum(CASE WHEN MONTH(R.ReservaFecha) =12 then
R.ReservaPago ELSE 0 END)
FROM Recepcion.Reserva AS R INNER JOIN Recepcion.Habitacion AS H
ON R.ReservaCodigoHabitacion=h.HabitacionCodigo
Where year(R.ReservaFecha) =2022
GROUP BY h.HabitacionCodigo
Go
17
g. Implementar 1 disparadores
6. Script TRIGGER
CREATE TRIGGER ti_habitacion ON Recepcion.Reserva
FOR INSERT
AS
UPDATE h SET HabitacionEstado = 'O'
FROM habitacion h INNER JOIN inserted r ON
r.ReservaCodigoHabitacion = h.HabitacionCodigo
GO
7. Prueba (Pegar pantalla de las pruebas
Como se aprecia en la habitación 7 su estado es “L”
(Libre)
18
h. Implementar índices
i. Tablas movimientos
-- INDICES PARA COLUMNAS DE CONSULTAS FRECUENTES
-- GABINETE (GabineteNombre)
create nonclustered index idxx_gabinetenombre on
Recepcion.Gabinete(GabineteNombre)
-- RESERVA (ReservaFecha)
create nonclustered index idxx_reservafecha on
Recepcion.Reserva(ReservaFecha)
-- COMPROBANTE (ComprobanteNroComp)
create nonclustered index idxx_comprobantenro on
Recepcion.ComprobanteDePago(ComprobanteNroComp)
-- RECEPCIONISTA (RecepcionistaNombreCompleto)
create nonclustered index idxx_recepcionistanombre on
Recepcion.Recepcionista(RecepcionistaNombreCompleto)
-- HUESPED (HuespedNombreCompleto)
create nonclustered index idxx_huespednombre on
Recepcion.Huesped(HuespedNombreCompleto)
ii. Tablas FK
Tabla Orden Indexado
Reserva Recepcionista:
create nonclustered index idxx_reservarecepcionista on
Recepcion.Reserva(ReservaCodigoRecepcionista)
GO
Huesped:
create nonclustered index idxx_reservahuesped on
Recepcion.Reserva(ReservaCodigoHuesped)
GO
Habitación:
create nonclustered index idxx_reservahabitación on
Recepcion.Reserva(ReservaCodigoHabitacion)
GO
Habitación Personal de Limpieza:
create nonclustered index idxx_habitacionpersonal on
Recepcion.Habitacion(HabitacionPersonalCodigo)
GO
Tipo de habitación:
create nonclustered index idxx_habitaciontipo on
Recepcion.Habitacion(HabitacionTipoCodigo)
GO
Personal Gabinete:
create nonclustered index idxx_personalGabinete on
Recepcion.PersonalMantenimiento(PersonalMantenimientoGabinet
e)
GO
19
Comprobant Reserva:
create nonclustered index idxx_comprobantereserva on
e Recepcion.ComprobanteDePago(ComprobanteReservaCodigo)
i. Implementar de Cursores
Cursor para otorgar un cupón de descuento del 5% del pago a
aquellas reservas que cumplan con las siguientes condiciones:
Tener a huéspedes de tipo natural
Ser de más de 5 días
Incluir más de 3 personas
CREATE OR ALTER PROCEDURE _CalcularDcto1 @codigo nchar(6)
AS
END
20
CLOSE c_dcto
DEALLOCATE c_dcto
SELECT d.HuespedCodigo, d.ReservaCodigo,d.ReservaNroPersonas ,
d.ReservaCantidadDeDias, d.HuespedTipo ,IIF(d.dcto1>0, 'SI RECIBE','NO
RECIBE') as CuponEstado, d.dcto1
from #dcto d
ORDER BY d.ReservaCantidadDeDias
Go
-- ejecucion
exec _CalcularDcto1 @codigo='C00001'
21
ii. Scripts de 3 dimensiones
SCRIPT DimHuesped:
DELETE from [ProyectoResumen].[dbo].[DimHuesped] -- borrar datos
go
INSERT [ProyectoResumen].[dbo].[DimHuesped] -- subida de datos
(Huesped, TipoHuesped, Telefono)
SELECT h.HuespedNombreCompleto as Huesped,h.HuespedTipo as
TipoHuesped,h.HuespedTelefono as Telefono
FROM Recepcion.Huesped h
go
select * from [ProyectoResumen].[dbo].[DimHuesped] -- consulta
SCRIPT DimHabitacion:
DELETE from [ProyectoResumen].[dbo].[DimHabitacion] -- borrar datos
go
INSERT [ProyectoResumen].[dbo].[DimHabitacion] -- subida de datos
(Habitacion, TipoHabitacion)
SELECT h.HabitacionDescripcion as Habitacion,th.TipoNombre as
TipoHabitacion
FROM Recepcion.Habitacion h inner join Recepcion.TipoHabitacion th ON
h.HabitacionTipoCodigo=th.TipoCodigo
go
select * from [ProyectoResumen].[dbo].[DimHabitacion] -- consulta
22
SCRIPT DimPersonalDeMantenimiento:
DELETE from [ProyectoResumen].[dbo].[DimPersonalDeMantenimiento] -- borrar
datos
go
INSERT [ProyectoResumen].[dbo].[DimPersonalDeMantenimiento] -- subida de
datos
(PersonalMantenimiento, Gabinete)
SELECT p.PersonalMantenimientoNombreCompleto as
PersonalMantenimiento,g.GabineteNombre as Gabinete
FROM Recepcion.PersonalMantenimiento p inner join Recepcion.Gabinete g ON
p.PersonalMantenimientoGabinete=g.GabineteCodigo
go
select * from [ProyectoResumen].[dbo].[DimPersonalDeMantenimiento] --
consulta
k. Implementar Seguridad
db_owner
23
db_datareader
db_datawriter
24
db_denydatawriter
IF @tipo = 5
SELECT h.HabitacionCodigo,t.TipoNombre as Tipo , h.HabitacionDescripcion as
Descripcion, h.HabitacionNumeroCamas as
NumCamas,IIF(h.HabitacionEstado='L','Libre','OCUPADO') as Estado
FROM Recepcion.Habitacion h inner join Recepcion.TipoHabitacion t on
h.HabitacionTipoCodigo=t.TipoCodigo
WHERE HabitacionCodigo LIKE + '%' +@HabitacionCodigo + '%'
-- PROCEDIMIENTO PERSONAL
create or alter procedure _PersonalMantenimiento
25
@PersonalMantenimientoPaterno nvarchar(30)=null, @PersonalMantenimientoMaterno
nvarchar(30)=null, @PersonalMantenimientoTelefono nvarchar(13)=null,
@PersonalMantenimientoDireccion nvarchar(100)=null, @PersonalMantenimientoSueldo
numeric(9,2)=null, @PersonalMantenimientoFechaEntrada datetime=null, @tipo tinyint=1
as
if @tipo=1
begin
insert Recepcion.PersonalMantenimiento(PersonalMantenimientoCodigo,
PersonalMantenimientoGabinete, PersonalMantenimientoNombre,
PersonalMantenimientoPaterno, PersonalMantenimientoMaterno,
PersonalMantenimientoTelefono,
PersonalMantenimientoDireccion, PersonalMantenimientoSueldo,
PersonalMantenimientoFechaEntrada)
values (@PersonalMantenimientoCodigo, @PersonalMantenimientoGabinete,
@PersonalMantenimientoNombre,
@PersonalMantenimientoPaterno, @PersonalMantenimientoMaterno,
@PersonalMantenimientoTelefono,
@PersonalMantenimientoDireccion, @PersonalMantenimientoSueldo,
@PersonalMantenimientoFechaEntrada)
end
if @tipo=5
select pm.PersonalMantenimientoCodigo as CodigoPersonal, g.GabineteNombre as
NombreGabinete, pm.PersonalMantenimientoNombreCompleto as NombreCompleto,
pm.PersonalMantenimientoTelefono as Telefono,
pm.PersonalMantenimientoDireccion as Direccion,
pm.PersonalMantenimientoSueldo as Sueldo, pm.PersonalMantenimientoFechaEntrada as
FechaEntrada
from Recepcion.PersonalMantenimiento pm inner join
Recepcion.Gabinete g on pm.PersonalMantenimientoGabinete = g.GabineteCodigo
where pm.PersonalMantenimientoCodigo LIKE + '%' +
@PersonalMantenimientoCodigo + '%'
-- PROCEDIMIENTO COMPROBANTE
CREATE OR ALTER PROCEDURE _ComprobanteDePago
AS
IF @tipo = 1
BEGIN
INSERT Recepcion.ComprobanteDePago (ComprobanteNroSerie, ComprobanteReservaCodigo,
ComprobanteNroComp, ComprobanteTipo)
VALUES (@ComprobanteNroSerie, @ComprobanteReservaCodigo , @ComprobanteNroComp,
@ComprobanteTipo)
END
IF @tipo = 5
SELECT c.ComprobanteNroSerie as N_Serie, c.ComprobanteReservaCodigo as
ReservaCodigo, h.HuespedNombreCompleto as NombreCompleto, b.HabitacionCodigo as
N_Habitacion, c.ComprobanteNroComp as N_Comprobante,IIF(c.ComprobanteTipo
='B','Boleta','Factura') as Estado FROM Recepcion.ComprobanteDePago c inner join
Recepcion.Reserva r on c.ComprobanteReservaCodigo= r.ReservaCodigo inner join
26
Recepcion.Huesped h on h.HuespedCodigo=r.ReservaCodigoHuesped inner join
Recepcion.Habitacion b on b.HabitacionCodigo = r.ReservaCodigoHabitacion WHERE
c.ComprobanteNroSerie LIKE + '%' +@ComprobanteNroSerie + '%'
-- PROCEDIMIENTO RESERVA
AS
IF @tipo = 1
BEGIN
INSERT Recepcion.Reserva
(ReservaCodigo,ReservaCodigoRecepcionista,ReservaCodigoHuesped,reservaCodigoHabitacion
,ReservaFecha,ReservaHora,ReservaNroPersonas,ReservaPrecioPorDia,ReservaCantidadDeDias
)
VALUES (@ReservaCodigo, @ReservaCodigoRecepcionsta, @ReservaCodigoHuesped,
@reservaCodigoHabitacion, @ReservaFecha, @ReservaHora, @ReservaNroPersonas,
@ReservaPrecioPorDia, @ReservaCantidadDeDias)
END
IF @tipo = 5
SELECT r.ReservaCodigo as CodigoReserva , c.RecepcionistaNombreCompleto as
Recepcionista, h.HuespedNombreCompleto as Huesped,b.HabitacionCodigo as
Habitacion,r.ReservaFecha as Fecha,r.ReservaHora as Hora,r.ReservaNroPersonas as
N_Personas,r.ReservaPrecioPorDia as Precio,r.ReservaCantidadDeDias as
Días,r.ReservaPago as PagoTotal
FROM Recepcion.Recepcionista c inner join Recepcion.Reserva r on
c.RecepcionistaCodigo= r.ReservaCodigoRecepcionista
inner join Recepcion.Huesped h on h.HuespedCodigo = r.ReservaCodigoHuesped inner
join Recepcion.Habitacion b on b.HabitacionCodigo = r.ReservaCodigoHabitacion
WHERE r.ReservaCodigo LIKE + '%' +@ReservaCodigo + '%'
-- PROCEDIMIENTO PERSONAL
create or alter procedure _RegistrarHuesped
as
if @tipo=1
begin
insert Recepcion.Huesped(HuespedCodigo, HuespedNombre,HuespedPaterno,
HuespedMaterno, HuespedTelefono,HuespedTipo)
values (@HuespedCodigo, @HuespedNombre, @HuespedPaterno,@HuespedMaterno,
@HuespedTelefono, @HuespedTipo)
end
if @tipo=5
select HuespedCodigo as Codigo, HuespedNombreCompleto as NombreCompleto,
HuespedTelefono as Telefono,IIF(HuespedTipo ='N','Natural','Jurídico')as Tipo
27
from Recepcion.Huesped where HuespedCodigo LIKE + '%' + @HuespedCodigo + '%'
m. Implementar 3 mantenedores.NET
Mantenedor Reserva
Mantenedor Habitación
Mantenedor Huesped
28
Mantenedor Personal
Mantenedor Comprobante
29
n. Implementar 3 Consultas en .NET
Reserva entre Fechas
30
Reserva por Trimestre
4. CONCLUSIONES
Se logró implementar la base de datos en SQL Server Management Studio
gracias a las diferentes metodologías impartidas en clase que se procedieron a
utilizar para satisfacer las distintas necesidades del hotel “Las Palmeras.”
Se logró implementar la interfaz y diseño de aplicativo de base de datos en
Visual Studio gracias a las diferentes metodologías impartidas en clase que se
procedieron a utilizar complementándolas con las metodologías de SQL con la
que se procedió a realizar la conexión del aplicativo siguiendo la estructura
necesaria del hotel “Las Palmeras.”
Se logró contestar las distintas necesidades del hotel “Las Palmeras” al
implementar todas las necesidades de su estructura al momento de desarrollar
todos los requerimientos necesarios para el informe académico.
5. RECOMENDACIONES
31
Se recomienda hacer uso de este informe para futuras investigaciones que
involucren la gestión de cualquier tipo de hospedaje o que contengan reservas
en general.
Se recomienda hacer uso de todas las medidas de seguridad para los futuros
investigadores para prevenir cualquier ataque o error de gestión por parte del
usuario del aplicativo.
Se recomienda hacer uso de las necesidades de la estructura del negocio con el
que el investigador esté trabajando para dictaminar la estructura del aplicativo a
desarrollar para sí lograr un fácil entendimiento por parte del destinatario del
programa.
ANEXOS
1. Esquema de la base de datos
32