Sunteți pe pagina 1din 20

Pontificia Universidad Catlica del Ecuador

Facultad de Ingeniera

Escuela de Sistemas

Banco de preguntas

Libro: DATABASE SYSTEM CONCEPTS


Sexta Edicin
Abraham Silberschatz

Ing. Javier Cndor

Bases de datos II
BASES DE DATOS II ING. JAVIER CNDOR

CAPTULO 10 ALMACENAMIENTO Y ESTRUCTURA DE ARCHIVOS


1. Consideremos los datos y el bloque de paridad arreglo en cuatro discos representados
en la Figura. Los Bi s representan bloques de datos; Los Pi s representan cerraduras de
paridad.
El bloque de paridad Pi es el bloque de paridad para los bloques de datos B4i-3 a B4i.
Qu problema podra presentar este arreglo?

a. Este arreglo tiene el problema de que Pi y B3i-6 estn en el mismo disco. As que, si ese
disco falla, la reconstruccin de B3i-6no es posible, ya que los datos y la paridad se
pierden.
b. Este arreglo tiene el problema de que Pi y B4i-3 estn en el mismo disco. As que, si ese
disco falla, la reconstruccin de B4i-3 no es posible, ya que los datos y la paridad se
pierden.
c. Este arreglo no tiene el problema

Respuesta: B

2. Almacenamiento flash:
1. Cmo es la tabla de traduccin flash, que se utiliza para asignar nmeros de
pgina lgica a nmeros de pgina fsica, creados en la memoria?

Respuesta: Se almacena como una matriz que contiene nmeros de pgina


fsicos, indexados por nmeros de pgina lgica. Esta representacin da una
sobrecarga igual al tamao de la direccin de pgina para cada pgina.

2. Suponga que tiene un sistema de almacenamiento flash de 64 gigabytes, con


un tamao de pgina de 4096 bytes. Cun grande sera la tabla de traduccin
de las pestaas, suponiendo que cada pgina tiene una direccin de 32 bits, y
la tabla se almacena como una matriz.

Respuesta: Toma 32 bits para cada pgina o cada 4096 bytes de


almacenamiento. Por lo tanto, se necesitan 64 megabytes para los 64 gigabytes
de almacenamiento flash.

3. Sugiera cmo reducir el tamao de la tabla de traduccin si con mucha


frecuencia los intervalos largos de nmeros de pgina lgica consecutivos se
asignan a nmeros de pgina fsicos consecutivos.

Respuesta: Si la asignacin es tal que, cada p nmeros consecutivos de pginas


lgicas se asignan a p pginas fsicas consecutivas, podemos almacenar la
asignacin de la primera pgina para cada p pginas. Esto reduce la estructura
de memoria en un factor de p. Adems, si p es un exponente de 2, podemos
evitar algunos de los dgitos menos significativos de las direcciones
almacenadas.
BASES DE DATOS II ING. JAVIER CNDOR

3. Un fallo de alimentacin que se produce mientras se est escribiendo un bloque de


disco podra resultar en que la cerradura slo est parcialmente escrita. Suponga que
se pueden detectar bloques parcialmente escritos. Una escritura de bloque atmico
es aquella en la que el bloque de disco est completamente escrito o no se escribe
nada (es decir, no hay escrituras parciales). Sugerir esquemas para obtener el efecto
de escritura de bloque atmico con los siguientes esquemas RAID. Sus esquemas
deben implicar el trabajo en la recuperacin del fracaso.

Una segn corresponda

Para garantizar la atomicidad, se realiza una


a
operacin de escritura de bloques
Para cualquier escritura de bloques, el bloque de
b informacin se escribe primero seguido del bloque
de paridad correspondiente.
En el momento de la recuperacin, se considera cada
c conjunto constituido por el bloque n de cada uno de
1 RAID level 1 (mirroring) los discos
Si no ha habido escritura parcial, pero difieren en
contenido, entonces reemplazamos el contenido del
d
primer bloque por el contenido del segundo, o
viceversa.
El requisito de comparar cada par de bloques
e correspondiente durante la recuperacin es costoso
de cumplir.
Si ninguno de los bloques del conjunto se ha escrito
parcialmente y el contenido del bloque de paridad es
f coherente con el contenido de los bloques de
informacin, entonces no es necesario tomar
ninguna otra accin.

