Está en la página 1de 5

UNIVERSIDAD CATÓLICA DEL

NORTE FACULTAD DE INGENIERÍA Y


CIENCIAS GEOLÓGICAS INGENIERÍA
EN COMPUTACIÓN E INFORMÁTICA

BASES DE DATOS Control Lectura Parte III

Alumno
Thomas Chapa 20.212.919-6
Profesor
Luis Lobos Flores
Paralelo
C1
Fecha
28/06/2023
1. Breve explicación de los factores que influyen en el diseño físico de una
base de datos

a)Análisis de las consultas y las transacciones


Antes del diseño de una base de datos, debemos tener una idea de lo que se
espera hacer con ella, esto se definirá en un formulario de alto nivel, asi como
con las consultas y transacciones que son previsibles

b)Análisis de la frecuencia de ejecución esperada de consultas y


transacciones
Debemos considerar la frecuencia de invocación. La información sobre esta
frecuencia, se utiliza para recopilar una lista cumulativa de frecuencias de
uso. Por regla general, para grandes volumen de procesamiento, se aplica la
regla de 80-20, que dice que aproximadamente el 80% del procesamiento se
debe al 20% de las consultas y transacciones

c)Análisis de las restricciones de tiempo para consultas y transacciones


Algunas consultas y transacciones pueden tener restricciones de rendimiento
severas, estas fijan prioridades extensas en los atributos que son candidatos
a las rutas de acceso. Los atributos de selección que las consultas y
transacciones utilizan con restricciones de tiempo se convierten en
candidatos de alta prioridad

d)Análisis de las frecuencias esperadas de las operaciones de


actualización
Se debe especificar la cantidad mínima de rutas de acceso a un fichero que
se utiliza con frecuencia, ya que la actualización de las propias rutas de
acceso ralentiza las operaciones de actualización.

e)Análisis de las restricciones de unicidad en los atributos


Se deben especificar las rutas de acceso a todos los atributos clave o
conjuntos de estos, que son candidatos a ser la clave principal o que están
restringidos para ser únicos. La existencia de un índice hace suficiente
explorar el índice sólo cuando se verifica esta restricción, ya que todos los
valores de atributo existirán en los nodos hoja del índice
2. ¿Qué es la desnormalización? Dar un ejemplo de desnormalización

La desnormalización es el proceso que busca combinar tablas con el fin de mejorar


el rendimiento de las consultas, en este proceso logra sacrificando la eliminacion de
redundancia de datos que se logra con la normalización. Con la desnormalización,
se logra simplificar la estructura de la base de datos y evita el tener que unir
múltiples tablas para la obtención de información.Sin embargo, la desnormalización
puede aumentar el uso de espacio y se requiere de un mayor cuidado para
mantener la consistencia de los datos.

Como ejemplo podríamos pensar en dos tablas “Pedidos” y “Clientes”.


Cliente tiene un ID_cliente, nombre y dirección y Pedidos tiene ID_pedido,
ID_cliente, fecha, total. Nosotros vamos a desnormalizar estas dos tablas con el fin
de poder acceder toda la información de un pedido y su cliente asociado, sin la
necesidad de tener que hacer una unión de estas tablas, des esta manera
mejoramos el rendimiento de nuestras consultas, ya que los datos relacionados se
encuentran en una sola tabla y son más accesibles

3. ¿Qué utilidad tiene la división vertical de una tabla? ¿Qué utilidad tiene la
división horizontal de una tabla?

a)División vertical
se puede hacer de la división vertical cuando se tiene una tabla con muchos
datos que quizá no tienen mucha relación entre sí, el realizar una división
vertical de esta tabla podremos optimizar el rendimiento ya que podrás llegar
de manera directa a información concisa sin la necesidad de acceder a
columnas adicionales que no vienen al caso

