Sei sulla pagina 1di 21

BD AGENCIA DE VIAJES Y HOTELERIA INTRODUCCION El obtener un servicio completo de una agencia de viajes conjuntamente con un hotel , es mejorar los

servicios que esta puede ofrecer a sus clientes. OBJETIVO Mediante los lenguajes SQL 2005 SERVER y ORACLE crearemos una base de datos sobre, una agencia de viajes la misma har reservaciones en un hotel con mltiples servicios a sus clientes. MARCO TEORICO

ANALISIS REQUERIMIENTOS o o o o o Software SQL 2005 SERVER Software ORACLE Creacin de Tablas Insercin de tablas Funciones y procedimientos

DICCIONARIO DE DATOS

CREACION DE TABLAS E INSERCCION create table SISTEMA.Usuarios( CodU CHAR(10)not null, Pass CHAR(10)not null, Nombre CHAR(20)not null, APaterno CHAR(20)not null, AMaterno CHAR (20)not null, CI CHAR (15)not null, URL CHAR (40), primary key (CodU) );

create table SISTEMA.agencia( codA char(10)not null, CodU char(10)not null, Nombre char(30), Razonsocial char(20), Direccion char(40), Zona char(20), Localidad char(30), Provincia char(40), Representante char(40), PropietarioGen char(40), PlanTrabajo char(40),

Telefonos char(20), primary key(codA), CONSTRAINT CLAV1 foreign key (CodU) references SISTEMA.Usuarios(CodU) ); create table SISTEMA.trans( codt char(10) not null, codA char(10)not null, Automoviles integer, Minibus integer, Autobus integer, Vagonetas integer, Catmar4an integer, Caliscafo integer, Total integer, primary Key (codt), CONSTRAINT CLAV2 foreign key(codA) references SISTEMA.agencia (codA) ); create table SISTEMA.documentacionA( codd char (10) not null, codA char(10)not null, Fmemorialsolivitud char(40), Tipoconstitucion char(40),

Ntestimonio char(40), Fconstitucion char(40), Poder char(40), Nnit integer, Nmatriculasenares char(40), Fsenares char(40), Nresolucionsenares char(40), Fundempresa char(40), primary key (codd), CONSTRAINT CLAV3 foreign key(codA) references SISTEMA.agencia (codA) );

create table SISTEMA.Tours( codto char(10)not null, codA char(10)not null, Aventura char(40), Biking char(40), Trekking char(40), Altamontaa char(40), Clasico char(40), Raftingsmo char(10), Otros char(40), primary key(codto), CONSTRAINT CLAV4

foreign key(codA) references SISTEMA.AGENCIA (codA) );