Podemos reducir el costo en gran medida mediante


el seguimiento de las escrituras en bloque que estn
g
en curso, utilizando una pequea cantidad de RAM
no voltil
RAID level 5 (block
En la recuperacin, slo los bloques para los que las
2 interleaved, distributed
h escrituras estaban en curso necesitan ser
parity)
comparados.

Si cualquier bloque ha sido parcialmente escrito, su


i
contenido se reconstruye usando los otros bloques.

Si no se ha escrito parcialmente ningn bloque, pero


el contenido del bloque de paridad no coincide con
j
el contenido del bloque de informacin, se
reconstruye el contenido del bloque de paridad
BASES DE DATOS II ING. JAVIER CNDOR

Respuesta:
1 a, d, e, g, h
2 b, c, f, i, j

4. Considere la supresin del registro 5 del archivo de la figura. Comparar los


mritos relativos de las siguientes tcnicas para implementar la eliminacin:

a. Mueva el registro 6 al espacio ocupado por el registro 5 y mueva el registro


7 al espacio ocupado por el registro 6.
Respuesta:
Aunque mover el registro 6 al espacio para 5, y mover el registro 7 al espacio
para 6, es el enfoque ms directo, requiere mover el mayor nmero de
registros e involucra la mayora de los accesos.

b. Mueva el registro 7 al espacio ocupado por el registro 5.


Respuesta:
Aunque mover el registro 6 al espacio para 5, y mover el registro 7 al espacio
para 6, es el enfoque ms directo, requiere mover el mayor nmero de
registros e involucra la mayora de los accesos.

c. Marcar el registro 5 como borrado y mover ningn registro.


Respuesta:
Marcar el espacio para 5 como eliminado conserva el orden y no mueve
ningn registro, pero requiere una sobrecarga adicional para realizar un
seguimiento de todo el espacio libre en el archivo. Este mtodo puede dar
lugar a demasiados "agujeros" en el archivo, que, si no se compacta de vez en
cuando, afectar el rendimiento debido a la disponibilidad reducida de
registros libres contiguos.

5. Muestra la estructura del archivo de la Figura despus de cada uno de los


siguientes pasos:
BASES DE DATOS II ING. JAVIER CNDOR

a. Insertar (24556, Turnamian, Finanzas, 98000).


Respuesta:

b. Eliminar registro 2.
Respuesta:

La cadena de registro libre podra haber sido alternativamente de la


cabecera a 4, de 4 a 2, y finalmente de 2 a 6.

c. Insertar (34556, Thompson, Music, 67000).


Respuesta:
BASES DE DATOS II ING. JAVIER CNDOR

6. Considere la seccin de relaciones y toma. D una instancia de ejemplo de


estas dos relaciones, con tres secciones, cada una de las cuales tiene cinco
estudiantes. Proporcione una estructura de archivos de estas relaciones que
utiliza agrupacin mltiple.
Respuesta:
La seccin de relacin con tres tuplas es la siguiente.

La
relacin toma con cinco estudiantes para cada seccin es como sigue.

El agrupamiento multitable para las dos instancias anteriores puede ser tomado
como:
BASES DE DATOS II ING. JAVIER CNDOR

7. Considere la siguiente tcnica de mapa de bits para el seguimiento de espacio


libre en un archivo.
Para cada bloque en el archivo, dos bits se conservan en el mapa de bits. Si el
bloque est entre 0 y 30 por ciento lleno, los bits re 00, entre 30 y 60 por ciento
los bits son 01, entre 60 y 90 por ciento los bits son 10 y ms del 90 por ciento
los bits son 11. Dichos mapas de bits pueden mantenerse en Memoria incluso
para archivos bastante grandes.
a. Describa cmo mantener el mapa de bits actualizado en las
inserciones y eliminaciones de registros.
Respuesta:
Cada vez que se inserta / elimina un registro, compruebe si el uso del
bloque ha cambiado de nivel. En ese caso, actualizar los bits
correspondientes. Tenga en cuenta que no necesitamos acceder a los
mapas de bits en absoluto a menos que el uso cruce un lmite, por lo
que en la mayora de los casos no hay sobrecarga.

b. Describir el beneficio de la tcnica de mapa de bits en listas libres en


