0% found this document useful (0 votes)
58 views

4.3 Consultas en SQL Server: - Creando La Bsse de Datos HOTEL - GALAXIA

The document details the creation of multiple database tables for a hotel booking system called HOTEL_GALAXIA. It creates tables for customers, employees, rooms, bookings, payments and other related entities. It then inserts sample data into some of the independent tables like customers, employees and rooms to populate them with initial records. It also creates primary and foreign keys between the tables as needed.

Uploaded by

jessica mendez
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

4.3 Consultas en SQL Server: - Creando La Bsse de Datos HOTEL - GALAXIA

The document details the creation of multiple database tables for a hotel booking system called HOTEL_GALAXIA. It creates tables for customers, employees, rooms, bookings, payments and other related entities. It then inserts sample data into some of the independent tables like customers, employees and rooms to populate them with initial records. It also creates primary and foreign keys between the tables as needed.

Uploaded by

jessica mendez
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

4.

3 CONSULTAS EN SQL SERVER


--creando la bsse de datos HOTEL_GALAXIA
CREATE DATABASE HOTEL_GALAXIA

USE HOTEL_GALAXIA

--creando las tablas correspondientes

--crear la tabla COMPROBANTE_PAGO

CREATE TABLE COMPROBANTE_PAGO(


CPAG_numero char(6) NOT NULL primary key,
CPAG_fecha datetime NOT NULL )

--crear la tabla FACTURA CREATE


TABLE FACTURA ( FAC_numero_factura
char(6)NOT NULL,
CPAG_numero char(6) NOT NULL foreign key references
COMPROBANTE_PAGO(CPAG_numero),
FAC_impuesto char (9)NOT NULL,
PRIMARY KEY (FAC_numero_factura,CPAG_numero))

--crear la tabla BOLETA CREATE


TABLE BOLETA( BOL_numero_boleta
char (6)not null,
CPAG_numero char (6) not null foreign key references
COMPROBANTE_PAGO(CPAG_numero),
PRIMARY KEY (CPAG_numero,BOL_numero_boleta))

--crear la tabla TRABAJADOR

CREATE TABLE TRABAJADOR(


TRA_dni char (8)NOT NULL,
TRA_contraseña char(10)NOT NULL,
TRA_login varchar (15)NOT NULL,
TRA_nombres varchar (20)NOT NULL,
TRA_apaterno varchar (30)NOT NULL,
TRA_amaterno varchar (30)NOT NULL,
TRA_numero_de_celular char (9)NOT NULL,
primary key (TRA_contraseña))

--crear la tabla CLIENTE


CREATE TABLE CLIENTE(
CLI_codigo char (6)primary key NOT NULL,
CLI_dni char (8)NOT NULL, CLI_nombres
varchar (20)NOT NULL, CLI_apaterno
varchar (30)NOT NULL, CLI_amaterno
varchar (30)NOT NULL,
CLI_numero_de_celular char (9)NOT NULL,
CLI_departamento varchar (15)NOT NULL,
CLI_edad char (2)NOT NULL,
CLI_sexo char (1)NOT NULL,
CLI_motivo_viaje char (30)NOT NULL,
CLI_provincia varchar (20)NOT NULL,
CLI_distrito varchar (20)NOT NULL)
--crear la tabla PAGO
CREATE TABLE PAGO(
PAG_numero char (7)NOT NULL,
PAG_tipo_moneda varchar (8)NOT NULL,
PAG_fecha_uno datetime NOT NULL,
PAG_fecha_dos datetime NULL,
CLI_codigo char (6)NOT NULL foreign key REFERENCES
CLIENTE(CLI_codigo),
PRIMARY KEY (PAG_numero,CLI_codigo))

--crear la tabla HABITACION

CREATE TABLE HABITACION (


HAB_numero_hab char (3) primary key NOT NULL,
HAB_nivel_hab varchar (10)NOT NULL,
HAB_estado_hab varchar (8)NOT NULL,
HAB_tarifa_hab money NOT NULL,
HAB_tipo_cama varchar (15)NOT NULL)

--Crear la tabla RESERVA


CREATE TABLE RESERVA(
RES_id CHAR(6) primary key NOT NULL,
HAB_numero_hab char (3)NOT NULL foreign key REFERENCES
HABITACION(HAB_numero_hab),
TRA_contraseña char(10)NOT NULL foreign key REFERENCES
TRABAJADOR(TRA_contraseña))

