Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ENTREGA 2
En esta entrega se deben generar un conjunto de consultas en lenguaje SQL. Además, se deben
incluir los modelos de datos corregidos de la entrega anterior. Esto implica entregar el informe 1
con los comentarios realizados en la revisión.
En esta entrega se espera un informe que contenga los puntos que a continuación se detallan.
1. Muestre el nuevo modelo entidad relación (MER) y el correspondiente Modelo Relacional (MR)
para el enunciado del trabajo. Estas nuevas versiones de los modelos deben estar corregidos de
acuerdo a las observaciones efectuadas en el informe de la Entrega 1. Genere las siguientes
consultas en lenguaje SQL.
Consultas:
Q2: Genere la vista VALORES TOURS(idT, nombreT, TotalVentas) que contiene el identificador y
nombre de cada tour, además del total de ventas de cada tour. Par ello debe considerar todas las
ventas realizadas del tour. Genere la vista TOUR DESCUENTOS(idT, nombreT,TotalDescuentos) que
contiene el identificador y nombre de cada tour, además del total de descuentos aplicados en
todas las ventas de cada tour. Luego utilizando las vistas, muestre el nombre de los tours y valor
total recibido, considerando el dinero recibido menos los descuentos.
Q4: Genere la vista TOTAL TURISTAS(idT, nombreT, TotalTuristas) que contiene el identificador y
nombre de los tours, y la cantidad de turistas que no tienen enfermedades cardíacas ni
respiratorias y que han visitado lugares cuyo nivel de exigencia es experto durante el mes de
octubre del presente año. Luego, utilizando la vista, muestre los tours que poseen la mayor
cantidad de turistas que han visitado lugares con exigencia experto y que cumplan el requisito de
no tener las enfermedades mencionadas.
Q5: Genere la vista TOTAL ARRIENDOS(TotalArriendo) que almacena el total de arriendos de
vehículos (no precio) realizados por SERNATUR durante los meses de enero y febrero del presente
año y la vista TOTAL VEHICULOS(TotalVeh) que contiene el total de vehículos que posee
SERNATUR. Luego, utilizando las vistas muestre el porcentaje de arriendo de vehículos realizados
por SERNATUR (número de vehículos arrendados/número total de vehículos).
Modelo Entidad Relación (MER)
Modelo Relacional (MR)
COMENTARIOS
Tanto en el Modelo Entidad Relación (MER) como en el Modelo Relacional (MR), se utilizó el
software DIA
A saber (MER): *Las claves primarias se caracterizan por estar subrayados tales atributos.
A saber(MR): *Las claves primarias se caracterizan por llevar un (-) antes del atributo.
*Las claves foráneas se caracterizan por llevar un (#) antes del atributo.
Justificaciones:
nombre_ciudad varchar(30),
);
nombre_tour varchar(60),
costo_indiv integer,
costo_grupal integer,
primary key(codigo_tour),
);
nombre_lugar varchar(50),
precio_entrada integer ,
nivel_esfuerzo varchar(30),
);
nombre_region varchar(90),
);
rut_empresa varchar(30),
nombre_empresa varchar(50),
persona_contacto varchar(40),
telefono integer ,
);
patente varchar(30),
marca varchar(30),
ano integer ,
capacidad integer ,
rut_empresa varchar(30),
);
insert into Vehiculo values ('ZG-2124','Nissan',2015,10,421,'20.012.412-4');
nombre_chofer varchar(50),
);
rut_empresa varchar(30),
patente varchar(30),
);
rut_turista varchar(30),
nombre_turista varchar(80),
nombre_emergencia varchar(40),
telefono_emergencia integer ,
fecha_nac date,
primary key(rut_turista)
);
des_codigo integer ,
primary key(codigo_tour,rut_turista)
);
insert into Realizado_por values (421,'16.204.402-2',50);
descrip_desc varchar(70),
porcentaje integer ,
);
primary key(codigo_enf)
);
rut_turista varchar(30),
primary key(codigo_enf,rut_turista)
);
rut_guia varchar(30),
nombre_guia varchar(70),
);
);
rut_guia varchar(30),
);
);
rut_guia varchar(30),
nivel varchar(30),
);
de cada región y la cantidad de personas a las que no se les ha aplicado descuento y que han
visitado algún lugar de la región en algún tour, durante el mes de noviembre del presente año.
Luego utilizando la vista, muestre las regiones que han recibido la mayor cantidad de turistas
sin descuento.*/
from Region R, Ciudad CC, Tour T, Realizado_por RP, Descuento DC, Turista TR,
Lugares L, Asociado_a AA
where T.codigo_tour=RP.codigo_tour
and TR.rut_turista=RP.rut_turista
and T.codigo_ciudad=CC.codigo_ciudad
and CC.codigo_region=R.codigo_region
and CC.codigo_ciudad=L.codigo_ciudad
and T.codigo_tour=AA.codigo_tour
and L.codigo_lugar=AA.codigo_lugar
and DC.des_codigo=RP.des_codigo
and DC.porcentaje=0
group by R.nombre_region
from regiones_sindescuento
y nombre de cada tour, además del total de ventas de cada tour. Para ello debe considerar
todas las ventas realizadas del tour. Genere la vista TOUR DESCUENTOS(idT, nombreT,
TotalDescuentos) que contiene el identificador y nombre de cada tour, además del total de
descuentos aplicados en todas las ventas de cada tour. Luego utilizando las vistas, muestre el
nombre de los tours y valor total recibido, considerando el dinero recibido menos los descuentos.
*/
where T.codigo_tour=RP.codigo_tour
and TR.rut_turista=RP.rut_turista
group by T.codigo_tour,T.nombre_tour
where T.codigo_tour=RP.codigo_tour
and TR.rut_turista=RP.rut_turista
and RP.des_codigo=DC.des_codigo
and DC.porcentaje!=0
where VT.nombre_tour=TD.nombre_tour
el identificador y nombre de los tour que poseen guías coordinadores con más de tres
especialidades
y que han participado en tours que visitan lugares con nivel de esfuerzo medio. Luego,
utilizando la vista, muestre los tours que poseen la mayor cantidad de coordinadores con las
características mencionadas.*/
from Tour T, Participan PT, Categoria CT, Guia G, Ciudad CC, Lugares L
where T.codigo_tour=PT.codigo_tour
and PT.rut_guia=G.rut_guia
and PT.codigo_cat=CT.codigo_cat
and T.codigo_ciudad=CC.codigo_ciudad
and CC.codigo_ciudad=L.codigo_ciudad
and L.nivel_esfuerzo='medio'
and CT.descripcion_cat='coordinadores'
from Guia G,
Posee_esp PE, Especialidad ES
where
G.rut_guia=PE.rut_guia
and
PE.codigo_esp=ES.codigo_esp
group by G.rut_guia
having count(*)>3
from total_coordinadores
respiratorias y que han visitado lugares cuyo nivel de exigencia es experto durante el mes de
octubre del presente año. Luego, utilizando la vista, muestre los tours que poseen la mayor
cantidad de turistas que han visitado lugares con exigencia experto y que cumplan el requisito
from Tour T, Realizado_por RP, Turista TR, Ciudad CC, Lugares L, Asociado_a AA
where T.codigo_tour=RP.codigo_tour
and RP.rut_turista=TR.rut_turista
from
Turista TR, Posee_enf PE, Enfermedad E
where TR.rut_turista=PE.rut_turista
and
PE.codigo_enf=E.codigo_enf
and
E.descripcion_enf='cardiaca'
and
E.descripcion_enf='respiratoria'
and T.codigo_ciudad=CC.codigo_ciudad
and CC.codigo_ciudad=L.codigo_ciudad
and L.nivel_esfuerzo='experto'
and T.codigo_tour=AA.codigo_tour
and L.codigo_lugar=AA.codigo_lugar
from total_turistas
durante los meses de Enero y Febrero del presente año y la vista TOTAL VEHICULOS(TotalVeh) que
contiene el total de vehículos que posee SERNATUR.
Luego, utilizando las vistas muestre el porcentaje de arriendo de vehículos realizados por
SERNATUR (número de vehículos arrendados/número total de vehículos).*/
where T.codigo_tour=RP.codigo_tour
and T.codigo_tour=AA.codigo_tour
and T.codigo_tour=U.codigo_tour
and U.patente=V.patente
and A.patente=V.patente
where T.codigo_tour=RP.codigo_tour
and T.codigo_tour=U.codigo_tour
and U.patente=V.patente