la bsqueda de espacio libre y en la actualizacin de la informacin de
espacio libre.
Respuesta:
Cuando se busca espacio libre para un registro grande o un conjunto de
registros, es posible que se tengan que escanear varias entradas de lista
gratuita antes de encontrar un tamao adecuado, por lo que los gastos
generales son mucho mayores. Con mapas de bits, una pgina de mapa
de bits puede almacenar informacin gratuita para muchas pginas, por
lo que las E / S gastadas para encontrar espacio libre son mnimas. De
forma similar, cuando se elimina un bloque completo o una gran parte
de l, la tcnica de mapa de bits es ms conveniente para actualizar la
informacin del espacio libre.

8. Es importante ser capaz de averiguar rpidamente si un bloque est presente


en el bfer, y si es as donde en el bfer que reside. Dado que los tamaos de
bfer de base de datos son muy grandes, qu estructura de datos (en
memoria) utilizara para la tarea anterior?
BASES DE DATOS II ING. JAVIER CNDOR

Respuesta:
La tabla de hash es la opcin comn para buffers de base de datos de gran
tamao. La funcin hash ayuda a localizar el cubo apropiado, en el que se realiza
la bsqueda lineal.

9. D un ejemplo de una expresin de lgebra relacional y una estrategia de


procesamiento de consultas en cada una de las siguientes situaciones:
a. MRU es preferible a LRU.
Respuesta:
MRU es preferible a LRU donde R1 >< R2 se calcula mediante el uso de
una estrategia de procesamiento en bucle anidado donde cada tupla en
R2 debe compararse con cada bloque en R1. Despus de procesar la
primera tupla de R2, el siguiente bloque necesario es el primero en R1.
Sin embargo, puesto que es la menos utilizada recientemente, la
estrategia de gestin de memoria intermedia LRU reemplazara ese
bloque si el sistema necesitaba un nuevo bloque.

b. LRU es preferible a MRU.


Respuesta:
LRU es preferible a MRU donde R1><R2 se calcula ordenando las
relaciones por valores de unin y luego comparando los valores
procediendo a travs de las relaciones. Debido a los valores de
combinacin duplicados, puede ser necesario "respaldar" en una de las
relaciones. Esta "copia de seguridad" podra cruzar un lmite de bloque
en el ltimo bloque utilizado, que habra sido reemplazado por un
sistema que utilizara la gestin de memoria intermedia de MRU, si se
necesitaba un nuevo bloque.
Bajo MRU, algunos bloques no utilizados pueden permanecer en la
memoria para siempre.

CAPTULO 11 INDEXACIN Y HASHING


10. Los ndices aceleran el procesamiento de consultas, pero generalmente es una
mala idea crear ndices en cada atributo, y todas las combinaciones de
atributos, es decir, las posibles claves de bsqueda. Explicar por qu.
Respuesta:
Las razones para no mantener ndices en cada atributo incluyen:
Cada ndice requiere tiempo de CPU adicional y sobrecarga de E / S de disco
durante las inserciones y eliminaciones.
Es posible que los ndices de las claves no primarias tengan que cambiarse en
las actualizaciones, aunque puede que no exista un ndice en la clave principal
(esto es porque las actualizaciones normalmente no modifican los atributos de
la clave principal).
Cada ndice adicional requiere espacio de almacenamiento adicional.
Para las consultas que implican condiciones en varias teclas de bsqueda, la
eficiencia puede no ser mala incluso si slo algunas de las claves tienen ndices
en ellas. Por lo tanto, el rendimiento de la base de datos se mejora menos
aadiendo ndices cuando ya existen muchos ndices.

11. Es posible en general tener dos ndices de lustering sobre la misma relacin
para diferentes claves de bsqueda? Explica tu respuesta.
BASES DE DATOS II ING. JAVIER CNDOR

Respuesta:
En general, no es posible tener dos ndices primarios en la misma relacin para
diferentes claves porque las tuplas en una relacin tendran que ser
almacenadas en orden diferente para tener los mismos valores almacenados
juntos.
Podramos lograr esto almacenando la relacin dos veces y duplicando todos los
valores, pero para un sistema centralizado, esto no es eficiente.

12. Construir un rbol B + para el siguiente conjunto de valores clave:


