16
Cátedra de Bases de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2019

Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Cátedra de Bases de Datos

Facultad de Ciencias Exactas y Tecnología

Universidad Nacional de Tucumán

Ciclo Lectivo 2019

Page 2: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

ARCHIVOS HASH

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 3: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

HASH se refiere a una función o método para generar claves o llaves que representen de manera

casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato a través de la

probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha

función o algoritmo.

Una FUNCIÓN DE HASH es una función para resumir o identificar probabilísticamente un gran

conjunto de información, dando como resultado un conjunto imagen finito generalmente menor

(un subconjunto de los números naturales por ejemplo). Varían en los conjuntos de partida y de

llegada y en cómo afectan a la salida similitudes o patrones de la entrada. Una propiedad

fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces

las dos entradas que generaron dichos resultados también lo son.

Son usadas en múltiples aplicaciones, como los arrays asociativos, criptografía, procesamiento de

datos y firmas digitales, entre otros.

Una buena función de hash es una que experimenta pocas colisiones en el conjunto esperado

de entrada; es decir que se podrán identificar unívocamente las entradas.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 4: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Una TABLA HASH o MAPA HASH es una estructura de datos que asocia llaves o claves con

valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso

a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada

(usando el nombre o número de cuenta, por ejemplo). Funciona transformando la clave con una

función hash en un hash, un número que la tabla hash utiliza para localizar el valor deseado.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 5: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

La idea de la función hash es reducir el rango de índices que necesitan ser manejados. En vez

de un universo, se necesitan solo m valores.

El problema de esta política es que dos llaves podrían ser asignadas al mismo slot – una

colisión.

Para resolver esta situación se puede utilizar técnicas de desborde por ejemplo la técnica de

encadenamiento.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 6: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

EJERCICIO 4: Se tiene la siguiente lista de apellidos de la clase de Base de Datos de

la UNT: Soto, Escobar, Miranda, Brito, Negrete, Moyano, Quiroga, Díaz, Brizuela,

Cortes, Quint, Altamirano. Contamos a su vez con un buffer de I/O de 1024 bytes.

Se pide organizar esta lista en un archivo único con una estructura HASH, que posea 4

entradas, cada una con registro de 330 bytes y un puntero de 15 bytes. La función

Hash a utilizar será la siguiente «largo de palabra MOD 4».

Se debe:

1.Determinar cantidad de registros por bucket.

2.Ingresar los datos utilizado la técnica de desborde encadenada y rehashing.

3.Graficar la estructura

4.Indicar tiempos de recuperación.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 7: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

1 - Determinar la cantidad de registros por Bucket

Se divide la capacidad del buffer por el tamaño de los registros.

1024/330=3 (tres registros por bucket)

1024 bytes – 990 bytes = 34 bytes

El resto que tenemos es 34bytes. De los cuales 1 byte se utiliza para los 3 bits que

indican si la posición del bucket esta vacío o no. (0 o 1). 15 bytes se utiliza para puntero

(indicado en el enunciado)

1 byte + 15 bytes = 16 bytes usados

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 8: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

2- Ingresar los datos utilizado la técnica de desborde encadenada.

Técnica de desborde encadenada. La Función H(x)=«largo de palabra MOD 4».

BASES DE DATOS

H(Soto)=0

H(Escobar)=3

H(Miranda)=3H(Brito)=1H(Negrete)=3

H(Moyano)=2H(Quiroga)=3

H(Díaz)=0

H(Brizuela)=0

H(Cortes)=2

H(Quint)=1

H(Altamirano)=2

Bases de Datos Ing. Cristian H. Lafuente

Page 9: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

2- Ingresar los datos utilizado la técnica de desborde rehashing.

Técnica de desborde encadenada. La Función H(x)=«largo de palabra MOD 4».

BASES DE DATOS

H(Soto)=0

H(Escobar)=3

H(Miranda)=3

H(Brito)=1

H(Negrete)=3

H(Moyano)=2

H(Díaz)=0

H(Brizuela)=0

H(Cortes)=2

H(Quint)=1

H(Altamirano)=2

H(Quiroga)=3 – slot lleno – aplico rehashing

Bases de Datos Ing. Cristian H. Lafuente

Page 10: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

BASES DE DATOS

4 - Indicar tiempos de recuperación

El tiempo promedio para la recuperación de un registro es el siguiente:

•Desborde encadenado:

TATH + (TAMS + TBB) * 2= 1 + ( k + 3/2)*2= 4 + 2k

•Desborde con rehashing:

Sin desborde: TATH + TAMS + TBB= 1 + k + 3/2= 2,5 + k

Con desborde: (TATH + TAMS + TBB)*2= (1 + k + 3/2)*2= 5 + 2k

Bases de Datos Ing. Cristian H. Lafuente

Page 11: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Introducción al modelado de datos –

Abstracción.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 12: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Modelo de datos: es un conjunto de herramientas conceptuales que permiten describir la

información que es necesario administrar de un sistema y las relaciones entre esos datos.

Abstracción: consiste en aislar un elemento de su contexto o del resto de los elementos

que lo acompañan.

Es un proceso que permite seleccionar algunas características de un conjunto de objetos

del mundo real, dejando de lado aquellos rasgos que no son de interés.

Ejemplo:

silla -> visión cliente (material de fabricación, tipo respaldo, posee ruedas o no)

visión cliente2 (tipo de patas, comodidad)

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 13: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

• La abstracción de algo posee dos cualidades: suprime los detalles irrelevantes y busca

para aislar la esencia de ese algo.

• Simplificación de los hechos.

Ejemplo: Archivo de empleados(sueldos).

Datos útiles: nombre, nomina, sueldo, etc.

Datos no útiles: color de pelo, peso, etc.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 14: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Los tipos de Abstracción:

Clasificación: es la acción de abstraer las características comunes a un conjunto de

ejemplares para crear una categoría a la cual pertenecen.

Agregación: Establece una relación ES_PARTE_DE entre los elementos componentes y el

elemento compuesto.

Generalización: Es la acción de abstraer las características más comunes entre varias

clases con el fin de crear una clase superior que las comprenda a todas. Entre los elementos

subclase y el elemento superclase se establece una relación del tipo ES_UN. Todo ejemplar

de una subclase además de poseer todos las características especificas de ella, hereda toda

las características de la superclase

Asociación: es una abstracción que se utiliza para relacionar dos o más clases, creándose

un elemento de un tipo distinto. El nuevo elemento no esta compuesto, como en el caso de

la agregación, por los elementos que asocia. En la agregación puede existir herencia, no así

en la asociación

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 15: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Situación Problemática

La empresa IMDS nos contrata para llevar a cabo la tarea de manejo de la información

de las máquinas que se encuentra en su establecimiento. Para ello se procedió a

recolectar la siguiente información: del Monitor se obtuvieron la marca, modelo, nro. de

serie; del gabinete se obtuvo motherboard, memoria, disco, unidad óptica,

microprocesador, departamento en el cual se encuentra. Del departamento, su ubicación

en el edificio, nombre, teléfono, responsable del mismo.

Se Pide realizar la abstracción de la información dada.

BASES DE DATOS

Bases de Datos Ing. Cristian H. Lafuente

Page 16: Presentación de PowerPoint · fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también

Sitio Web de la Cátedra http://catedras.facet.unt.edu.ar/bd

BASES DE DATOS