--crear la tabla DETALLE_PAGO


CREATE TABLE DETALLE_PAGO(
RES_id char(6) NOT NULL foreign key references RESERVA (RES_id),
DVEN_importe money NOT NULL,
CPAG_numero char(6) NOT NULL foreign key references
COMPROBANTE_PAGO(CPAG_NUMERO),
CLI_codigo char (6)not null foreign key references CLIENTE
(CLI_codigo),
PRIMARY KEY(CPAG_numero,RES_id,CLI_codigo))

--crear la tabla DETALLE_RESERVA


CREATE TABLE DETALLE_RESERVA(
DRES_id int NOT NULL,
DRES_fecha_ingreso datetime NOT NULL,
DRES_numero_noches varchar (2)NOT NULL,
DRES fecha_salida datetime NOT NULL,
DRES_numero_de_habitacion char (3) NOT NULL,
RES_id char (6) foreign key references RESERVA(RES_id),
CLI_codigo char (6)foreign key references CLIENTE(CLI_codigo),
PRIMARY KEY (DRES_id,CLI_codigo,RES_id))

--colocando restricciones
--en las tablas independientes

alter table COMPROBANTE_PAGO


ADD CHECK (CPAG_numero like '[0-9][0-9][0-9][0-9][0-9][0-9]')
alter table CLIENTE
ADD CHECK (CLI_codigo like 'CLI[0-9][0-9][0-9]')

ALTER TABLE CLIENTE


