Professional Documents
Culture Documents
BASE DE DATOS II
Tema:
CUESTIONARIO DE PROCESAMIENTO DE CONSULTAS
Realizar la siguiente consulta en SQL y transformarla en dos expresiones distintas de lgebra Relacional, incluyendo su representacin como rbol: Desplegar los nombres de los clientes que compraron tomates el 15 de diciembre del 2012 Select nombreCli from CLIENTES C inner join FACTURAS F on C.codCli=F.codCli inner join DETALLES D on C.codFact=D.codFact inner join PRODUCTOS P on C.codProd=P.codProd where P.nombreProd= Tomates and F.fechaFact= 15/Dic/2012 Expresiones de Algebra Relacional nombreCli(nombreProd=tomates ^ fechaFact=2012-12-15 (((CLIENTESFACTURAS) DETALLES) PRODUCTOS))
nombreCli
fechaFact=2012-12-15 ^ nombreProd=tomates
PRODUCTOS
CLIENTES FACTURAS
DETALLES
nombreCli
fechaFact=2012-12-15
FACTURAS CLIENTES
nombreProd=tomates
PRODUCTOS DETALLES
2. Explique cules son los pasos que se realizan internamente desde que se ejecuta una consulta en SQL hasta que aparece el resultado en pantalla.
1. 2. 3. 4.
Se ejecuta la instruccin SQL. Revisin de sintaxis. Transforma la consulata a expresiones de AR equivalentes. Estimacion de costos de cada expresin y determina cual es la mas econmica (Optimizacion de Consultas). 5. Determina la forma de ejecucin de la consulta, incluyendo ndices a utilizar y encausamientos(Path optimizacin de acceso a los datos). 6. Ejecutar la consulta utilizando el Path optimizado. 7. Consultar los resultados en pantalla.
4. Se tienen las siguientes estadsticas de las tablas CLIENTES y FACTURAS: Tamao de bloque=8 Kb, Tamao de puntero=10 bytes, Tiempo de Acceso a disco=12 ms, Tiempo de transferencia de un bloque a memoria RAM=0,3 ms. Los valores de codCli y codFact son nmeros secuenciales que inician en 1. Para la TABLA CLIENTES: (codCLi=10Bytes, nombreCli=100 bytes, ciudadCli=100 bytes), Nro de clientes=200000, Nro de ciudades distintas=10000, ndice agrupado por ciudad. Para la TABLA FACTURAS: (codFact=10 bytes, codCli=10 bytes, valorFact=8 bytes, fechaFact=8bytes), Nro de Facturas=500000, ndice agrupado por codFact.
Calcular el costo de la siguiente consulta: Desplegar los datos de las facturas del cliente cuyo codCLi=170000 o de las facturas con codFact<100.
Estadsticas: Tam. Bloque: 8 kb Tam. Punteros: 10 bytes Tiempo de acceso: 12 ms Tiempo de transferencia: 0.3 ms Nro. Clientes: 200000 Nro. Ciudades distintas: 10000 Nro. Facturas: 500000 Tam. Filas facturas = 46 bytes
codCli=170000 v codFact<100.
COSTO 1
codCli=170000
Bsqueda secuencial
COSTO 2
codCli<100 ( ( ) )
5. Calcular el costo de CLIENTES |X| FACTURAS con el mtodo de bucle anidado bloque a bloque.
6. Explique que es el catlogo y para que se lo utiliza dentro del procesamiento de consultas.
En el catlogo se almacenan los esquemas de las bases de datos y sirve para chequear la sintaxis de las consultas SQL y sirve para guardar estadsticas que utiliza el optimizador.
7. Explique las diferencias entre la evaluacin de una consulta por encausamiento y por materializacin. Evaluacin por materializacin:
Se ejecuta toda la consulta y se guarda en una tabla temporal si esta tabla es grande se guarda en DISCO y si es pequea en memoria RAM.
Calcular el costo de la siguiente consulta:Desplegar los datos de los clientes de Ibarra cuyo cdigo est entre 101000 y 150000
Estadsticas: Tam. Bloque: 8 kb Tam. Punteros: 10 bytes Tiempo de acceso: 12 ms Tiempo de transferencia: 0.25 ms Nro. Clientes: 20000
Nro. Ciudades distintas: 10000 Nro. Facturas: 500000 Tam. Filas Clientes= 220 COSTO 1
codCli>=101000 codCli<=150000
Bsqueda secuencial
COSTO2 ciudadCli=Ibarra
)
(
( )
(
)
=3
=1
) (
( (
) ( ) ( )