(2, 3, 5, 7, 11, 17, 19, 23, 29, 31)
Suponga que el rbol est inicialmente vaco y los valores se agregan en orden
ascendente.
Construir un rbol B + para los casos en que el nmero de punteros que caben
en un nodo es el siguiente:
a. Las cuatro
Respuesta:

b. Seis
Respuesta:

c. Ocho
Respuesta:

13. Para cada rbol B+ de prctica Ejercicio 12.a, muestre la forma del rbol
despus de cada una de las siguientes series de operaciones:
a. Insertar 9.
Respuesta:

b. Inserte 10.
Respuesta:
BASES DE DATOS II ING. JAVIER CNDOR

c. Insertar 8.
Respuesta:

d. Eliminar 23.
Respuesta:

e. Borrar 19.
Respuesta:

14. Supongamos que estamos utilizando el hash extensible en un archivo que


contiene registros con los siguientes valores de clave de bsqueda:
2, 3, 5, 7, 11, 17, 19, 23, 29, 31
Muestre la estructura de hash extensible para este archivo si la funcin hash
es h (x) = xmod 8 y los cubos pueden contener tres registros.
Respuesta:
BASES DE DATOS II ING. JAVIER CNDOR

15. Muestre cmo la estructura de hash extensible del ejercicio 14 cambia como
resultado de cada uno de los pasos siguientes:
Borrar 11.
Respuesta:

De la respuesta al ejercicio 14, cambie el tercer cubo a:

En esta etapa, es posible unir el segundo y tercer baldes.


Entonces es suficiente si la tabla de direcciones de cubo tiene slo cuatro
entradas en lugar de ocho. Para el propsito de esta respuesta, no hacemos la
coalescencia.

Borrar 31.
Respuesta:

De la respuesta al ejercicio 14, cambie el ltimo cubo a:

Insertar 1.
Respuesta:

De la respuesta al ejercicio 14, cambie primer cubo a:

Insertar 15.
Respuesta:
BASES DE DATOS II ING. JAVIER CNDOR

De la respuesta al ejercicio 14, cambie el ltimo cubo a:

16. Dar pseudocdigo para una funcin de rbol B + findIterator (), que es como
la funcin find (), excepto que devuelve un objeto iterador. Tambin da
pseudocdigo para la clase iterator, incluyendo las variables en el objeto
iterator y el mtodo next().
Respuesta:

17. Dar pseudocdigo para la supresin de entradas de una estructura hash


extensible, incluyendo detalles de cundo y cmo unir cubos. No se moleste
en reducir el tamao de la tabla de direcciones de cubo
BASES DE DATOS II ING. JAVIER CNDOR

Respuesta:

18. Considere la relacin del instructor mostrada en la Figura.

a. Construya un ndice de mapa de bits en el salario de atributo,


dividiendo los valores salariales en 4 rangos: por debajo de 50000,
50000 por debajo de 60000, 60000 por debajo de 70000 y 70000 o
superior.
Respuesta:
BASES DE DATOS II ING. JAVIER CNDOR

Mapa de bits para el salario, con S1, S2, S3 y S4 representando los


intervalos dados en el mismo orden

b. Considere una consulta que solicite a todos los instructores en el


departamento de Finanzas con un salario de 80000 o ms. Describe los
pasos para responder a la consulta y muestra los mapas de bits finales
y no intermedios construidos para responder a la consulta.
Respuesta:

La pregunta es un poco trivial si no hay mapa de bits en el atributo de


nombre de dept. El mapa de bits para el atributo de nombre de dept es:

19. Cul sera la ocupacin de cada nodo hoja de un rbol B +, si las entradas del
ndice se insertan en orden ordenado? Explicar por qu.
Respuesta:
Si las entradas del ndice se insertan en orden ascendente, las nuevas entradas
se dirigen al ltimo nodo hoja. Cuando este nodo de la hoja se llena, se divide
en dos. De los dos nodos generados por la divisin, el nodo izquierdo queda
intacto y las inserciones tienen lugar en el nodo derecho. Esto hace que la
ocupacin de los nodos de la hoja sea aproximadamente el 50 por ciento,
excepto la ltima hoja.
Si las claves que se insertan se ordenan en orden descendente, la situacin
anterior an se producira, pero simtricamente, con el nodo derecho de una
divisin nunca volvindose a tocar, y la ocupacin sera de nuevo 50 por ciento
para todos los nodos distintos de la primera hoja

