Actividad #6
Uso de las BDD en diversos sectores productivos
En este mundo modernizado existen una gran cantidad de
empresas que crecen y compiten día a día así que se han visto envueltas en la
necesidad de utilizar una base de datos distribuida para la administración de
su información, una gran cantidad de empresas que están en constante
crecimiento se ven forzadas en crear sucursales así que como anteriormente se
había mencionado utilizan BDD para compartir información a distancias y de
manera confiable gracias a que su información se encuentra dividida en
diferentes equipos. Un ejemplo de sectores que utilizan BDD puede ser:
·
bancos
·
escuelas
·
Cualquier organización
que tiene una estructura descentralizada.
·
Casos típicos de lo anterior son: organismos
gubernamentales y/o de servicio público.
·
La industria de la manufactura,
particularmente, aquella con plantas múltiples.
·
Aplicaciones de control y comando militar.
·
aerolíneas.
·
Cadenas hoteleras.
·
Servicios financieros
Transparencia y Autonomía
En un sistema de base de
datos distribuida es esencial que el sistema reduzca al mínimo la necesidad de
que el usuario se dé cuenta de cómo está almacenada una relación, un sistema
puede ocultar los detalles de la distribución de la información en la red. Esto
se denomina transparencia de la red. La transparencia de la red se relaciona,
en algún modo, a la autonomía local. La transparencia de la red es el grado
hasta el cual los usuarios del sistema pueden ignorar los detalles del diseño
distribuido. La autonomía local es el grado hasta el cual el diseñador o
administrador de una localidad pueden ser independientes del resto del sistema distribuido.
Transparencia de la
repetición y la fragmentación
No es conveniente requerir
que los usuarios hagan referencia a una copia específica de un elemento de
información. El sistema debe ser el que determine a qué copia debe acceder
cuando se le solicite su lectura, y debe modificar todas las copias cuando se
produzca una petición de escritura.
Cuando se solicita un
dato, no es necesario especificar la copia. El sistema utiliza una
tabla-catálogo para determinar cuáles son todas las copias de ese dato.
De manera similar, no debe
exigirse a los usuarios que sepan cómo está fragmentado un elemento de
información. Es posible que los fragmentos verticales contengan id-tuplas, que
representan direcciones de tuplas. Los fragmentos horizontales pueden haberse
obtenido por predicados de selección complejos. Por tanto, un sistema de bases
de datos distribuido debe permitir las consultas que se hagan en términos de
elementos de información sin fragmentar. Esto no presenta problemas graves, ya
que siempre es posible reconstruir el elemento de información original a partir
de sus fragmentos. Sin embargo, este proceso puede ser ineficiente.
Transparencia de
localización
Si el sistema es
transparente en cuanto a repetición y fragmentación, se ocultará al usuario
gran parte del esquema de la base de datos distribuida. Sin embargo, el
componente de los nombres que identifican a la localidad obliga al usuario a
darse cuenta del hecho de que cl sistema está distribuido.
La transparencia de
localización se logra creando un conjunto de seudónimos o alias para cada
usuario. Así, el usuario puede referirse a los datos usando nombres sencillos
que el sistema traduce a nombres completos.
Con el uso de seudónimos,
no será necesario que el usuario conozca la localización física de un dato.
Además, el administrador de la base de datos puede cambiar un dato de una
localidad a otra sin afectar a los usuarios.
Transparencia y
actualizaciones
De alguna forma es más
difícil hacer transparente la base de datos para usuarios que la actualizan que
para aquellos que sólo leen datos. El problema principal es asegurarse de que
se actualizan todas las copias de un dato y también los fragmentos afectados.
En el caso más general, el
problema de actualización de información repetida y fragmentada está
relacionado con el problema de actualización de vistas.
Grado de Fragmentación
Cuando se va a fragmentar
una base de datos deberíamos sopesar qué grado de fragmentación va a alcanzar,
ya que éste será un factor que influirá notablemente en el desarrollo de la
ejecución de las consultas. El grado de fragmentación puede variar desde una
ausencia de la división, considerando a las relaciones unidades de
fragmentación; o bien, fragmentar a un grado en el cada tupla o atributo forme
un fragmento. Ante estos dos casos extremos, evidentemente se ha de buscar un
compromiso intermedio, el cual debería establecerse sobre las características
de las aplicaciones que hacen uso de la base de datos. Dichas características
se podrán formalizar en una serie de parámetros. De acuerdo con sus valores, se
podrá establecer el grado de fragmentación del banco de datos.
Reglas de corrección de la
fragmentación
A continuación se enuncian
las tres reglas que se han de cumplir durante el proceso de fragmentación, las
cuales asegurarán la ausencia de cambios semánticos en la base de datos durante
el proceso.
· Disyunción. Si una relación R se
descompone horizontalmente en una serie de fragmentos R1, R2, ..., Rn,
y un elemento de datos di se encuentra en algún fragmento Rj,
entonces no se encuentra en otro fragmento Rk (kj).
Esta regla asegura que los fragmentos horizontales sean disjuntos. Si una
relación R se descompone verticalmente, sus atributos
primarios clave normalmente se repiten en todos sus fragmentos.
· Compleción. Si una relación R se
descompone en una serie de fragmentos R1, R2, ..., Rn, cada
elemento de datos que pueda encontrarse en R deberá poder
encontrarse en uno o varios fragmentos Ri. Esta propiedad
extremadamente importante asegura que los datos de la relación global se proyectan
sobre los fragmentos sin pérdida alguna. Tenga en cuenta que en el caso
horizontal el elemento de datos, normalmente, es una tupla, mientras que en el
caso vertical es un atributo.
· Reconstrucción. Si una relación R se
descompone en una serie de fragmentos R1, R2, ..., Rn, puede
definirse una operador relacional tal que el operador será diferente
dependiendo de las diferentes formas de fragmentación. La reconstrucción de la
relación a partir de sus fragmentos asegura la preservación de las restricciones
definidas sobre los datos en forma de dependencias.
Fragmentación Vertical:
El objetivo de la
fragmentación vertical consiste en dividir la relación en un conjunto de
relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo
hagan uso de un fragmento. Sobre este marco, una fragmentación óptima es
aquella que produce un esquema de división que minimiza el tiempo de ejecución
de las aplicaciones que emplean esos fragmentos.
Fragmentación Horizontal
Como se ha explicada
anteriormente, la fragmentación horizontal se realiza sobre las tuplas de la
relación. Cada fragmento será un subconjunto de las tuplas de la relación.
Existen dos variantes de la fragmentación horizontal: la primaria y la
derivada. La fragmentación horizontal primaria de una relación se desarrolla
empleando los predicados definidos en esa relación. Por el contrario, la
fragmentación horizontal derivada consiste en dividir una relación partiendo de
los predicados definidos sobre alguna otra.
Fragmentación mixta o
híbrida:
En muchos casos la
fragmentación vertical u horizontal del esquema de la base de datos no será
suficiente para satisfacer los requisitos de las aplicaciones. Como ya se citó
al comienzo de este documento podemos combinar ambas, utilizando por ello la
denominada fragmentación mixta. Cuando al proceso de fragmentación vertical le
sigue una horizontal, es decir, se fragmentan horizontalmente los fragmentos
verticales resultantes, se habla de la fragmentación mixta HV
No hay comentarios:
Publicar un comentario