Está en la página 1de 4

Preguntas de Final

● ¿En qué situaciones un archivo desordenado es una solución?


○ ¿Qué tipos de servicios resuelve eficientemente?
■ Inserción. Las bajas y modificaciones son ineficientes (costo
lineal).
○ En caso de ser necesarios, ¿Cómo hay que organizar las
estructuras de índices para estos archivos?
■ Dependiendo del servicio. Si son consultas asociativas conviene
algún tipo de hashing, si es por rango alguna estructura
arborescente.
● ¿Es posible resolver consultas “Index-Only” en índices ralos?
Justifique y ejemplifique
○ No, ya que en en los índices ralos las entradas del índice apuntan al
primer registro de cada bloque, lo que imposibilita consultar la
existencia de algún registro que esté en ese rango.
○ Si tengo dos bloques con (1,2) y (3,4), el índice de agrupamiento
tendrá punteros al registro 1 y 3, por lo que no se podrá consultar por
la existencia del registro 2 sin acceder al archivo principal.
● Describa en qué consiste la partición vertical de relaciones o archivos.
Indique en qué parte del proceso de normalización se utiliza.
○ La fragmentación vertical consiste en dividir las columnas de la
relación en distintos archivos, en general, cuando diferentes usuarios
acceden a distintos conjuntos de columnas.
○ Se utiliza en el proceso de normalización al momento de realizar la
proyección de la relación.
● Indique para qué es eficiente mantener un archivo ordenado.
○ Es eficiente mantener un archivo ordenado cuando las consultas que
se realizan son listados ordenados por el campo de ordenamiento del
mismo.
● Explique si es posible utilizar un Árbol B+ para resolver un servicio
multiclave eficientemente
○ Si, es posible utilizar estructuras monoclave para resolver consultas
multiclave siempre y cuando se genere una única clave concatenando
los valores de las claves de búsqueda.
● Indique cómo puede resolverse un servicio asociativo con un Árbol B+
cuando el dominio estructurante no es clave
○ Para realizar consultas asociativas, como el DE no es clave, habría
que implementar listas de factoreo para las instancias repetidas.
● Muestre cómo influye el tamaño de bloque en la determinación del
orden de un Árbol B+
○ Según la fórmula:
■ tBloque >= p + (n-1)*r
○ Si despejamos n vemos que:
■ (tBloque - p + r)/r >= n
○ De ahí deducimos que a mayor tamaño de bloque, mayor orden del
árbol B +.
○ También se puede deducir pensando que, a mayor tamaño de bloque,
cada nodo del árbol puede tener más hijos, lo que aumentaría el
orden.
● ¿El hashing particionado como índice multiclave puede utilizarse para la
búsqueda parcial o incompleta? Justifique.
○ Si, se puede utilizar para búsquedas incompletas. Habría que
completar la clave final con todas las posibles combinaciones de
valores para la clave parcial faltante.
● ¿Cómo puede modelarse un atributo multivaluado si se sabe que puede
tomar como máximo tres valores para cada tupla?
○ Puede modelarse agregando 3 atributos nuevos. Uno de estos debería
ser obligatorio, y los demás opcionales.
● Compare las estructuras multiclave de bitmap, hashing particionado y
grid file de acuerdo a las soluciones que brindan en la implementación
de índices. Analice la utilización de punteros físicos o lógicos en estos
tipos de estructuras.
○ Bitmap:
■ Los bitmap brindan soluciones eficientes para contar cuántos
registros cumplen con una condición dada.
■ Ocupan muy poco espacio.
■ Muy eficientes para operaciones lógicas (and, or, xor, etc.)
■ Deben usarse cuando el dominio es acotado.
○ Hashing Particionado:
■ Brindan soluciones eficientes para consultas asociativas.
■ No necesitan espacio de directorio.
■ Pueden hacerse consultas parciales.
■ No sirve para consultas por rango o vecindad.
○ Grid-file:
■ Es eficiente para todo tipo de consulta (parcial, completa, por
rango, etc.)
■ Pueden quedar muy ralos o contener baldes muy llenos.
■ Ocupan mucho espacio y requieren un mantenimiento costoso.
● ¿Cómo almacenaría los registros de un índice secundario no
identificatorio denso en un Árbol B +?
○ Utilizando listas de factoreo, para las instancias repetidas.
● Explique la diferencia entre factoreo y baldes de rebalse en las
estructuras de Hashing abiertas.
○ Los baldes de rebalse se utilizan cuando la estructura se queda sin
espacio. En cambio las listas de factoreo se utilizan para almacenar
los valores repetidos.
● Suponga una colección de registros de gran volumen, sobre las que se
efectúan muchas altas, bajas y consultas asociativas. Se puede elegir
entre árboles B+, hashing extensible o un archivo ordenado. Haga las
comparaciones necesarias, tenga en cuenta las aplicaciones
mencionadas. ¿Cuál sería su elección y por qué?
○ Hashing extensible, ya que garantiza la mejor performance para
búsquedas asociativas, y es menos costoso el borrado e inserción de
datos, ya que a diferencia del árbol B +, este no requiere un balance.
○ El archivo ordenado es descartado ya que no es eficiente para
búsquedas asociativas.
● Considérese un grid file SIN baldes de desborde. En los casos en los
que se agota la capacidad de un balde, se reorganiza el archivo. Sugiera
un método para esta reorganización. ¿Es posible establecer criterios
que conduzcan hacia la reorganización más eficiente, en cuanto a la
uniformidad de la distribución de los datos?
○ Habría que redimensionar la grilla, agregando un valor más a alguna
de las escalas lineales (en general, en forma alternante entre las
escalas).
● ¿Qué ventajas brinda crear un sistema de archivos e índices siguiendo
las etapas que habitualmente se siguen para generar una base de
datos?
○ Crear un sistema de archivos e índices nos permite realizar distintos
tipos de consultas utilizando distintas organizaciones y estrategias,
para garantizar servicios eficientes y reducir al mínimo los accesos.
● ¿Cuáles son las diferentes maneras de expresar las relaciones entre
tres entidades en un DERExt, si sólo se pueden utilizar relaciones
binarias? Ejemplifique al menos 2 casos reales detallando su semántica
○ Se puede utilizar una cuarta entidad que este relacionada con las otras
3 (con relaciones binarias).
■ Ejemplo:
○ También podría hacerse una agregación para relacionar 2 entidades
relacionadas con una tercera.
● ¿Qué es una anomalía de actualización (A,B,C) en una tabla
desnormalizada? ¿Qué forma normal la resuelve?
○ Una anomalía de actualización se produce cuando hay redundancia en
una tabla, es decir que al actualizar un dato no se actualizan todas las
ocurrencias, por lo que algunas instancias quedan desactualizadas.
○ La forma normal de dominio/clave (FNDK) elimina por completo las
anomalías de actualización, pero en la práctica es muy difícil de
alcanzar.
● ¿Un archivo disperso sólo permite índices por hashing?
○ No, ya que la estructura en la que está organizado un archivo no
condiciona los índices que se pueden generar sobre él.

También podría gustarte