20. Supongamos que usted tiene una relacin r con nr tuplas sobre las cuales se
construir un rbol B + secundario.
a. D una frmula para el costo de crear el ndice de rbol B + insertando
un registro a la vez. Suponga que cada bloque tiene una media de
entradas f, y que todos los niveles del rbol sobre la hoja estn en la
memoria.
El costo de localizar el nmero de pgina de la pgina de hoja requerida
para una insercin es despreciable, puesto que los nodos no-hoja estn
en memoria.
En el nivel de hoja se necesita un disco de acceso aleatorio para leer y
un disco de acceso aleatorio para actualizar junto con el costo de
escribir una pgina. Las inserciones que conducen a la divisin de nodos
de hojas requieren una escritura de pgina adicional. Por lo tanto, para
BASES DE DATOS II ING. JAVIER CNDOR

construir un rbol B + con nr entradas se tarda un mximo de 2 * nr


accesos al disco aleatorios y nr + 2 * (nr / f) pgina escribe. La segunda
parte del costo proviene del hecho de que en el peor de los casos cada
hoja est medio llena, por lo que el nmero de divisiones que ocurren
es dos veces nr / f.
La frmula anterior ignora el costo de escribir nodos no-hoja, ya que
asumimos que estn en la memoria, pero en realidad tambin se
escribiran eventualmente. Este costo es estrechamente aproximado
por 2 * (nr / f) / f, que es el nmero de nodos internos justo por encima
de la hoja; Podemos agregar trminos adicionales para tener en cuenta
niveles ms altos de nodos, pero estos son mucho ms pequeos que
el nmero de hojas y pueden ser ignorados.

CAPTULO 12 PROCESAMIENTO DE CONSULTAS


21. Suponga (por simplicidad en este ejercicio) que slo una tupla encaja en un
bloque y la memoria tiene como mximo 3 bloques. Muestre las ejecuciones
creadas en cada paso del algoritmo de ordenacin-combinacin cuando se
aplica para ordenar las siguientes tuplas en el primer atributo: (kangaroo, 17),
(wallaby, 21), (emu, 1), (wombat, 13),(Platypus, 3), (lion, 8), (warthog, 4),
(zebra, 11), (meerkat, 6), (hyena, 9),(Hornbill, 2), (babuino, 12).

Suponga (por simplicidad en este ejercicio) que slo una tupla encaja en un
bloque y la memoria tiene como mximo 3 bloques. Muestre las ejecuciones
creadas en cada paso del algoritmo de ordenacin-combinacin cuando se
aplica para ordenar las siguientes tuplas en el primer atributo: (kangaroo, 17),
(wallaby, 21), (emu, 1), (wombat, 13), (Platypus, 3), (len, 8), (warthog, 4),
(cebra, 11), (meerkat, 6), (hyena, 9), (calabrio, 2), (babuino, 12).

Nos referiremos a las tuplas (kangaroo, 17) a travs de (babuino, 12) usando los
nmeros de tupla t1 a travs de 12. Hacemos referencia a la j-sima ejecucin
usada por el i-simo pase, como ij. Los ensayos ordenados iniciales tienen tres
bloques cada uno. Son:

r11= {t3,t1,t2}
r12= {t6,t5,t4}
r13= {t9,t7,t8}
r14= {t12,t11,t10}
Cada pase combina tres ejecuciones. Por lo tanto, las tiradas despus del final
del primer pase son:
r21= {t3,t1,t6,t9,t5,t2,t7,t4,t8}
r22= {t12,t11,t10}

Al final de la segunda pasada, las tuplas se ordenan por completo en una


secuencia:
r31= {t12,t3,t11,t10,t1,t6,t9,t5,t2,t7,t4,t8}

22. Considere la base de datos de bancos de la Figura, donde las claves primarias
estn subrayadas y la siguiente consulta SQL:
BASES DE DATOS II ING. JAVIER CNDOR

select T.branch name


from branch T, branch S
where T.assets > S.assets and S.branch city = Brooklyn

Escribe una expresin de lgebra relacional eficiente que sea equivalente a


esta consulta. Justifique su eleccin.

