Presentación de PowerPoint · 111 Soto Diaz Brizuela 110 Brito Quint 111 Moyano Altamirano Cortes...
Transcript of Presentación de PowerPoint · 111 Soto Diaz Brizuela 110 Brito Quint 111 Moyano Altamirano Cortes...
Catedra de Base de Datos
Facultad de Ciencias Exactas y Tecnología
Universidad Nacional de Tucumán
Ciclo Lectivo 2017
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 Ing. Franco D. Menendez
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 Ing. Franco D. Menendez
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 idea es que dos llaves podrían ser asignadas al mismo slot – una colisión.
Para resolver esta situación se puede utilizar la técnica de encadenamiento.
Bases de Datos Ing. Franco D. Menendez
Un ejemplo básico es tomar los siguientes parámetros. Se decide crear una función Hashh(k): k mod 5, cuyos valores tomados del universo son los siguientes:Valores: {26,9,5,918,11,302,67,42,133,813,100,488}
H(26)=1H(9)=4H(5)=0H(918)=3H(11)=1H(302)=2H(67)=2H(42)=2H(133)=3H(813)=3H(100)=0H(488)=3
0
1
2
3
4
100 5
11 26
42 67 302
488 813 133 918
9
Bases de Datos Ing. Franco D. Menendez
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 Ing. Franco D. Menendez
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 Ing. Franco D. Menendez
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».
H(Soto)=0H(Escobar)=3H(Miranda)=3H(Brito)=1H(Negrete)=3H(Moyano)=2H(Quiroga)=3H(Díaz)=0H(Brizuela)=0H(Cortes)=2H(Quint)=1H(Altamirano)=2
0
1
2
3
111 Soto Diaz Brizuela
110 Brito Quint
111 Moyano Altamirano Cortes
111 Escobar Miranda Negrete
100 Quiroga *
Bases de Datos Ing. Franco D. Menendez
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».
H(Soto)=0H(Escobar)=3H(Miranda)=3H(Brito)=1H(Negrete)=3H(Moyano)=2H(Díaz)=0H(Brizuela)=0H(Cortes)=2H(Quint)=1H(Altamirano)=2H(Quiroga)=3 – slot lleno – aplico rehashing
0
1
2
3
4
5
6
7
111 Soto Diaz Brizuela
110 Brito Quint
111 Moyano Altamirano Cortes
111 Escobar Miranda Negrete
100 Quiroga *
Bases de Datos Ing. Franco D. Menendez
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. Franco D. Menendez
Abstracción: consiste en aislar un elemento de su contexto o del resto de los elementos que lo
acompañan. La abstracción de algo posee dos cualidades: suprime los detalles irrelevantes y
busca para aislar la esencia de ese algo.
Abstracción: simplificación de los hechos.
Ejemplo: Archivo de empleados(sueldos).
Datos útiles: nombre, nomina, sueldo, etc.
Datos no utiles: color de pelo, peso, etc.
Bases de Datos Ing. Franco D. Menendez
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 Ing. Franco D. Menendez
Situación Problemática
• La empresa IMDS nos contrata para llevar a cabo la tarea de manejo de la información de
las maquinas 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 CPU 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 Ing. Franco D. Menendez
MONITOR
CPU
DEPARTAMENTO
Se_encuentra
Se_encuentra
Sitio Web de la Cátedra http://catedras.facet.unt.edu.ar/bd
Bases de Datos Ing. Franco D. Menendez