b)Division horizontal
En esta división se crea un tabla distinta a partir de la separación de filas de
la tabla para crear tablas más pequeñas y especializadas buscando una
mejora de rendimiento en cuanto a consultas específicas y organización de
los datos almacenados
4. Explicar las decisiones sobre el diseño físico de la indexación

a)Cuando indexar un atributo


Si un atributo es clave o se utiliza para un consulta, para una condición de
selección o concatenación, es justificada la creación de un índice por ese
atributo, un factor el cual favorece la creación de muchos índices es que
algunas consultas pueden procesarse explorando índices.

b)Qué atributos indexar


Un índice se puede definir con uno o varios atributos, si todos estos atributos
de una relación están implicados en varias consultas, podemos crear un
índice multiatributo, el orden de estos dentro del índice corresponde a las
consultas

c)Cuando configurar un índice agrupado


En una tabla como máximo solo puede existir un índice principal o agrupado,
lo que implica que el fichero está ordenado físicamente por ese atributo, esto
se especifica como CLUSTER. Si una tabla requiere varios índices, de lo que
depende de que haya un índice agrupado o no es si es necesario mantener la
tabla ordenada por ese atributo. Los índices agrupados favorecen las
búsquedas por rango, si la consulta se puede responder mediante una
búsqueda en el índice, el índice no debe agruparse. También se puede
configurar un índice agrupado como un índice multiatributo si la recuperación
de rango por clave compuesta resulta de utilidad en la creación de un
informe.

d)Cuando utilizar un índice de dispersión sobre un índice de árbol


Generalmente se utilizan árboles B+ para la indexación. No obstante en otros
sistemas se utilizan índices ISAM y de dispersión. Los árboles B+ admiten
consultas de igualdad y de rango sobre el atributo utilizado como clave de
búsqueda. Los índices de dispersión funcionan bien con las condiciones de
igualdad, en particular durante concatenaciones

e)Cuando utilizar la dispersión dinámica para el fichero


En los ficheros más volátiles, es decir, que si tamaño aumenta y disminuye
continuamente, es más conveniente el esquema de dispersión dinámica.
5. Explicar la refinación de consultas

Hay dos principales indicadores que sugieren la refinación de una consulta

1.- La consulta acceda demasiadas veces al disco


2.- La planificación de la consulta muestra que no se están utilizando los
índices pertinentes

Entre los casos típicos que incitan a refinar una consulta encontramos:

● Demasiados optimizadores de consultas que no utilizan los índices en


presencia de expresiones aritméticas
● No se utilizan con frecuencia los índices en las consultas anidadas con IN
● Algunos DISTINCTs pueden ser redundantes y pueden evitarse sin tener que
cambiar el resultado, estos pueden provocar un operación de ordenación y
debe evitarse
● El uso innecesario de tablas de resultados temporales, a excepción que se
necesite la relación temporal para algún procedimiento intermedio
● Algunas situaciones que implican el uso de consultas correlativas, para una
mayor eficacia se pueden dividir estas consultas
● Si son varias opciones para una condición de concatenacion, elija una que
utilice un índice agrupado y evite las que contienen comparaciones de
cadena
● El orden de las tablas en la cláusula FROM puede afectar al procesamiento
de la concatenación, en este caso,posiblemente tendremos que cambiar el
orden para que se explore la más pequeña de las dos relaciones y las mas
grande se utilice con un índice adecuado
● Algunos optimizadores de consultas funcionan peor con consultas anidadas
que con las no anidadas
● Muchas aplicaciones están basadas en vistas que definen los datos de
interés para estas mismas. A veces una consulta puede plantearse
directamente contra una tabla base, en lugar de pasar por una vista definida
por una JOIN.

En todos caso, la refinación de consultas busca ajustar o mejorar estas con el


objetivo de obtener resultados mas precisos y eficientes, mediante la modificación
de criterios de búsqueda, optimización de condiciones de filtrado, selección de
índices adecuada y técnicas de optimización de consultas.

También podría gustarte