Esta expresin realiza la unin theta en la menor cantidad posible de datos. Esto
lo hace restringiendo el operando del lado derecho de la unin a slo aquellas
ramas en Brooklyn, y tambin eliminando los atributos innecesarios de ambos
operandos.

23. Las relaciones r1 (A, B, C) y r2 (C, D, E) tienen las siguientes propiedades: r1


tiene 20.000 tuplas, r2 tiene 45.000 tuplas, 25 tuplas de r1 encajan en un
bloque y 30 tuplas de r2 encajan una cuadra. Estimar el nmero de
transferencias de bloques y buscar requeridas, usando cada una de las
siguientes estrategias de unin para r1 r2:

r1 necesita 800 bloques, y r2 necesita 1500 bloques. Asumamos M pginas de


memoria. Si M> 800, la unin se puede hacer fcilmente en 1500 + 800 accesos
de disco, incluso utilizando la combinacin de ested-loop. Consideramos tan
slo el caso en el que M 800 pginas

a. Unin de bucle anidado.


Usando r1 como la relacin externa necesitamos 20000 * 1500 + 800 =
30.000, 800 accesos de disco, si r2 es la relacin externa necesitamos
5000 * 800 + 1500 = 36.001.500 accesos de disco.

b. Bloquea la combinacin de bucle anidado.


Si r1 es la relacin externa, necesitamos [800/(M-1)] * 1500 + 800
accesos de disco, si r2 es la relacin externa que necesitamos [1500M-
1] * 800 + 1500 accesos de disco.

c. Combinar unirse.
Suponiendo que r1 y r2 no estn ordenados inicialmente en la clave de
unin, el costo total de clasificacin de la salida es Bs = 1500 (2log M-1
(1500 / M) + 2) +800 (2log M-1 800 / M) + 2) accesos de disco.
Suponiendo que todas las tuplas
Con el mismo valor para los atributos de unin aptos en memoria, el
coste total es Bs + 1500 + 800 accesos de disco.

d. Hash.
Asumimos que no se produce desbordamiento. Dado que r1 es menor,
lo usamos como la relacin de construccin y r2 como la relacin de la
BASES DE DATOS II ING. JAVIER CNDOR

sonda. Si M> 800 / M, es decir, no hay necesidad de particin recursiva,


entonces el costo es 3 (1500 + 800) = 6900 accesos de disco, de lo
contrario el costo es 2 (1500 + 800) log M-1 (800) -1 + 1500 + 800
accesos de disco

24. Sea r y s relaciones sin ndices, y asuma que las relaciones no estn ordenadas.
Suponiendo una memoria infinita, cul es la forma de costo ms bajo (en
trminos de operaciones de E / S) para calcular r >< s? Cul es la cantidad de
memoria necesaria para este algoritmo?
Podemos almacenar toda la relacin ms pequea en la memoria, leer la
relacin ms grande bloque por bloque y realizar la unin de bucle anidado
usando la ms grande como la relacin externa. El nmero de operaciones de
E/S es igual a br + bs, y el requisito de memoria es min (br, bs) +2 pginas.

25. Considere la base de datos de bancos, donde las claves primarias son
descarriladas. Supongamos que un ndice de rbol B + en la ciudad de rama
est disponible en la rama de relacin, y que no hay otro ndice disponible.
Liste diferentes maneras de manejar las siguientes selecciones que implican
negacin:

a. (branch city<Brooklyn)(branch)
Utilice el ndice para localizar la primera tupla cuyo campo de ciudad
de rama tenga el valor "Brooklyn". A partir de esta tupla, siga las
cadenas de puntero hasta el final, recuperando todas las tuplas.

b. (branch city=Brooklyn)(branch)
Para esta consulta, el ndice no sirve para nada. Podemos escanear
el archivo secuencialmente y seleccionar todas las tuplas cuyo
campo de la ciudad de la rama es cualquier cosa que no sea
"Brooklyn".

c. (branch city<Brooklyn assets<5000)(branch)


Esta consulta es equivalente a la consulta
(branch cityBrooklyn assets <5000)(branch)

Usando el ndice de la ciudad de la rama, podemos recuperar todas


las tuplas con el valor de la ciudad de la rama mayor o igual que
"Brooklyn" siguiendo las cadenas del puntero de la primera tupla de
"Brooklyn". Tambin aplicamos elcriterio de activos <5000 en cada
tupla.