create table SISTEMA.registroA( codreA char(10)not null, codA char(10)not null, Nregdeptal char(40), Tiporesolucion char(40), Nresolucion char(40), Ninspeccion char(40), Ncarta integer, Cumplimiento char(20), primary key (codreA), CONSTRAINT CLAV5 foreign key(codA) references SISTEMA.agencia (codA) ); create table SISTEMA.serA( codserA char (10)not null, codA char(10)not null, Ventaboletos char(40), Operador char(40), Intermediario char(40), Otros char(40), primary key (codserA),

CONSTRAINT CLAV6 foreign key(codA) references SISTEMA.AGENCIA (codA) ); create table SISTEMA.Hotel( CodH char(10)not null, CodU char (10)not null, Nombre char (20), Direccin char(40), Prov char (20), Localidad char(20), Rep_Legal char(30), Propietario_Ge char(40), Nsucursales integer, Telfono integer, Fax integer, primary key (CodH), CONSTRAINT CLAV7 foreign key (CodU) references SISTEMA.USUARIOS (CodU) ); create table SISTEMA.DocumentacionH( codDocH char (10)not null, CodH char(10)not null, Constitucin char (30), FConstitucin char (30),

NNotaria integer, Afiliado char(40), Nnit integer, Fundempresa char (30), Ffundempresa char (30), primary key(codDocH), CONSTRAINT CLAV8 foreign key(CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.Habitaciones ( codHabi char(10)not null, CodH char(10)not null, SimplesCB integer, CostoSCB integer, DoblesCB integer, CostosDCB integer, Triples integer, CostoTriples integer, primary key(codHabi), CONSTRAINT CLAV9 foreign key(CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.RegistroH( codRegH char(10)not null,

CodH char(10)not null, Folder integer, NRegistro integer, Clase char(20), Categoria char (30), NCertificacin integer, FCertificacin integer, NResolucin integer, Clasificacin char(20), primary key(codRegH), CONSTRAINT CLAV10 foreign key (CodH) references SISTEMA.HOTEL (CodH) ); create table SISTEMA.Restaurantes( codRestH char(10)not null, CodH char (10)not null, Nombre char (40), Capacidad integer, primary key (codRestH), CONSTRAINT CLAV11 foreign key (CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.Personal( codPerH char(10)not null,

CodH char(10)not null, THom integer, TMuj integer, NTren integer, NTper integer, NTeven integer, primary key (codPerH), CONSTRAINT CLAV12 foreign key (CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.SerH( codserH char(10)not null, CodH char (10)not null, Restaurantes integer, SalonEven integer, Cafeterias integer, AgenciasViajes integer, Disco char(10), Galeria char(10), CajaSeguridad char(10), Limpieza char(5), Piscina integer, Gimnasio integer, Sauna integer, primary key(codserH),

CONSTRAINT CLAV13 foreign key (CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.Salones( codsalon char(10)not null, CodH char (10)not null, Nombre char (30), Capacidad integer, primary key(codsalon), CONSTRAINT CLAV14 foreign key (CodH) references SISTEMA.Hotel (CodH) ); create table SISTEMA.Hombres( codhombre char(10)not null, CodH char(10)not null, Total integer, Renumerado integer, Permanente integer, Eventual integer, NoRenumerado integer, primary key (codhombre), CONSTRAINT CLAV15 foreign key (CodH) references SISTEMA.Hotel (CodH)

); create table SISTEMA.Mujeres( codmujeres char(10)not null, CodH char(10)not null, Total integer, Renumerado integer, Permanente integer, Eventual integer, NoRenumerado integer, primary key(codmujeres), CONSTRAINT CLAV16 foreign key (CodH) references SISTEMA.Hotel (CodH) ); ----------I N S E R C I O N D E D A T O S E N L A S T A B L A S -----------------------

insert into SISTEMA.Usuarios values ('100ASV','123456','Angela','Sossa','Vargas','6797314L.P.','anluzgie@hotmail.com'); insert into SISTEMA.Usuarios values ('101MCN','654321','Mery','Cayo','Nina','6090892L.P.','star_bluemery@hotmail.com'); insert into SISTEMA.Usuarios values ('102JHP','987654','Jorge','Huanca','Palabra','623547L.P.','jorgitoposi@hotmail.com'); insert into SISTEMA.Usuarios values ('103PLC','000123','Pedro','Leandro','Castillo','458963L.P.','stpa_pedro@hotmail.com'); insert into SISTEMA.Usuarios values ('104RMQ','123000','Richard','Mendoza','Quelali','605823L.P.','richard_men@hotmail.com'); select *from SISTEMA.Usuarios

insert into SISTEMA.agencia values ('A-1','100-ASV','Viaja Lejos','S.A.','c/Potosi No 501','Central','La Paz','Murillo','Andres Gutierrez','Waldo Encinas','Regular','2-356895');

insert into SISTEMA.agencia values ('A-2','101-MCN','Viaja Lejos','S.A.','c/Potosi No 501','Central','La Paz','Murillo','Andres Gutierrez','Waldo Encinas','Regular','2-356896'); insert into SISTEMA.agencia values ('A-3','102-JHP','Magic Tours','S.R.L.','Av. Camacho No 100','Central','La Paz','Murillo','Victor Maraza','Mary Carrizales','Normal','2-215489'); insert into SISTEMA.agencia values ('A-4','104-RMQ','Viaja Lejos','S.R.L.','Av. Camacho-Bueno No 111','Sur','La Paz','Murillo','Victor','Pepito','Normal','2-215889'); select *from SISTEMA.agencia

insert into SISTEMA.trans values ('tr-1','A-1',3,2,1,0,0,1,7); insert into SISTEMA.trans values ('tr-2','A-2',3,2,1,0,0,1,7); insert into SISTEMA.trans values ('tr-3',',A-3',2,2,1,1,0,1,7); select *from SISTEMA.trans

insert into SISTEMA.documentacionA values ('do-1','A-1','2031452','Legal','T-2008','F-523','P100',100256890,'NS-1001','FS-4589','RS-4501','17/04/08'); insert into SISTEMA.documentacionA values ('do-2','A-2','2031452','Legal','T-2008','F-523','P100',100256890,'NS-1001','FS-4589','RS-4501','17/04/08'); insert into SISTEMA.documentacionA values ('do-3','A-3','2014523','Trmite','T-2007','F-555','P103',122568931,'NS-1012','FS-4879','RS-4652','21/09/07'); select *from SISTEMA.documentacionA

insert into SISTEMA.Tours values('tou-1','A-1','Si','Si','No','Si','Si',1,'Paracaidismo'); insert into SISTEMA.Tours values('tou-2','A-2','Si','Si','Si','No','No',0,'Tours Zoolgico'); insert into SISTEMA.Tours values('tou-3','A-3','Si','Si','Si','Si','Si',1,'Ninguno'); select *from SISTEMA.Tours

insert into SISTEMA.registroA values('reg-1','A-1','RegDep-4859','RDE-48593','Legal','NIns458',3,'Si'); insert into SISTEMA.registroA values('reg-2','A-2','RegDep-4859','RDE-48593','En trmite','NIns459',4,'No');

insert into SISTEMA.registroA values('reg-3','A-3','RegDep-4871','RDE-48956','Legal','NIns460',7,'Si'); select *from SISTEMA.registroA

insert into SISTEMA.serA values('se-1','A-1','Si','Si','Si','Choferes'); insert into SISTEMA.serA values('se-2','A-2','No','Si','No','Ninguno'); insert into SISTEMA.serA values('se-3','A-3','Si','Si','Si','Ninguno'); select *from SISTEMA.serA

insert into SISTEMA.Hotel values('H-1','100-ASV','Radizzon','Zona Central Av.Arce No1254','Murillo','La Paz','Juan Fuentes','Michael Radizzon',2,2356894,2354879); insert into SISTEMA.Hotel values('H-2','101-MCN','Radizzon II','Zona Sur c/100 No856','Murillo','La Paz','Juan Fuentes','Michael Radizzon',0,2412569,2412589); insert into SISTEMA.Hotel values('H-3','102-JHP','Chapus','Zona Miraflores Av. Bush s/n','Murillo','La Paz','Antonio Palabra','Bertha Flores',0,2224589,2221354); select *from SISTEMA.Hotel

insert into SISTEMA.DocumentacionH values('doc-1','H-1','450','FC859',45123,'FIE',1254783,'09/09/05','FFE-147'); insert into SISTEMA.DocumentacionH values('doc-2','H-2','451','FC860',45123,'FIE',1254783,'01/01/07','FFE-301'); insert into SISTEMA.DocumentacionH values('doc-3','H-3','452','FC870',32564,'BCP',1115412,'10/10/06','FFE-401'); select *from SISTEMA.DocumentacionH drop table SISTEMA.DOCUMENTACIONH

insert into SISTEMA.Habitaciones values('ha-1','H-1',15,140,10,200,8,400); insert into SISTEMA.Habitaciones values('ha-2','H-2',10,100,5,150,5,200); insert into SISTEMA.Habitaciones values('ha-3','H-3',30,110,20,250,10,450);

select *from SISTEMA.Habitaciones

insert into SISTEMA.RegistroH values ('regh-1','H-1',254,10,'Alta','C',0123,3,2253,'5 estrellas'); insert into SISTEMA.RegistroH values ('regh-2','H-2',255,11,'Media','A',0124,4,2255,'2 estrellas'); insert into SISTEMA.RegistroH values ('regh-3','H-3',256,12,'Alta','C',0125,5,2260,'5 estrellas'); select *from SISTEMA.RegistroH drop table SISTEMA.HABITACIONES

insert into SISTEMA.Restaurantes values('res-1','H-1','Dumbo',200); insert into SISTEMA.Restaurantes values('res-2','H-2','Eliz',100); insert into SISTEMA.Restaurantes values('res-3','H-3','Maravillas',300); select *from SISTEMA.Restaurantes

insert into SISTEMA.Personal values('per-1','H-1',30,50,10,60,10); insert into SISTEMA.Personal values('per-2','H-2',10,20,10,5,15); insert into SISTEMA.Personal values('per-3','H-3',30,60,20,50,20); select *from SISTEMA.Personal

insert into SISTEMA.SerH values('serh-1','H-1',5,2,2,3,'No','Si','Si','Si',3,1,2); insert into SISTEMA.SerH values('serh-2','H-2',2,1,1,1,'No','No','Si','Si',0,1,1); insert into SISTEMA.SerH values('serh-3','H-3',6,3,4,4,'Si','Si','Si','Si',5,3,4); select *from SISTEMA.SerH

insert into SISTEMA.Salones values ('sal-1','H-1','Paraiso',300); insert into SISTEMA.Salones values ('sal-2','H-2','Luna',150); insert into SISTEMA.Salones values ('sal-3','H-3','Alexander',400);

select *from SISTEMA.Salones

insert into SISTEMA.Hombres values ('hom-1','H-1',30,5,15,8,3); insert into SISTEMA.Hombres values ('hom-2','H-2',10,5,2,7,2); insert into SISTEMA.Hombres values ('hom-3','H-3',30,10,25,10,5); select *from SISTEMA.Hombres

insert into SISTEMA.Mujeres values ('muj-1','H-1',50,20,15,5,10); insert into SISTEMA.Mujeres values ('muj-2','H-2',20,10,5,3,2); insert into SISTEMA.Mujeres values ('muj-3','H-3',60,40,10,5,5); select *from SISTEMA.Mujeres

------------------C O N S U L T A S ----------------------------1.Mostrar los usuarios cuya agencia de tenga el nombre "Viaja Lejos" select * from SISTEMA.Usuarios where CodU in(select CodU from SISTEMA.agencia where Nombre='Viaja Lejos');

--2.Mostrar los usuarios que tengan en la agencia el tours de "Paracaidismo". Select * From SISTEMA.Usuarios where CodU in ( select CodU

from SISTEMA.agencia

where CodA in (

select CodA

from SISTEMA.Tours T where T.Otros = 'Paracaidismo')); --3.Mostrar todos los hoteles que tengan habitaciones triples select nombre,direccin from SISTEMA.hotel where codH in (select codH from SISTEMA.habitaciones where triples>0);

---------- P R O C E D I M I E N T O S A L M A C E N A D O S -----------1. MEDIANTE PROCEDIMIENTOS CAMBIAR EL NOMBRE DEL RESTAURANTE DE ACUERDO A UNA CAPACIDAD DADA CREATE OR REPLACE PROCEDURE P1(NOM IN CHAR,CAP IN NUMBER) IS BEGIN UPDATE SISTEMA.RESTAURANTES SET NOMBRE = NOM WHERE CAPACIDAD=CAP; END P1; BEGIN P1 ('MERYS',300); COMMIT; END; SELECT *FROM SISTEMA.RESTAURANTES --2. Reemplazar la capacidad del hotel si el codigo introducido es igual.

CREATE OR REPLACE PROCEDURE Pro1(c_sal IN CHAR,cap IN NUMBER) IS BEGIN UPDATE SISTEMA.SALONES SET Capacidad = cap WHERE CODSALON = c_sal; END Pro1; select *from SISTEMA.SALONES BEGIN Pro1 ('sal-3',552); COMMIT; END; --3. Cambiar el nombre y categoria del hotel dependiendo del propietario. CREATE OR REPLACE PROCEDURE pro3 ( nom_pro in char,nom_hot in char) IS BEGIN UPDATE SISTEMA.HOTEL SET Nombre = nom_hot WHERE PROPIETARIO_GE = nom_pro; END pro3; BEGIN pro3 ('Bertha Flores','Chilis'); COMMIT; END; select *from SISTEMA.HOTEL ---------------- V I S T A S ----------------------------1.Mostrar el nombre y la direccin del hotel donde tenga habitaciones triples. create view vista1 as select nombre,direccin from SISTEMA.hotel where codH in (select codH from SISTEMA.habitaciones where triples>0); select *from vista1 --2.Mostrar el nombre y la direccin de la agencia el cual la documentacin el --nmero de Nit sea igual a "xxxx"

create view vista2 as select nombre, direccion from SISTEMA.agencia where codA in (select codA from SISTEMA.documentacionA where Nnit=122568931); select *from vista2 --3.Mostrar los usuarios que tengan en la agencia el tours de "Paracaidismo". create view vista3 as Select CodU, CI from SISTEMA.Usuarios where CodU in ( select CodU from SISTEMA.agencia where CodA in ( select CodA from SISTEMA.Tours T where T.Otros = 'Paracaidismo')); select *from vista3

-------------F U N C I O N E S -------------------------------1. create or replace function fununo(nom CHAR) RETURN NUMBER is res NUMBER; BEGIN SELECT CAPACIDAD INTO res FROM SISTEMA.Restaurantes WHERE NOMBRE =nom; return (res); EXCEPTION WHEN NO_DATA_FOUND THEN return 0; END;

DECLARE A NUMBER; BEGIN A:=fununo('Dumbo'); dbms_output.put_line(A); END; SELECT *FROM SISTEMA.Restaurantes drop function fununo --2. CREATE OR REPLACE FUNCTION fundos (z CHAR) RETURN NUMBER IS b NUMBER; BEGIN SELECT total INTO b FROM SISTEMA.Mujeres WHERE CODMUJERES= z; RETURN(b); END; DECLARE x NUMBER; BEGIN x:=fundos('muj-1'); dbms_output.put_line(x); END; drop function fundos --3 CREATE OR REPLACE FUNCTION funtres (x CHAR) RETURN VARCHAR IS A CHAR (20); BEGIN SELECT NOMBRE INTO A FROM SISTEMA.Usuarios WHERE CodU in ( SELECT CodU FROM SISTEMA.agencia WHERE CodA in ( SELECT CodA FROM SISTEMA.Tours T WHERE T.Otros = x)); RETURN(A); END; DECLARE B CHAR(20); BEGIN B:=funtres('Paracaidismo'); dbms_output.put_line('EL USARIO QUE TIENE LA ACTIVIDAD ES:'||B); END;

drop function funtres

SISTEMA_DocumentacionH
codDocH CodH Constitucin FConstitucin NNotaria Afiliado Nnit Fundempresa

SISTEMA_serA
codserA codA Ventaboletos Operador I ntermediario Otros

Ffundempresa

CLAV8

SISTEMA_Hotel
CodH

SISTEMA_Usuarios
CodU Pass

CodU Nombre Direccin Prov Localidad

SISTEMA_Habitaciones
codHabi CodH SimplesCB CostoSCB

CLAV6

Nombre APaterno AMaterno

CLAV7

Rep_Legal Propietario_Ge Nsucursales Telfono Fax

CLAV9

DoblesCB CostosDCB Triples CostoTriples

SISTEMA_agencia
codA

CI URL

SISTEMA_registroA
codreA codA Nregdeptal Tiporesolucion Nresolucion Ninspeccion Ncarta Cumplimiento

CodU Nombre Razonsocial Direccion

CLAV1

CLAV5

Zona Localidad Provincia Representante PropietarioGen PlanTrabajo Telefonos

CLAV10

SISTEMA_RegistroH
codRegH CodH

CLAV4

SISTEMA_Tours
codto codA Aventura Biking Trekking Altamontaa

Folder NRegistro Clase Categoria NCertificacin FCertificacin NResolucin Clasificacin

CLAV3 MODELO ENTIDAD RELACION CLAV2

Clasico Raftingsmo Otros

SISTEMA_documentacionA
codd codA Fmemorialsolivitud Tipoconstitucion Ntestimonio Fconstitucion Poder Nnit Nmatriculasenares Fsenares Nresolucionsenares Fundempresa

SISTEMA_trans
codt codA Automoviles Minibus Autobus Vagonetas Catmar4an Caliscafo Total

Potrebbero piacerti anche