ADD CHECK (CLI_dni like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

alter table cliente


add check (CLI_sexo like '[FM]')

ALTER TABLE CLIENTE


ADD CHECK (CLI_edad like '[0-9][0-9]')

alter table HABITACION


ADD CHECK (HAB_numero_hab like '[1-3][0-1][0-9]')

alter table PAGO


ADD CHECK (PAG_numero like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

alter table BOLETA


ADD CHECK (BOL_numero_boleta like '[0-9][0-9][0-9][0-9][0-9][0-9]')

alter table FACTURA


ADD CHECK (FAC_numero_factura like '[0-9][0-9][0-9][0-9][0-9][0-9]')

alter table TRABAJADOR


ADD CHECK (TRA_dni like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' )

alter table RESERVA


ADD CHECK (RES_id like'[0-9][0-9][0-9][0-9][0-9][0-9]' )

--despues de ejecutar las restricciones


--procedemos a insertar registros en las tablas
--empezamos con las tablas independientes
--tabla CLIENTE
INSERT INTO CLIENTE VALUES
('CLI001','74785963','JOSÉ','VELASQUEZ','MILLA','987963741','ANCASH','
22','M','VACACIONES','SANTA','CHIMBOTE') INSERT INTO CLIENTE
VALUES
('CLI002','74859636','PEDRO','AGUEDO','CARRION','951753123','LA
LIBERTAD','35','M','FERIADO','TRUJJILLO','MOCHE')
INSERT INTO CLIENTE VALUES
('CLI003','63524178','ROBERTO','CADILLO','ROSAS','963147852','LIMA','4
2','M','FERIADO','LIMA','LA MOLINA')
INSERT INTO CLIENTE VALUES ('CLI004','45253645','MARÍA
ROSA','BARRIONUEVO','TORRES','954786314','LIMA','40','F','TRABAJO','LI
MA','LA MOLINA')
INSERT INTO CLIENTE VALUES ('CLI005','12558796','LUZ
MERCEDEZ','FLORES','PUNTILLO','987456324','LIMA','41','F','TRABAJO','L
IMA','SAN ISIDRO')
INSERT INTO CLIENTE VALUES ('CLI006','74589963','ROBERTO
CARLOS','HUALLPA','SILVA','963258963','LIMA','50','M','FERIADO','LIMA'
,'COMAS')
INSERT INTO CLIENTE VALUES
('CLI007','71829345','MARCO','MENDEZ','CERNA','999888547','LIMA','28',
'M','VACACIONES','LIMA','INDEPENDENCIA')
INSERT INTO CLIENTE VALUES ('CLI008','78451263','JUAN
JOSÉ','MORALES','MEJIA','957824153','LIMA','30','M','VACACIONES','LIMA
','LA MOLINA')
INSERT INTO CLIENTE VALUES
('CLI009','78451229','FEDERICO','PABLO','CORDERO','965478136','LA
LIBERTAD',31,'M','FERIADO','TRUJILLO','MOCHE')
INSERT INTO CLIENTE VALUES
('CLI011','32659841','DERECK','MACEDO','BRITO','942663887','MOQUEGUA',
'26','M','VACACIONES','MOQUEGUA','MOQUEGUA') INSERT INTO CLIENTE
VALUES
('CLI012','41852365','YEREL','SANTILLAN','CONDORI','965824732','CUZCO'
,'28','M','VACACIONES','CUSCO','CUSCO') INSERT INTO CLIENTE VALUES
('CLI013','74851247','REBECA','MARIANO','MINAYA','963321464','LIMA','2
9','F','VACACIONES','LIMA','MIRAFLORES')
INSERT INTO CLIENTE VALUES ('CLI014','46798521','RUBI
SANDRA','SEGUNDO','MIRANDA','987556647','ANCASH','42','F','FERIADO','H
UARI','SAN MARCOS')
INSERT INTO CLIENTE VALUES ('CLI015','12453978','ROSITA
ROSA','SANCHEZ','GARCIA','999472536','LIMA','41','F','FERIADO','LIMA',
'SAN ISIDRO')
INSERT INTO CLIENTE VALUES
('CLI016','78469117','JIMENA','TINOCO','GARAY','986321478','LIMA','45'
,'F','VACACIONES','LIMA','MIRAFLORES')
INSERT INTO CLIENTE VALUES ('CLI017','78459317','ARIANA
ALESANDRA','TORO','SATURIO','963258456','CUSCO','50','F','JUBILACION',
'CUSCO','ROCAS')
INSERT INTO CLIENTE VALUES
('CLI018','71717173','SANTIAGO','VILLANUEVA','ROSALES','987456123','LI
MA','25','M','VACACIONES','LIMA','MOLINA')
INSERT INTO CLIENTE VALUES
('CLI019','71737679','SHARON','YARASCA','TORNE','917852963','ANCASH','
28','F','FERIADO','BOLOGNESI','PAMPAS')
INSERT INTO CLIENTE VALUES
('CLI020','71747578','GISELA','LUCAR','FLORES','999663341','ICA','23',
'F','VACACIONES','ICA','ICA')
INSERT INTO CLIENTE VALUES
('CLI010','45277578','ROSALINDA','LUCAR','MAUTINO','984663341','ICA','
23','F','VACACIONES','ICA','ICA')

TRUNCATE TABLE CLIENTE

--TABLA TRABAJADOR
INSERT INTO TRABAJADOR VALUES
('41454965','INES123456','GERENTE','INES','HERRERA','FIGUEROA','981825
741')
INSERT INTO TRABAJADOR VALUES
('71784232','955_74DORI','SUBGERENTE','DORIS
KARINA','FIGUEROA','HERRERA','941006789')
INSERT INTO TRABAJADOR VALUES
('60414532','9655891234','RECEPCIONISTA','PEDRO','FLORES','FIGUEROA','
914236876')

--TABLA HABITACION
INSERT INTO HABITACION VALUES ('101','BAJO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('102','BAJO','BUENO','60','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('103','BAJO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('104','BAJO','REGULAR','45','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('105','BAJO','REGULAR','45','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('106','BAJO','MUY BIEN','75','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('107','BAJO','MUY BIEN','85','TRIPLE
PLAZA')
INSERT INTO HABITACION VALUES ('108','BAJO','REGULAR','55','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('109','BAJO','REGULAR','45','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('302','BAJO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('201','MEDIO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('202','MEDIO','BUENO','60','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('203','MEDIO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('204','MEDIO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('205','MEDIO','BUENO','50','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('206','MEDIO','REGULAR','45','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('207','MEDIO','MUY BIEN','75','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('208','MEDIO','MUY BIEN','65','PLAZA Y
MEDIA')
INSERT INTO HABITACION VALUES ('209','MEDIO','MUY BIEN','75','DOBLE
PLAZA')
INSERT INTO HABITACION VALUES ('301','ALTO','REGULAR','45','PLAZA Y
MEDIA')

TRUNCATE TABLE HABITACION

--TABLA RESERVA
INSERT INTO RESERVA VALUES ('000001','101','9655891234')
INSERT INTO RESERVA VALUES ('000002','102','9655891234')
INSERT INTO RESERVA VALUES ('000003','103','9655891234')
INSERT INTO RESERVA VALUES ('000004','104','9655891234')
INSERT INTO RESERVA VALUES ('000005','105','9655891234')
INSERT INTO RESERVA VALUES ('000006','106','9655891234')
INSERT INTO RESERVA VALUES ('000007','107','9655891234')
INSERT INTO RESERVA VALUES ('000008','108','9655891234')
INSERT INTO RESERVA VALUES ('000009','109','9655891234')
INSERT INTO RESERVA VALUES ('000010','302','9655891234')
INSERT INTO RESERVA VALUES ('000011','201','9655891234')
INSERT INTO RESERVA VALUES ('000012','202','9655891234')
INSERT INTO RESERVA VALUES ('000013','203','9655891234')
INSERT INTO RESERVA VALUES ('000014','204','9655891234')
INSERT INTO RESERVA VALUES ('000015','205','9655891234')
INSERT INTO RESERVA VALUES ('000016','206','9655891234')
INSERT INTO RESERVA VALUES ('000017','207','9655891234')
INSERT INTO RESERVA VALUES ('000018','208','9655891234')
INSERT INTO RESERVA VALUES ('000019','209','9655891234')
INSERT INTO RESERVA VALUES ('000020','301','9655891234')

--tabla COMPROBANTE_PAGO
INSERT INTO COMPROBANTE_PAGO VALUES ('000001','2016-12-31')
INSERT INTO COMPROBANTE_PAGO VALUES ('000002','2017-02-01')
INSERT INTO COMPROBANTE_PAGO VALUES ('000003','2017-02-10')
INSERT INTO COMPROBANTE_PAGO VALUES ('000004','2017-03-02')
INSERT INTO COMPROBANTE_PAGO VALUES ('000005','2017-03-04')
INSERT INTO COMPROBANTE_PAGO VALUES ('000006','2017-04-05')
INSERT INTO COMPROBANTE_PAGO VALUES ('000007','2017-04-14')
INSERT INTO COMPROBANTE_PAGO VALUES ('000009','2017-05-16')
INSERT INTO COMPROBANTE_PAGO VALUES ('000010','2017-05-20')
INSERT INTO COMPROBANTE_PAGO VALUES ('000011','2017-06-12')
INSERT INTO COMPROBANTE_PAGO VALUES ('000012','2017-06-19')
INSERT INTO COMPROBANTE_PAGO VALUES ('000013','2017-06-13')
INSERT INTO COMPROBANTE_PAGO VALUES ('000014','2017-06-17')
INSERT INTO COMPROBANTE_PAGO VALUES ('000015','2017-07-19')
INSERT INTO COMPROBANTE_PAGO VALUES ('000016','2017-07-20')
INSERT INTO COMPROBANTE_PAGO VALUES ('000017','2017-07-28')
INSERT INTO COMPROBANTE_PAGO VALUES ('000018','2017-07-29')
INSERT INTO COMPROBANTE_PAGO VALUES ('000019','2017-08-01')
INSERT INTO COMPROBANTE_PAGO VALUES ('000020','2017-08-02')
INSERT INTO COMPROBANTE_PAGO VALUES ('000021','2017-12-31')
INSERT INTO COMPROBANTE_PAGO VALUES ('000022','2018-02-01')
INSERT INTO COMPROBANTE_PAGO VALUES ('000023','2018-02-10')
INSERT INTO COMPROBANTE_PAGO VALUES ('000024','2018-03-02')
INSERT INTO COMPROBANTE_PAGO VALUES ('000025','2018-03-04')
INSERT INTO COMPROBANTE_PAGO VALUES ('000026','2018-04-05')
INSERT INTO COMPROBANTE_PAGO VALUES ('000027','2018-04-14')
INSERT INTO COMPROBANTE_PAGO VALUES ('000029','2018-05-16')
INSERT INTO COMPROBANTE_PAGO VALUES ('000030','2018-05-20')
INSERT INTO COMPROBANTE_PAGO VALUES ('000031','2018-06-12')
INSERT INTO COMPROBANTE_PAGO VALUES ('000032','2018-06-19')
INSERT INTO COMPROBANTE_PAGO VALUES ('000033','2018-06-13')
INSERT INTO COMPROBANTE_PAGO VALUES ('000034','2018-06-17')
INSERT INTO COMPROBANTE_PAGO VALUES ('000035','2018-07-19')
INSERT INTO COMPROBANTE_PAGO VALUES ('000036','2018-07-20')
INSERT INTO COMPROBANTE_PAGO VALUES ('000037','2018-07-28')
INSERT INTO COMPROBANTE_PAGO VALUES ('000038','2018-07-29')
INSERT INTO COMPROBANTE_PAGO VALUES ('000039','2018-08-01')
INSERT INTO COMPROBANTE_PAGO VALUES ('000040','2018-08-02')

--TABLA BOLETA
INSERT INTO BOLETA VALUES ('000001','000001')
INSERT INTO BOLETA VALUES ('000002','000002')
INSERT INTO BOLETA VALUES ('000003','000003')
INSERT INTO BOLETA VALUES ('000004','000004')
INSERT INTO BOLETA VALUES ('000005','000005')
INSERT INTO BOLETA VALUES ('000006','000006')
INSERT INTO BOLETA VALUES ('000007','000007')
INSERT INTO BOLETA VALUES ('000008','000008')
INSERT INTO BOLETA VALUES ('000009','000009')
INSERT INTO BOLETA VALUES ('000010','000010')
INSERT INTO BOLETA VALUES ('000011','000011')
INSERT INTO BOLETA VALUES ('000012','000012')
INSERT INTO BOLETA VALUES ('000013','000013')
INSERT INTO BOLETA VALUES ('000014','000014')
INSERT INTO BOLETA VALUES ('000015','000015')
INSERT INTO BOLETA VALUES ('000016','000016')
INSERT INTO BOLETA VALUES ('000017','000017')
INSERT INTO BOLETA VALUES ('000018','000018')
INSERT INTO BOLETA VALUES ('000019','000019')
INSERT INTO BOLETA VALUES ('000020','000020')

--TABLA FACTURA
INSERT INTO FACTURA VALUES ('000021','000021','25')
INSERT INTO FACTURA VALUES ('000022','000022','26')
INSERT INTO FACTURA VALUES ('000023','000023','12')
INSERT INTO FACTURA VALUES ('000024','000024','19')
INSERT INTO FACTURA VALUES ('000025','000025','08')
INSERT INTO FACTURA VALUES ('000026','000026','16')
INSERT INTO FACTURA VALUES ('000027','000027','17')
INSERT INTO FACTURA VALUES ('000028','000028','32')
INSERT INTO FACTURA VALUES ('000029','000029','14')
INSERT INTO FACTURA VALUES ('000030','000030','64')
INSERT INTO FACTURA VALUES ('000031','000031','45')
INSERT INTO FACTURA VALUES ('000032','000032','17')
INSERT INTO FACTURA VALUES ('000033','000033','32')
INSERT INTO FACTURA VALUES ('000034','000034','35')
INSERT INTO FACTURA VALUES ('000035','000035','65')
INSERT INTO FACTURA VALUES ('000036','000036','45')
INSERT INTO FACTURA VALUES ('000037','000037','18')
INSERT INTO FACTURA VALUES ('000038','000038','25')
INSERT INTO FACTURA VALUES ('000039','000039','34')
INSERT INTO FACTURA VALUES ('000040','000040','28')

--TABLA DETALLE_PAGO
INSERT INTO DETALLE_PAGO VALUES ('000001','350','000001','CLI001')
INSERT INTO DETALLE_PAGO VALUES ('000002','180','000002','CLI002')
INSERT INTO DETALLE_PAGO VALUES ('000003','150','000003','CLI003')
INSERT INTO DETALLE_PAGO VALUES ('000004','45','000004','CLI004')
INSERT INTO DETALLE_PAGO VALUES ('000005','90','000005','CLI005')
INSERT INTO DETALLE_PAGO VALUES ('000006','150','000006','CLI006')
INSERT INTO DETALLE_PAGO VALUES ('000007','85','000007','CLI007')
INSERT INTO DETALLE_PAGO VALUES ('000008','165','000008','CLI008')
INSERT INTO DETALLE_PAGO VALUES ('000009','315','000009','CLI009')
INSERT INTO DETALLE_PAGO VALUES ('000010','100','000010','CLI010')
INSERT INTO DETALLE_PAGO VALUES ('000011','350','000021','CLI011')
INSERT INTO DETALLE_PAGO VALUES ('000012','180','000022','CLI012')
INSERT INTO DETALLE_PAGO VALUES ('000013','150','000023','CLI013')
INSERT INTO DETALLE_PAGO VALUES ('000014','50','000024','CLI014')
INSERT INTO DETALLE_PAGO VALUES ('000015','50','000025','CLI015')
INSERT INTO DETALLE_PAGO VALUES ('000016','92','000026','CLI016')
INSERT INTO DETALLE_PAGO VALUES ('000017','100','000027','CLI017')
INSERT INTO DETALLE_PAGO VALUES ('000018','450','000028','CLI018')
INSERT INTO DETALLE_PAGO VALUES ('000019','320','000029','CLI019')
INSERT INTO DETALLE_PAGO VALUES ('000020','120','000030','CLI020')

--TABLA DETALLE_RESERVA
INSERT INTO DETALLE_RESERVA VALUES ('1','2016-12-25','7','2016-12-
31','101','000001','CLI001')
INSERT INTO DETALLE_RESERVA VALUES ('2','2017-01-30','3','2017-02-
01','102','000002','CLI002')
INSERT INTO DETALLE_RESERVA VALUES ('3','2017-02-08','3','2017-02-
10','103','000003','CLI003')
INSERT INTO DETALLE_RESERVA VALUES ('4','2017-03-01','1','2017-03-
02','104','000004','CLI004')
INSERT INTO DETALLE_RESERVA VALUES ('5','2017-03-02','2','2017-03-
04','105','000005','CLI005')
INSERT INTO DETALLE_RESERVA VALUES ('6','2017-04-04','1','2017-04-
05','106','000006','CLI006')
INSERT INTO DETALLE_RESERVA VALUES ('7','2017-04-12','3','2017-04-
14','107','000007','CLI007')
INSERT INTO DETALLE_RESERVA VALUES ('8','2017-05-11','7','2017-05-
16','108','000008','CLI008')
INSERT INTO DETALLE_RESERVA VALUES ('9','2017-05-18','3','2017-05-
20','109','000009','CLI009')
INSERT INTO DETALLE_RESERVA VALUES ('10','2017-05-19','2','2017-05-
20','110','000010','CLI010')
INSERT INTO DETALLE_RESERVA VALUES ('11','2017-12-25','7','2018-12-
31','201','000011','CLI011')
INSERT INTO DETALLE_RESERVA VALUES ('12','2018-01-30','3','2018-02-
01','202','000012','CLI012')
INSERT INTO DETALLE_RESERVA VALUES ('13','2018-02-08','3','2018-02-
10','203','000013','CLI013')
INSERT INTO DETALLE_RESERVA VALUES ('14','2018-03-01','1','2018-03-
02','204','000014','CLI014')
INSERT INTO DETALLE_RESERVA VALUES ('15','2018-03-02','2','2018-03-
04','205','000015','CLI015')
INSERT INTO DETALLE_RESERVA VALUES ('16','2018-04-04','1','2018-04-
05','206','000016','CLI016')
INSERT INTO DETALLE_RESERVA VALUES ('17','2018-04-12','3','2018-04-
14','207','000017','CLI017')
INSERT INTO DETALLE_RESERVA VALUES ('18','2018-05-11','7','2018-05-
16','208','000018','CLI018')
INSERT INTO DETALLE_RESERVA VALUES ('19','2018-05-08','3','2018-05-
20','209','000019','CLI019')
INSERT INTO DETALLE_RESERVA VALUES ('20','2018-05-19','2','2018-06-
12','301','000020','CLI020')

--TABLA PAGO
INSERT INTO PAGO VALUES ('0000001','SOLES','2016-12-31','','CLI001')
INSERT INTO PAGO VALUES ('0000002','SOLES','2017-02-01','','CLI002')
INSERT INTO PAGO VALUES ('0000003','SOLES','2017-02-10','','CLI003')
INSERT INTO PAGO VALUES ('0000004','SOLES','2017-03-02','','CLI004')
INSERT INTO PAGO VALUES ('0000005','SOLES','2017-03-04','','CLI005')
INSERT INTO PAGO VALUES ('0000006','SOLES','2017-04-05','','CLI006')
INSERT INTO PAGO VALUES ('0000007','SOLES','2017-04-04','','CLI007')
INSERT INTO PAGO VALUES ('0000008','SOLES','2017-05-16','','CLI008')
INSERT INTO PAGO VALUES ('0000009','SOLES','2017-05-20','','CLI009')
INSERT INTO PAGO VALUES ('0000010','SOLES','2017-05-20','','CLI010')
INSERT INTO PAGO VALUES ('0000011','SOLES','2018-12-31','','CLI011')
INSERT INTO PAGO VALUES ('0000012','SOLES','2018-02-01','','CLI012')
INSERT INTO PAGO VALUES ('0000013','SOLES','2018-02-10','','CLI013')
INSERT INTO PAGO VALUES ('0000014','SOLES','2018-03-02','','CLI014')
INSERT INTO PAGO VALUES ('0000015','SOLES','2018-03-04','','CLI015')
INSERT INTO PAGO VALUES ('0000016','SOLES','2018-04-05','','CLI016')
INSERT INTO PAGO VALUES ('0000017','SOLES','2018-04-04','','CLI017')
INSERT INTO PAGO VALUES ('0000018','SOLES','2018-05-16','','CLI018')
INSERT INTO PAGO VALUES ('0000019','SOLES','2018-05-20','','CLI019')
INSERT INTO PAGO VALUES ('0000020','SOLES','2018-06-12','','CLI020')
--realizando las consultas
--consulta 1
--selecionar todos los clientes registrados en el hotel
SELECT * FROM CLIENTE

--consulta 2
--mostrar el nombre,apellido,importe a pagar solo para aquellos
clientes que pagarán más de 100
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DVEN_importe as [IMPORTE]
FROM CLIENTE, DETALLE_PAGO
WHERE CLIENTE.CLI_codigo= DETALLE_PAGO.CLI_codigo
AND DETALLE_PAGO.DVEN_importe > 100

--consulta 3
--listar todos los clientes que sean damas y paguen mas de 100 soles
por importe
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DVEN_importe as [IMPORTE]
FROM CLIENTE, DETALLE_PAGO
WHERE CLIENTE.CLI_codigo= DETALLE_PAGO.CLI_codigo
AND DETALLE_PAGO.DVEN_importe > 100
AND CLIENTE.CLI_sexo = 'F'
--consulta 4
--listar los clientes que pagaran con boleta de pago y el importe a
pagar
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DVEN_importe as [IMPORTE] ,
BOL_numero_boleta as [N° BOLETA]
FROM CLIENTE, DETALLE_PAGO,COMPROBANTE_PAGO,BOLETA
WHERE CLIENTE.CLI_codigo= DETALLE_PAGO.CLI_codigo
AND DETALLE_PAGO.CPAG_numero= COMPROBANTE_PAGO.CPAG_numero
and COMPROBANTE_PAGO.CPAG_numero= BOLETA.CPAG_numero
AND BOLETA.CPAG_numero > 00

--consulta 5
--listar a los clientes hospedados en el año 2017
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO], DRES_fecha_ingreso as [FECHA]
FROM CLIENTE,DETALLE_RESERVA
WHERE CLIENTE.CLI_codigo= DETALLE_RESERVA.CLI_codigo
AND (DETALLE_RESERVA.DRES_fecha_ingreso>='2017-01-01' AND
DETALLE_RESERVA.DRES_fecha_ingreso<='2017-12-31')

--consulta 6
--cual es el pago por hospedaje maximo hasta la actualidad
SELECT MAX (DVEN_importe) as [IMPORTE]
FROM DETALLE_PAGO

--consulta 7
--listar al cliente hospedado en determinado numero de habitacion
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DRES_numero_de_habitacion as [N°
HABITACIÓN]
FROM CLIENTE, DETALLE_RESERVA
WHERE CLIENTE.CLI_codigo= DETALLE_RESERVA.CLI_codigo
AND DETALLE_RESERVA.DRES_numero_de_habitacion= 109

--consulta 8
--listar a los clientes que por motivos de vacaciones
--realizaron su viaje ademas de realizarlo en en 2018 a mas, y paga un
importe mayor a 100 soles
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO], CLI_motivo_viaje AS [MOTIVO DE
VIAJE], DRES_fecha_ingreso as [FECHA] ,DVEN_importe as [IMPORTE]
FROM CLIENTE,DETALLE_RESERVA,DETALLE_PAGO
WHERE CLIENTE.CLI_codigo= DETALLE_RESERVA.CLI_codigo
AND CLIENTE.CLI_codigo= DETALLE_PAGO.CLI_codigo
AND CLIENTE.CLI_motivo_viaje= 'VACACIONES'
AND DETALLE_RESERVA.DRES_fecha_ingreso>='2018-01-01'
AND DETALLE_PAGO.DVEN_importe > 100

--consulta 9
--listar los clientes cuyo nombre empieze con cualquier vocal
SELECT * FROM CLIENTE
WHERE CLI_nombres LIKE '[AEIOU]%'

--consulta 10
--mostrar la cantidad de cliente masculinos y femeninos
SELECT COUNT (*) AS [NÚMERO] , CLI_sexo AS [SEXO] FROM CLIENTE
GROUP BY CLI_sexo

--consulta 11
--mostrar la ganancia el año 2018
SELECT SUM(DVEN_importe) as [GANANCIA TOTAL]
FROM DETALLE_PAGO,DETALLE_RESERVA
WHERE DETALLE_PAGO.CLI_codigo = DETALLE_RESERVA.CLI_codigo
AND DRES_fecha_ingreso >= '2018-01-01'

--consulta 12
--listar la cantidad de noches que los clientes se hospedaron, ademas
del tipo de cama para determinado cliente
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO], DRES_numero_noches as [NOCHES],
HAB_tipo_cama as [TIPO DE CAMA]
FROM CLIENTE,DETALLE_RESERVA,DETALLE_PAGO,RESERVA, HABITACION
WHERE CLIENTE.CLI_codigo= DETALLE_RESERVA.CLI_codigo
AND DETALLE_RESERVA.RES_id= RESERVA.RES_id
AND RESERVA.HAB_numero_hab=HABITACION.HAB_numero_hab
and CLIENTE.CLI_codigo = 'CLI001'
ORDER BY DRES_numero_noches DESC

--consulta 13
--mencionar a los clientes que pagaron con factura y el importe
respectivo
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DVEN_importe as [IMPORTE] ,
FAC_numero_factura as [N° FACTURA]
FROM CLIENTE, DETALLE_PAGO,COMPROBANTE_PAGO,FACTURA
WHERE CLIENTE.CLI_codigo= DETALLE_PAGO.CLI_codigo
AND DETALLE_PAGO.CPAG_numero= COMPROBANTE_PAGO.CPAG_numero
and COMPROBANTE_PAGO.CPAG_numero= FACTURA.CPAG_numero
AND FACTURA.CPAG_numero > 00

--consulta 14
--listar la fecha de pago , el importe y el cliente que hizo el pa
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],DVEN_importe as
[IMPORTE],PAG_fecha_uno AS [FECHA DE PAGO]
FROM CLIENTE,DETALLE_PAGO,PAGO
WHERE PAGO.CLI_codigo=CLIENTE.CLI_codigo
AND CLIENTE.CLI_codigo=DETALLE_PAGO.CLI_codigo
ORDER BY DETALLE_PAGO.DVEN_importe DESC

--consulta 15
--mencionar a los clientes mayores de 30 años, que hayan pagado por su
estadia no mayor a 300 soles
SELECT CLI_nombres as [NOMBRES],CLI_apaterno as [APELLIDO PATERNO],
CLI_amaterno AS [APELLIDO MATERNO],CLI_edad as [EDAD], DVEN_importe as
[IMPORTE]
FROM CLIENTE,DETALLE_PAGO
WHERE CLIENTE.CLI_codigo=DETALLE_PAGO.CLI_codigo
AND CLI_edad > 30
AND DVEN_importe <=300

---consultas en procedimientos almacenados


--procedimiento alamcenado 1
--crear un procedimiento almacenado para idenificar el estado de ls
camas
USE HOTEL_GALAXIA
CREATE PROCEDURE CALIDAD
@CALIDAD VARCHAR (10)
AS
SELECT HAB_estado_hab AS [ESTADO DE CAMA], HAB_numero_hab AS [N°
HABITACIÓN]
FROM HABITACION
WHERE HABITACION.HAB_estado_hab=@CALIDAD
GO

EXEC CALIDAD @CALIDAD= 'MUY BIEN'

--procedimiento alamcenado 2
--crear un procedimiento almacenado para determinar la cantidad de
reservas de cada cliente
CREATE PROCEDURE RESERVAS
@NRESERVAS INT
AS
SELECT COUNT (*) AS [CANTIDAD DE RESERVAS]
FROM RESERVA
WHERE RESERVA.RES_id=@NRESERVAS
GO
EXEC RESERVAS @NRESERVAS = 000005

You might also like