Vous êtes sur la page 1sur 2

UNIVERSIDAD TCNICA DEL NORTE FICA CISIC.

BASE DE DATOS III Nombre: Carlos Quilumbaqu Fecha: 31-05-2013

1.- Consulta del mtodo de juntura o producto natural con funciones Hash? La juntura o producto natural de dos o ms tablas en una base de datos relacional con funciones hash. Este algoritmo puede ser utilizado para combinaciones "equi-join". El acceso a las tablas a ser combinadas se realiza construyendo tablas hash sobre los atributos de combinacin. La bsqueda en tabla hash es mucho ms rpida que a travs de rboles de ndice, pero slo puede realizarse una bsqueda por la condicin de igualdad. Una funcin hash con clave HK (en ingls keyed hash function) es una funcin hash H que tiene un parmetro secreto K que pertenece al conjunto posible de claves y en la que para una entrada x, hK(x) es el valor hash de x. Al resto de funciones hash se dice que son sin clave (en ingls unkeyed hash function). Propiedades La calidad de una funcin hash viene definida con base en la satisfaccin de ciertas propiedades deseables en el contexto en el que se va a usar. Bajo costo Calcular el valor hash necesita poco costo (computacional, de memoria,...). Compresin Una funcin hash comprime datos si puede mapear un dominio con datos de longitud muy grande a datos con longitud ms pequea Uniforme Se dice que una funcin hash es uniforme cuando para una clave elegida aleatoriamente es igualmente probable tener un valor hash determinado, independientemente de cualquier otro elemento. Para una funcin hash H uniforme del tipo H:{0,1}m{0,1}n, es decir:

Las cadenas estn construidas sobre un alfabeto de 2 smbolos (Alfabeto binario) El dominio es el conjunto de las cadenas de longitud m El rango es el conjunto de las cadenas de longitud n

podemos decir que a cada resumen le corresponde 2m-n mensajes y que la probabilidad de que dos mensajes den como resultado la misma salida es 2-n Para algoritmos de bsqueda, si todas las entradas son igualmente probables, se busca esta propiedad para minimizar el nmero de colisiones ya que cuantas ms colisiones haya, ser mayor el tiempo de ejecucin de las bsquedas. De rango variable

En algunas funciones hash el rango de valores hash puede ser diferente a lo largo del tiempo. Ejemplo: Funciones hash usadas para tablas hash que necesitan expandirse. En estos caso a la funcin hash se le debe pasar un parmetro que le permita saber en qu rango se mueve la ejecucin para hallar el valor hash. Determinista Una funcin hash se dice que es determinista cuando dada una cadena de entrada siempre devuelve el mismo valor hash. Es decir, el valor hash es el resultado de aplicar un algoritmo que opera slo sobre la cadena de entrada. Ejemplos de funciones hash nodeterministas son aquellas funciones hash que dependen de parmetros externos, tales como generadores de nmeros pseudoaleatorios o la fecha. Tampoco son deterministas aquellas funciones hash que dependen de la direccin de memoria en la que est almacenada la cadena de entrada. Esa direccin es accidental y no se considera un cambio de la cadena entrada en s. De hecho puede cambiar dinmicamente durante la propia ejecucin del algoritmo de la funcin hash. "LAS TABLAS HASH" En una "tabla hash", los elementos estn formados por una pareja: una clave y un valor, como en un SortedList, pero la diferencia est en la forma en que se manejan internamente estos datos: la "tabla hash" usa una "funcin de dispersin" para colocar los elementos, de forma que no se pueden recorrer secuencialmente, pero a cambio el acceso a partir de la clave es muy rpido, ms que si hacemos una bsqueda secuencial (como en un array) o binaria (como en un ArrayList ordenado). Un ejemplo de diccionario, parecido al anterior (que es ms rpido de consultar para un dato concreto, pero que no se puede recorrer en orden). VENTAJAS E INCONVENIENTES DE LAS TABLAS HASH Una tabla hash tiene como principal ventaja que el acceso a los datos suele ser muy rpido si se cumplen las siguientes condiciones: Una razn de ocupacin no muy elevada (a partir del 75% de ocupacin se producen demasiadas colisiones y la tabla se vuelve ineficiente). Una funcin resumen que distribuya uniformemente las claves. Si la funcin est mal diseada, se producirn muchas colisiones. Los inconvenientes de las tablas hash son: --->Necesidad de ampliar el espacio de la tabla si el volumen de datos almacenados crece. Se trata de una operacin costosa. --->Dificultad para recorrer todos los elementos. Se suelen emplear listas para procesar la totalidad de los elementos. --->Desaprovechamiento de la memoria. Si se reserva espacio para todos los posibles elementos, se consume ms memoria de la necesaria; se suele resolver reservando espacio nicamente para punteros a los elementos.

Vous aimerez peut-être aussi