Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El procesamiento de consultas tiene varias etapas a seguir para resolver una consulta
SQL, las características del modelo relacional permiten que
cada motor de base de datos elija su propia representación que, comúnmente, resulta ser
el álgebra relacional. Existen varios medios para calcular la respuesta a una consulta. En
el caso del sistema centralizado, el criterio principal para determinar el costo de una
estrategia específica es el número de acceso al disco. En un sistema distribuido es
preciso tener en cuenta otros factores como son:
ARBOLES DE CONSULTAS
Pasos:
1
TRANSFORMACIONES EQUIVALENTES
Cuando una base de datos se encuentra en múltiples servidores ydistribuye a un número
determinado de nodos tenemos:
Cuando una base de datos es acezada de esta manera la técnica que se utiliza es la de
fragmentación de datos que puede ser hibrida, horizontal y vertical.
Bueno para realizar una transformación en la consulta primero desfragmentamos siguiend
o los estándares marcados por las reglas formales y posteriormente realizamos él envió y
la máquina que recibe es la que muestra el resultado pertinente para el usuario, de esta
se puede producir una copia que será la equivalente a la original.
2
Métodos de ejecución del join
Una variante del algoritmo anterior puede lograr un ahorro en el acceso a bloques, si se
procesan las relaciones por bloques en vez de por tuplas. Para cada bloque Br dar a igual
para cada bloque Bs de s, para cada tupla tr en Br.
3
La diferencia principal en costos de este algoritmo con el anterior es que en el peor de los
casos cada bloque de la relación interna s se lee una vez por cada bloque de dr y no por
cada tupla de la relación externa.
Este algoritmo se puede utilizar para calcular si un Join natural es óptimo en la búsqueda
o consulta. Para tales efectos, ambas relaciones deben estar ordenadas para los atributos
en común es decir se asocia un puntero a cada relación, al principio estos punteros
apuntan al inicio de cada una de las relaciones. Según avance el algoritmo el puntero se
mueve a través de la relación. De este modo se leen en memoria un grupo de tuplas de
una relación con el mismo valor en los atributos de las relaciones.
Al igual que el algoritmo de join por mezcla, el algoritmo de join por asociación se puede
utilizar para un Join natural o un equi-join. Este algoritmo utiliza una función de asociación
h para dividir las tuplas de ambas relaciones. La idea fundamental es dividir las tuplas de
cada relación en conjuntos con el mismo valor de la función de asociación en los atributos
de join.
El número de bloques ocupados por las particiones podría ser ligeramente mayor que.
Debido a que los bloques no están completamente llenos. El acceso a estos bloques
puede añadir un gasto adicional de 2·max a lo sumo, ya que cada una de las particiones
podría tener un bloque parcialmente ocupado que se tiene que leer y escribir de nuevo.
El algoritmo de join por asociación híbrida realiza otra optimización; es útil cuando el
tamaño de la memoria es relativamente grande paro aún así, no cabe toda la relación s en
4
memoria. Dado que el algoritmo de join por asociación necesita max +1 bloques de
memoria para dividir ambas relaciones se puede utilizar el resto de la memoria (M – max
– 1 bloques)para guardar en la memoria intermedia la primera partición de la relación s,
esto es, así no es necesaria leerla ni escribirla nuevamente y se puede construir un índice
asociativo.
Cuando r se divide, las tuplas de tampoco se escriben en disco; en su lugar, según se van
generando, el sistema las utiliza para examinar el índice asociativo en y así generar las
tuplas de salida del join. Después de utilizarlas, estas tuplas se descartan, así que la
partición no ocupa espacio en memoria. De este modo se ahorra un acceso de lectura y
uno de escritura para cada bloque de y.
Join Complejos
Los join en bucle anidado y en bucle anidado por bloques son útiles siempre, sin
embargo, las otras técnicas de join son más eficientes que estas, pero sólo se pueden
utilizar en condiciones particulares tales como join natural o equi-join.
Se pueden implementar join con condiciones más complejas tales como conjunción o
disyunción Dado un join de las forma se pueden aplicar una o más de las técnicas de join
descritas anteriormente en cada condición individual, el resultado total consiste en las
tuplas del resultado intermedio que satisfacen el resto de las condiciones. Estas
condiciones se pueden ir comprobado según se generen las tuplas. La implementación de
la disyunción es homóloga a la conjunción.
Un outer join es una extensión del operador join que se utiliza a menudo para trabajar con
la información que falta.
5
Basándose en ese esquema de fragmentación, explica las fases del
procesamiento de consultas y cómo se haría la recuperación de la
información.
La vista conceptual, conocida también como la vista lógica global, representa la visión de
la comunidad de usuarios de los datos en la base de datos. No toma en cuenta la forma
en que las aplicaciones individuales observan los datos o como esto son almacenados. La
vista conceptual está basada en el esquema conceptual y su construcción se hace en la
primera fase del diseño de una base de datos.
Los usuarios incluyendo a los programadores de aplicaciones, observan los datos a través
de un esquema externo definido a nivel externo. La vista externa proporciona una venta a
la vista conceptual lo cual permite a los usuarios observar únicamente los datos de interés
y los aísla de otros datos en la base de datos. Puede existir cualquier número de vistas
externa y ellos pueden ser completamente independientes traslaparse entre sí.
6
En un sistema de bases de datos distribuidas, existen varios factores que deben tomar en
consideración que definen la arquitectura del sistema:
7
El esquema global es la unión de todas las descripciones de datos locales y las vistas de
los usuarios se definen sobre el esquema global.
Un sistema multi-base de datos tiene múltiples SMBDs, que pueden ser de tipos
diferentes, y múltiples bases de datos existentes. La integración de todos ellos se realiza
mediante subsistemas de software.
En contraste con los sistemas homogéneos, existen usuarios locales y globales, los
usuarios locales acceden sus bases de datos locales sin verse afectados por la presencia
de Smulti-BD.
El procesador de usuario se encarga de procesar las solicitudes del usuario, por tanto,
utiliza el esquema externo del usuario y el esquema conceptual global. Así también utiliza
un diccionario de datos global. Este consiste en de cuatro partes: Un manejador de la
interfaz de usuario, un controlador semántico de datos, un optimizador global de consultas
y un supervisor de ejecución global.
8
Garantizar la actualización y eliminación de los datos, reflejándolos
automáticamente en los datos almacenados en el lugar de origen.
Caso Practico
Sincronizar todos los datos periódicamente.
Arquitectura de un DDBMS
9
El sistema de administración de base de datos distribuida (DDBMS), está formado por las
transacciones y los administradores de base de datos distribuidos de todas las
computadoras. Tal y como se muestra, tal DDBMS es un esquema genérico que implica
un conjunto de programas que operan en diversas computadoras.
Un nodo es una computadora que ejecuta un DTM, un DBM, o inclusive ambos. Un nodo
de transacción procesa un DTM, y un nodo de base de datos procesa un DBM y su base
10
de datos': En la, el Nodo W es un nodo de base de datos ejecutando DBMwY
almacenando BDw. El Nodo X es tanto un nodo de transacción como de base de datos
con DTMx' DBMx y BDx. De modo similar, el Nodo Y es tanto un nodo de transacción
como de base de datos, pero el Nodo Z es solamente un nodo de transacción.
Ejemplos de BDDMS
11
Caso Práctico
12
Durante las operaciones normales, las aplicaciones en las terminales de la
sucursal necesitan solo acceder al BD de la misma. Como solo acceden la misma
red local, se les llaman aplicaciones locales.
Una típica transacción global sería una transferencia de fondos de una sucursal a
otra.
13
que aprender, y muchas aplicaciones susceptibles de fallar. Por ejemplo, el
control de concurrencia y recuperación de fallos, requiere de personal muy
especializado y por tal costoso.
Conclusiones
15
será más homogénea.
Bibliografía
16