26. Escribir pseudocdigo para un iterador que implemente anclaje anidado-


anidado indexado, donde la relacin externa es pipeline. Su pseudocdigo
debe definir Las funciones de iterador estndar open(), next(), and close().
Show what state information the iterator must maintain between calls.
BASES DE DATOS II ING. JAVIER CNDOR

Mostrar qu informacin de estado debe mantener el iterador entre las


llamadas.

27. Disee algoritmos basados en clasificacin y basados en hash para calcular la


operacin de divisin relacional
Supongamos que r (TS) y s (S) sean dos relaciones y r s tiene que ser
calculado. Para el algoritmo basado en clasificacin, clasifique la relacin s en S.
Ordenar la relacin r (T, S). Ahora, comience a escanear r y mire los valores de
atributo T de la primera tupla. Escanear r hasta que las tuplas tengan el mismo
valor de T. Tambin escanear simultneamente y comprobar si cada tupla de s
tambin ocurre como el atributo S de r, de una manera similar a la combinacin
de combinacin. Si este es el caso, emita ese valor de T y contine con el
siguiente valor de T.

28. Cul es el efecto en el coste de la fusin de ejecuciones si se aumenta el


nmero de bloques de memoria intermedia por ejecucin, mientras se
mantiene fija la memoria global disponible para las operaciones de
almacenamiento en memoria intermedia?
BASES DE DATOS II ING. JAVIER CNDOR

La bsqueda de sobrecarga se reduce, pero el nmero de ejecuciones que se


pueden fusionar en un pase disminuye potencialmente dando lugar a ms
pases. Debe elegirse un valor de bb que minimice el costo total.

CAPTULO 13 OPTIMIZACIN DE CONSULTAS

29. Demuestre que se mantienen las equivalencias siguientes. Explica cmo


puedes aplicar mejorar la eficiencia de ciertas consultas:
a)
Cambiemos el nombre como R1, como R2 y
como R3. Est claro que si una tupla t pertenece a R1, tambin
pertenecer a R2. Si una tupla t pertenece a R3, t[E3 es atributo]
pertenecer a E3, por lo tanto t no puede pertenecer a R1. De estos dos
podemos decir que
1.
Est claro que si una tupla t pertenece a R2 - R3, entonces t [atributos de
R2] E2 y t [atributos de R2] E3. Por lo tanto:
2.
Las dos ecuaciones anteriores implican la equivalencia dada.
Esta equivalencia es til porque la evaluacin de la mano derecha unin
lateral producir muchas tuplas que finalmente sern eliminadas del
resultado. La expresin del lado izquierdo puede ser evaluada ms
eficientemente

b) , donde utiliza slo atributos de A.


, donde u utiliza slo atributos de A.
utiliza slo atributos de A. Por lo tanto, si cualquier tupla t en la salida de
AGF (E) es filtrada por la seleccin del lado izquierdo, todos los tuplas en E
cuyo valor en A es igual a t [A] son filtrados por la seleccin del lado
derecho. Por lo tanto:
1.
Utilizando un razonamiento similar, tambin podemos concluir que
2.
Las dos ecuaciones anteriores implican la equivalencia dada. Esta
equivalencia es til porque la evaluacin de la mano derecha de lado evita
la realizacin de la agregacin en los grupos que son de todos modos va a
ser eliminado del resultado. As, el lado derecho expresin se puede evaluar
ms eficientemente que el lado izquierdo expresin.

c) , donde slo se utilizan atributos de


E1

, donde usa slo atributos de E1. utiliza slo


atributos de E1. Por lo tanto, si cualquier tupla t en la salida de
es filtrada por la seleccin del lado izquierdo, todos las tuplas en E1 cuyo
valor es igual a t [E1] son filtradas por la seleccin del lado derecho. Por lo
tanto:
1.
BASES DE DATOS II ING. JAVIER CNDOR

Utilizando un razonamiento similar, tambin podemos concluir que


2.
Las dos ecuaciones anteriores implican la equivalencia dada. Esta
equivalencia es til porque la evaluacin del lado derecho evita producir
muchas tuplas de salida que de todos modos van a
Ser eliminado del resultado. As, la expresin del lado derecho puede ser
evaluados ms eficientemente que la expresin del lado izquierdo.

S-ar putea să vă placă și