Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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.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);
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);
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;
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
SISTEMA_Habitaciones
codHabi CodH SimplesCB CostoSCB
CLAV6
CLAV7
CLAV9
SISTEMA_agencia
codA
CI URL
SISTEMA_registroA
codreA codA Nregdeptal Tiporesolucion Nresolucion Ninspeccion Ncarta Cumplimiento
CLAV1
CLAV5
CLAV10
SISTEMA_RegistroH
codRegH CodH
CLAV4
SISTEMA_Tours
codto codA Aventura Biking Trekking Altamontaa
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