Académique Documents
Professionnel Documents
Culture Documents
PPT1:
BASES DE DATOS:
• DEFINICION DE BASE DE DATOS
• ES UNA COLECCION DE DATOS RELACIONADOS
• ES UNA COLECCION DE ARCHIVOS DISEÑADOS PARA SERVIR A
MÚLTIPLES APLICACIONES
• ES UN DATO QUE REPRESENTA HECHOS CONOCIDOS QUE PUEDEN
REGISTRARSE Y QUE TIENEN UN RESULTADO IMPLÍCITO.
• PROPIEDADES IMPLICITAS DE UNA BD
• UNA BD REPRESENTA ASPECTOS DEL MUNDO REAL A VECES
DENOMINADO UNIVERSO DE DISCURSO
• ES UNA COLECCION COHERENTE DE DATOS CON SIGNIFICADOS
INHERENTES. UN CONJUNTO ALEATORIO DE DATOS NO PUEDE
CONSIDERARSE UNA BD. OSEA, LOS DATOS DEBEN TENER CIERTA LÓGICA.
• UNA BD SE DISEÑA, CONSTRUYE Y COMPLETA DE DATOS PARA UN
PROPOSITO ESPECIFICO. ESTA DESTINADA A UN GRUPO DE USUARIOS
CONCRETOS Y TIENE ALGUNAS APLICACIONES PRECONCEBIDAS EN LAS
CUALES ESTAN INTERESADOS LOS USUARIOS.
CONCLUSION
• LA DEFINICION DE UNA BD CONSISTE EN ESPECIFICAR LOS TIPOS DE DATOS,
LAS ESTRUCTURAS Y RESTRICCIONES DE LOS MISMOS.
• LA CONSTRUCCION DE LA BD ES EL PROCESO DE ALMACENAR DATOS
CONCRETOS EN ALGUN DISPOSITIVO DE ALMACENAMIENTO BAJO LA GESTION DEL
DBMS.
• LA MANIPULACION DE BD INCLUYE FUNCIONES TALES COMO CONSULTAR LA BD
PARA RECUPERAR DATOS ESPECIFICOS, ACTUALIZAR LOS DATOS EXISTENTES,
REFLEJAR CAMBIOS PRODUCIDOS, ETC.
CONCEPTOS BASICOS
• ABSTRACCIONES:
• VISION: VE SOLO LOS DATOS DE INTERES (MUCHAS VISTAS PARA LA
MISMA BD) A TRAVES DE PROGRAMAS DE APLICACION.
• CONCEPTUAL: QUE DATOS SE ALMACENAN EN LA BD Y QUE RELACIONES
EXISTEN ENTRE ELLAS.
• FISICO: DESCRIBE COMO SE ALMACENAN REALMENTE LOS DATOS
(ARCHIVOS Y HARD)
• MODELOS DE DATOS: COLECCION DE HERRAMIENTAS CONCEPTUALES PARA
DESCRIBIR DATOS, RELACIONES ENTRE ELLOS, SEMANTICA ASOCIADA A LOS
DATOS Y RESTRICCIONES DE CONSISTENCIA.
• MODELOS:
• BASADO EN OBJETOS (VISION, CONCEPTUAL) ESTRUCTURA FLEXIBLE,
ESPECIFICAN RESTRICCIONES EXPLICITAMENTE.
MODELO DE ENTIDAD-RELACION.
MODELO ORIENTADO A OBJETOS
• BASADO EN REGISTROS (CONCEPTUAL, FISICO) LA BD SE ESTRUCTURA
EN REGISTROS DE FORMATO FIJO. SE DISPONE DE LENGUAJE ASOCIADO
PARA EXPRESAR CONSULTAS (RELACIONAL, JERARQUICO, RED)
• FISICO DE DATOS (FISICO) DESCRIBEN LOS DATOS EN EL NIVEL MAS
BAJO.
• INDEPENDENCIA DE DATOS: CAPACIDAD DE MODIFICAR ESQUEMAS SIN
ALTERAR OTRO NIVEL.
• FISICO, MODIFICAR EL ESQUEMA FISICO SIN PROVOCAR QUE LOS
PROGRAMAS DE APLICACION TENGAN QUE REESCRIBIRSA. GENERALMENTE,
PARA MEJORAR EL FUNCIONAMIENTO
• LOGICO, MODIFICAR EL ESQUEMA CONCEPTUAL.
• CATEGORIAS DE SOFT DE PROCESAMIENTO DE DATOS:
• SIN INDEPENDENCIA DE DATOS (S.O., TRANSFERENCIA A UN SECTOR
PARTICULAR)
• INDEPENDENCIA FISICA (LEER UN REGISTRO DE UN ARCHIVO, SO)
• INDEPENDENCIA LOGICA PARCIAL (LEER SIGUIENTE REGISTRO DE UN
ARCHIVO)
• INDEPENDENCIA LOGICA Y FISICA (LEER SIGUIENTE REGISTRO DE UN
TIPO PARTICULAR, DBMS)
• INDEPENDENCIA GEOGRAFICA (BDS DISTRIBUIDAS)
PPT3
LA MEMORIA PRIMARIA (RAM) ES RAPIDA Y DE SIMPLE ACCESO, PERO SU USO TIENE
ALGUNAS DESVENTAJAS RESPECTO AL ALMACENAMIENTO SECUNDARIO:
• CAPACIDAD LIMITADA
• MAYOR COSTO
• ES VOLATIL
• ALMACENAMIENTO SECUNDARIO: NECESITA MÁS TIEMPO PARA TENER ACCESO
A LOS DATOS QUE EN RAM.
• SU ACCESO ES TAN LENTO QUE ES IMPRESCINDIBLE ENVIAR Y
RECUPERAR DATOS CON INTELIGENCIA
• AL BUSCAR UN DATO, SE ESPERA ENCONTRARLO EN EL PRIMER INTENTO
(O EN POCOS)
• SI SE BUSCAN VARIOS DATOS, SE PRETENDERA TRAER TODOS JUNTOS
DE UNA SOLA VEZ.
• LA INFORMACION ESTA ORGANIZADA EN ARCHIVOS.
• HW DE ALMACENAMIENTO SECUNDARIO
DISCOS: ALMACENAMIENTO:
• UN SOLO REGISTRO POR SECTOR: TIENE COMO VENTAJA
QUE CUALQUIER REGISTRO SE RECUPERA CON SOLO RECUPERAR
UN SECTOR, PERO TIENE LA DESVENTAJA QUE PUEDE QUEDAR
ESPACIO DEL SECTOR SIN USAR.
• EL PRINCIPIO DE UN REGISTRO EN UN SECTOR Y EL FINAL
EN OTRO: TIENE COMO VENTAJA QUE NO QUEDARA ESPACIO
DESPERDICIADO, PERO POR OTRO LADO ES NECESARIO MAS DE
UN ACCESO A SECTORES EN LUGAR DE SOLO UNO.
CINTAS: ES EL MEDIO MAS ECONOMICO, ESTABLE EN DIFERENTES
CONDICIONES AMBIENTALES Y FACILES DE TRANSPORTAR.
• VIAJE DE UN BYTE. (HASTA ACA LEI)
• ADMINISTRADOR DE ARCHIVOS: CONJUNTO DE PROGRAMAS DEL S.O.
QUE TRATAN ASPECTOS RELACIONADOS CON ARCHIVOS Y DISPOSITIVOS DE
E/S
EN LAS CAPAS SUPERIORES, ESTABLECE SI LAS CARACTERISTICAS
DEL ARCHIVO SON COMPATIBLES CON LA OPERACION DESEADA.
EN CAPAS INFERIORES DETERMINA DONDE SE GUARDA EL DATO
(CLINDRO, SECTOR, ETC). SI EL SECTOR ESTA UBICADO EN RAM, SE
UTILIZA, SINO DEBERA TRAERSE PREVIAMENTE.
• BUFFERS DE E/S: AGILIZAN LA E/S DE DATOS. MANEJAR BUFFERS IMPLICA
TRABAJAR CON GRANDES GRUPOS DE DATOS EN RAM, PARA REDUCIR EL
ACCESO A ALMACENAMIENTO SECUNDARIO.
• PROCESADOR DE E/S: DISPOSITIVO UTILIZADO PARA LA TRANSMISION
DESDE O HACIA EL ALMACENAMIENTO EXTERNO, INDEPENDIENTE DE LA CPU
• CONTROLADOR DE DISCO: ES EL ENCARGADO DE CONTROLAR LAS
OPERACIONES DEL DISCO COMO COLOCARSE EN LA PISTA, SECTOR Y
TRANSFERIR LOS DATOS.
• QUE SUCEDE AL ESCRIBIR UN BYTE EN EL DISCO DESDE UN PROGRAMA:
EL PROGRAMA PIDE AL S.O. ESCRIBIR EL CONTENIDO DE UNA
VARIABLE EN UN ARCHIVO
EL S.O. TRANSFIERE EL TRABAJO AL ADMINISTRADOR DE
ARCHIVOS.
EL ADMINISTRADOR BUSCA EL ARCHIVO EN SU TABLA DE
ARCHIVOS Y VERIFICA LAS CARACTERISTICAS
EL ADM DE ARCHIVOS OBTIENE DE LA FAT LA UBICACION FISICA
DEL SECTOR DEL ARCHIVO DONDE SE GUARDARA EL BYTE.
EL ADM SE ASEGURA QUE EL SECTOR DEL ARCHIVO ESTA EN UN
BUFFER Y GRABA EL DATO DONDE VA DENTRO DEL SECTOR DEL
BUFFER.
EL ADM DA INSTRUCCIONES AL PROCESADOR DE E/S (DONDE
ESTA EL BYTE EN RAM Y EN QUE PARTE DEL DISCO SE DEBERA
ALMACENAR)
EL PROCESADOR DE E/S ENCUENTRA EL MOMENTO PARA
TRANSMITIR EL DATO A DISCO, LA CPU SE LIBERA.
EL PROCESADOR DE E/S ENVIA EL DATO AL CONTROLADOR DEL
DISCO (CON LA DIRECCION DE ESCRITURA)
EL CONTROLADOR PREPARA LA ESCRITURA Y TRANSFIERE BIT
POR BIT EN LA SUPERFICIE DEL DISCO.
• ARCHIVOS - TRES ASPECTOS:
• TECNICAS DE ACCESO. VEREMOS SU EVOLUCION, NECESIDADES Y
CARACTERÍSTICAS.
• INDEPENDENCIA: FISICA Y LOGICA
• REDUNDANCIA DE DATOS: CONCEPTOS DE NORMALIZACION,.
• CARACTERISTICAS DE ESTRUCTURA DE ARCHIVOS:
• SECUENCIA DE BYTES
NO PUEDE DETERMINAR FACILMENTE COMIENZO Y FIN DE CADA
DATO
• CAMPOS
UNIDAD LOGICAMENTE SIGNIFICATIVA MAS PEQUEÑA DE UN
ARCHIVO. PERMITE SEPARAR LA INFORMACIÓN.
IDENTIDAD DE CAMPOS: VARIANTES, PRO Y CONTRAS.
• LONGITUD PREDECIBLE (LONGITUD FIJA, DESPERDICIO DE
ESPACIO, SI EL TAMAÑO ES PEQUEÑO, AL AGRANDARLO SE
PODRIA DESPERDICAR MAS ESPACIO)
• INDICADOR DE LONGITUD. AL PRINCIPIO DE CADA CAMPO
• DELIMITADOR AL FINAL DE CADA CAMPO (CARACTER
ESPECIAL NO USADO COMO DATO)
• REGISTROS
CONJUNTO DE CAMPOS AGRUPADOS QUE DEFINEN UN ELEMENTO
DEL ARCHIVO.
ORGANIZACION:
• LONGITUD PREDECIBLE (CANT DE BYTES O CANTIDAD DE
CAMPOS)
• INDICADOR DE LONGITUD (AL COMIENZO, INDICA LA
CANTIDAD DE BYTES QUE CONTIENE)
• SEGUNDO ARCHIVO (MANTIENE LA INFO DE LA DIRECCION
DEL BYTE DE INICIO DE CADA REGISTRO)
• DELIMITADOR (CARACTER ESPECIAL NO USADO COMO
DATO)
• LLAVE O CLAVE: SE CONCIBE AL REGISTRO COMO LA CANTIDAD DE
INFORMACION QUE SE LEE O ESCRIBE.
• OBJETIVO: EXTRAER SOLO UN REGISTRO ESPECIFICO EN VEZ DEL
ARCHIVO COMPLETO
• ES CONVENIENTE IDENTIFICAR UN REGISTRO CON UNA CLAVE QUE SE
BASE EN EL CONTENIDO DEL MISMO.
• PERMITE LA IDENTIFICACION DEL REGISTRO:
UNIVOCA / PRIMARIA
SECUNDARIA (GENERALMENTE NO IDENTIFICAN UN UNICO
REGISTRO)
• FORMA CANONICA: FORMA ESTANDAR PARA UNA LLAVE PUEDE
DERIVARSE A PARTIR DE REGLAS BIEN DEFINIDAS.
REPRESENTACION UNICA PARA LA LLAVE, AJUSTADA A LA REGLA.
EJ. LLAVE SOLO CON LETRAS MAYUSCULAS Y SIN ESPACIOS AL
FINAL
AL INTRODUCIR UN REGISTRO NUEVO, SE FORMA UNA LLAVE
CANONICA PARA ESE REGISTRO Y DESPUES SE LA BUSCA EN EL
ARCHIVO. SI YA EXISTE, SE DEBE MODIFICAR LOS CAMPOS DE LA
LLAVE PARA QUE SEA UNICA.
PERFORMANCE
• ESTUDIO DE PERFORMANCE
• PUNTO DE PARTIDA PARA FUTURAS EVALUACIONES
• COSTO: ACCESO A DISCO, NUM DE COMPARACIONES.
• CASO PROMEDIO
• EN EL CASO SECUENCIAL
• MEJOR CASO: LEER 1 REGISTRO, EL PEOR CASO LEER N REGISTROS
• PROMEDIO N/2 COMPARACIONES
• SUPONGAMOS QUE HAY 1000 REGISTROS, BUSCAR UNO EN PARTICULAR
EN EL PEOR CASO SERIA 1000, EL MEJOR CERO (PODRIA ESTAR CARGADO
EN MEMORIA)
• ES O(N) PORQUE DEPENDE DE LA CANTIDAD DE REGISTROS.
• LECTURA DE BLOQUES DE REGISTROS. MEJORA EL ACCESO A DISCO
PERON NO VARIAN LAS COMPARACIONES. SIGUE SIENDO O(N), PERO
AHORRA TIEMPO YA QUE DISMINUYE EL NUM DE DESPLAZAMIENTO DEL
BRAZO DEL DISCO.
• ACCESO DIRECTO: MODO DE ACCESO QUE PERMITE SALTAR A UN REGISTRO
PRECISO, REQUIERE UNA SOLA LECTURA PARA TRAER EL DATO O(1). DEBE
NECESARIAMENTE CONOCERSE EL LUGAR DONDE COMIENZA EL REGISTRO
REQUERIDO.
• NUMERO RELATIVO AL REGISTRO (NRR) INDICA LA POSICION RELATIVA
CON RESPECTO AL PRINCIPIO DEL ARCHIVO.
CON REGISTROS DE LONGITUD VARIABLE (LA LECTURA SIGUE
SIENDO SECUENCIAL , O(N) )
CON REGISTROS DE LONGITUD FIJA, POSIBILITA EL ACCESO
DIRECTO, SE TRADUCE EL NRR CALCULANDO LA DISTANCIA EN BYTES
PARA ACCEDER EL REGISTRO BUSCADO.
• REGISTRO ENCABEZADO: MANTIENE INFORMACION GENERAL DE UN
ARCHIVO (CANTIDAD DE REGISTROS, TAMAÑO DE REGISTROS, TIPO DE
DELIMITADOR, ETC)
EL ACCESO DIRECTO ES PREFERIBLE SOLO CUANDO SE NECESITAN POCOS
REGISTROS ESPECIFICOS, PERO ESTE METODO NO SIEMPRE ES EL MAS
APROPIADO PARA LA EXTRACCION DE INFORMACION, POR EJEMPLO EN UN
PROCESO DE PAGO DE CHEQUES PARA TODOS LOS EMPLEADOS,
OBLIGATORIAMENTE SE PROCESARAN TODOS LOS REGISTROS, ES MAS PRACTICO
RECORRERLO SECUENCIAL.
• ARCHIVOS SERIE: ARCHIVO DONDE CADA REGISTRO ES ACCESIBLE SOLO
LUEGO DE PROCESAR SU ANTECESOR, SIMPLES DE ACCEDER
• ARCHIVO SECUENCIAL: ARCHIVO DONDE LOS REGISTROS SON ACCESIBLES EN
ORDEN DE ALGUNA CLAVE.
TIPOS DE ARCHIVOS
• ESTATICOS: POCOS CAMBIOS
• PUEDEN ACTUALIZARSE EN PROCESAMIENTO POR LOTES
• NO NECESITA DE ESTRUCTURAS ADICIONALES PARA AGILIZAR LOS
CAMBIOS.
• VOLATILES: SOMETIDO A OPERACIONES FRECUENTES:
• AGREGAR / BORRAR / ACTUALIZAR
• SU ORGANIZACION DEBE FACILITAR CAMBIOS RÁPIDOS
• NECESITA ESTRUCTURAS ADICIONALES PARA MEJORAR LOS TIEMPOS DE
ACCESO.
ELIMINACION:
• CUALQUIER ESTRATEGIA DE ELIMINACION DE REGISTROS DEBE PROVEER UNA
FORMA DE RECONOCERLOS UNA VEZ ELIMINADOS (EJ, COLOCAR UNA MARCA DE
"ELIMINADO")
• CON ESTE CRITERIO SE PUEDE DESHACER LA ELIMINACION FACILMENTE
• COMO REUTILIZAR EL ESPACIO DE LOS ELIMINADOS?
• LOS PROGRAMAS QUE USAN ARCHIVOS DEBEN INCLUIR CIERTA LOGICA PARA
IGNORAR LOS REGISTROS ELIMINADOS.
• COMPACTACION:
• CON ESPACIO SUFICIENTE, LA FORMA MAS SIMPLE ES COPIAR TODO A
EXCEPCION DE LOS REGISTROS ELIMINADOS -> BAJA FISICA
• FRECUENCIA: TIEMPO O DEPENDIENDO DE LA NECESIDAD DE ESPACIO.
• HAY SITUACIONES EN QUE SE NECESITA REUTILIZAR ESPACION DE LOS
REGISTROS ELIMINADOS LO ANTES POSIBLE
• VEREMOS EL ANALISIS DE RECUPERACION DINAMICA DEL
ALMACENAMIENTO.
• APROVECHAMIENTO DE ESPACIO:
• REGISTROS DE LONGITUD FIJA -> ES NECESARIO GARANTIZAR:
MARCAS ESPECIALES EN LOS REGISTROS BORRADOS (EJ UN
ASTERISCO AL PRINCIPIO DEL REGISTRO BORRADO -> BAJA LOGICA)
RECUPERACION DEL ESPACIO PARA SU REUTILIZACION CUANDO
SE AGREGUEN REGISTROS
• BUSQUEDA SECUENCIAL -> USA LAS MARCAS DE
BORRADO.
• PARA AGREGAR, SE BUSCA EL PRIMER REGISTRO
ELIMINADO. SI NO EXISTE SE LLEGA AL FINAL DEL ARCHIVO
Y SE AGREGA AHI.
• ES MUY LENTO PARA OPERACIONES FRECUENTES.
• ES NECESARIO
• UNA FORMA DE SABER DE INMEDIATO SI HAY
LUGARES VACIOS EN EL ARCHIVO
• UNA FORMA DE SALTAR DIRECTAMENTE A UNOS DE
ESOS LUGARES EN CASO DE EXISTIR.
RECUPERACION DE ESPACIO CON LISTA O PILAS (HEADER)
• LISTA ENCADENADA DE REGISTROS DISPONIBLES
• AL INSERTAR UN REGISTRO NUEVO EN UN ARCHIVO DE
REGISTROS CON LONGITUD FIJA, CUALQUIER REGISTRO
DISPONIBLE ES BUENO.
• LA LISTA NO NECESITA TENER UN ORDEN PARTICULAR, YA
QUE TODOS LOS REGISTROS SON DE LONGITUD FIJA Y TODOS
LOS ESPACIOS LIBRES SON IGUALES.
• SE UTILIZA EL NRR COMO DIRECCION DE ENLACE ENTRE
NODOS
• PARA LA LISTA DE ELEMENTOS (EN REALIDAD UNA PILA)
SE UTILIZA -1 INDICANDO QUE NO HAY MAS LUGARES LIBRES
PARA LA UTILIZACION.
• CONSIDERAR LA LISTA COMO UNA PILA IMPLICA UNA
MINIMA REORGANIZACION AL AGREGAR O QUITAR ELEMENTOS
• EL NRR QUE INDICA EL PRIMER REGISTRO DE LA PILA DE
DISPONIBLES, ESTA EN UN REGISTRO ENCABEZADO DEL ARCHIVO
(SI HUBIERA UN -1 INDICARIA QUE LA LISTA O PILA ESTA VACIA)
• EJ: ALFA BETA DELTA *6 GAMMA *-1 EPSILON
EL ENCABEZADO TIENE COMO PROXIMO A INSERTAR EN POS 4.
BORRO BETA
ALFA *4 DELTA *6 GAMMA *-1 EPSILON
AHORA EL ENCABEZADO TIENE COMO PROXIMO A INSERTAR EN
POS 2. SI INSERTO UN DATO, VUELVE A QUEDAR COMO EN EL
PRIMER ESTADO, CON EL ENCABEZADO CON PROXIMOA
INSERTAR EN POS 4.
• RECUPERACION DE ESPACIO CON REGISTROS DE LONGITUD VARIABLE:
MARCA DE BORRADO AL IGUAL QUE EN REGISTRO DE LONGITUD
FIJA
EL PROBLEMA DE ESTOS REGISTROS ES QUE NO SE PUEDE
COLOCAR EN CUALQUIER LUGAR, PARA PODER PONERLO, DEBE CABER
OBLIGATORIAMENTE.
LISTA, NO SE PUEDE USAR NRR COMO ENLACE, SE USA UN CAMPO
BINARIO QUE EXPLICITAMENTE INDICA EN ENLACE (CONVIENE QUE
TAMBIEN INDIQUE EL TAMAÑO).
CADA REGISTRO INDICA EN SU INICIO LA CANTIDAD DE BYTES.
REUTILIZACION: BUSCAR EL REGISTRO BORRADO DE TAMAÑO
ADECUADO (LO SUFICIENTEMENTE GRANDE)
COMO SE NECESITA BUSCAR, NO SE PUEDE ORGANIZAR LA LISTA
DE DISPONIBLES COMO UNA PILA.
EL TAMAÑO ADECUADO DEL PRIMER REGISTRO BORRADO A
UTILIZAR -> ORIGINA FRAGMENTACION,
• FRAGMENTACION INTERNA: OCURRE CUANDO SE DESPERDICIA
ESPACIO DE UN REGISTRO, SE LE ASIGNA EL LUGAR PERON NO
LO OCUPA TOTALMENTE. SE DEFINE UN LONG Y NO SE UTILIZA
TOTALMENTE.
• OCURRE CON REGISTROS DE LONGITUD FIJA, SALCO QUE
LOS DATOS REALES SEAN DE LONGITUD FIJA.
• NO EXISTE EN REGISTROS DE LONGITUD VARIABLE,
CUANDO SE ESCRIBE EL ARCHIVO POR PRIMERA VEZ, SI
EXISTE SI SE ELIMINA UN REGISTRO Y SE REEMPLAZA POR
UNO MAS CORTO.
• SOLUCION: EL "RESIDUO" UNA VEZ OCUPADO EL ESPACIO
LIBRE, PASA A SER UN NUEVO REGISTRO LIBRE. SI ESTE ES
MUY CHICO NO SE PODRA OCUPAR -> FRAGMENTACION
EXTERNA.
• FRAGMENTACION EXTERNA: OCURRRE CUANDO EL ESPACIO QUE
NO SE USA ES DEMASIADO PEQUEÑO PARA OCUPARSE.
• SOLUCIONES:
• UNIR ESPACIOS LIBRES PEQUEÑOS ADYACENTES
PARA GENERAR UN ESPACIO DISPONIBLE MAYOR.
• MINIMIZAR LA FRAGMENTACION ELIGIENDO EL
ESPACIO MAS ADECUADO EN CADA CASO.
• ESTRATEGIAS DE COLOCACION:
PRIMER AJUSTE: SE SELECCIONA LA PRIMER ENTRADA DE LA LISTA
DE DISPONIBLES QUE PUEDA ALMACENAR AL REGISTRO Y SE LE
ASIGNA EL MISMO.
• MINIMIZA LA BUSQUEDA.
• NO SE PREOCUPA POR LA EXACTITUD DEL AJUSTE.
• MAS RAPIDO
MEJOR AJUSTE: ELIGE LA ENTRADA QUE MAS SE APROXIME AL
TAMAÑO DEL REGISTRO Y SE LE ASIGNA COMPLETA.
• EXIGE BUSQUEDA.
• GENERA FRAGMENTACION INTERNA
PEOR AJUSTE: SELECCIONA LA ENTRADA MAS GRANDE PARA EL
REGISTRO Y SE LE ASIGNA SOLO EL ESPACIO NECESARIO.EL RESTO
QUEDA LIBRE PARA OTRO REGISTRO.
• GENERA FRAGMENTACION EXTERNA.
BUSQUEDA:
• EL COSTO DE LA BUSQUEDA DE INFORMACION SE PUEDE MEDIR EN:
• NUMERO DE COMPARACIONES. OPERACIONES EN MEMORIA, SE PUEDE
MEJORAR CON ALGORITMOS MAS EFICIENTES.
• NUMERO DE ACCESOS. OPERACIONES EN DISCO.
• BUSQUEDA DE UN REGISTRO
• ES MAS RAPIDO SI CONOCEMOS EL NRR PORQUE PODEMOS ACCEDER
DIRECTAMENTE
• SECUENCIAL, DEBE BUSCARSE DESDE EL PRINCIPIO
• TRATAREMOS DE INCORPORAR EL USO DE CLAVES.
• BUSQUEDA BINARIA.
• SUPONGAMOS UN ARCHIVO ORDENADO POR CLAVE Y REGISTROS DE
LONGITUD FIJA
• LA BUSQUEDA CONSISTE EN PARTIR EL ARCHIVO A LA MITAD Y
COMPARAR LA CLAVE (PUEDO ACCEDER AL MEDIO POR TENER LONGITUD
FIJA)
• SI N ES EL NUMERO DE REGISTROS, LA PERFORMANCE SERA DEL ORDEN
DE LOG2N
• SE MEJORA LA PERFORMANCE DE LA BUSQUEDA SECUENCIAL
• ACOTA EL ESPACIO PARA ENCONTRAR INFORMACION TIENE UN COSTO
POR MANTENER EL ARCHIVO ORDENADO.
• PRIMERA SOLUCION:
LLEVAR EL ARCHIVO A RAM (VECTOR) Y ORDENAR.
POR QUE ORDENAR EN RAM Y NO EN DISCO DIRECTAMENTE.
• EL NUMERO DE CORRIMIENTOS IMPLICA ACCESOS A DISCO
(MUY COSTOSO)
• PRIMER PASO, LLEVAR LAS LLAVES A FORMA CANONICA.
• ALGORITMOS DE ORDENACION SE PUEDEN ENCONTRAR
EN BIBLIOGRAFIA, APARECE UNA VARIANTE INTERESANTE
• SEGUNDA SOLUCION
NO LLEVAR TODO EL ARCHIVO A RAM, SOLO LLEVAR LA CLAVE.
• ESTO PERMITE CLASIFICAR ARCHIVOS MAS GRANDES
• TERCERA SOLUCION
CUANDO EL ARCHIVO DE DATOS NO ENTRA EN RAM, NI TAMPOCO
SOLO LAS CLAVES.
SE PARTE EL ARCHIVO, SE ORDENA CADA PARTE Y SE JUNTAN LAS
PARTES ORDENADAS.
VENTAJAS:
• PERMITE CLASIFICAR ARCHIVOS GRANDES
• LECTURA DE CADA PARTICION ES SIEMPRE SECUENCIAL
• LECTURA DE CADA PARTICION EN ORDEN, ESCRITURA EN
UN NUEVO ARCHIVO (AMBAS SECUENCIALES)
EL TAMAÑO LO DEFINE EL TAMAÑO DE LA RAM
INDICES:
• DEFINICIONES
• HERRAMIENTA: PARA ENCONTRAR REGISTROS EN UN ARCHIVO.
CONSISTE EN UN CAMPO CLAVE (BUSQUEDA) Y UNO DE REFERENCIA QUE
INDICA DONDE ENCONTRAR EL REGISTRO DENTRO DEL ARCHIVO DE DATOS.
• TABLA: QUE OPERA CON UN PROCEDIMIENTO QUE ACEPTA
INFORMACION ACERCA DE CIERTOS VALORES DE ATRIBUTOS COMO LA
ENTRADA (CLAVE) Y PROVEE COMO SALIDA INFORMACION QUE PERMITE LA
RAPIDA LOCALIZACION DEL REGISTRO CON ESOS ATRIBUTOS.
• ESTRUCTURA DE DATOS (CLAVE,DIRECCION) USADA PARA
DECREMENTAR EL TIEMPO DE ACCESO A UN ARCHIVO.
• EQUIVALE A UN INDICE DE UN LIBRO, LA FORMA MAS SENCILLA DE
IMPLEMENTARLO ES CON UN ARBOL, Y SU CARACTERISTICA FUNDAMENTAL ES
QUE PERMITE QUE SE ORDENE SIN QUE REALMENTE EL ARCHIVO SE REACOMODE.
• OPERACIONES BASICAS EN UN ARCHIVO INDIZADO:
• INDICE EN MEMORIA: BUSQUEDA BINARIA + RAPIDA, COMPARADA CON
ARCHIVOS CLASIFICADOS.
• CREAR LOS ARCHIVOS: EL INDICE Y EL ARCHIVO DE DATOS SE CREAN
VACIOS, SOLO CON REGISTRO CABECERA.
• CARGAR EL INDICE EN MEMORIA: SE SUPONE QUE CABE, YA QUE ES LO
SUFICIENTEMENTE PEQUEÑO. SE ALMACENA EN UN ARREGLO.
• AGREGAR NUEVOS REGISTROS: IMPLICA AL AGREGAR AL ARCHIVO DE
DATOS Y AL ARCHIVO DE INDICESS. EN EL ARCHIVO DE DATOS,LO COPIA AL
FINAL, SE DEBE SABER EL NRR (EN FIJA) O LA DISTANCIA EN BYTES (EN
VARIABLE) PARA EL INDICE. EL INDICE SE ORDENA CON CADA NUEVO
ELEMENTO EN FORMA CANÓNICA (EN MEMORIA), SETEA EL FLAG ANTERIOR.
• ELIMINAR UN REGISTRO: EN EL ARCHIVO DE DATOS, SE UTILIZA
CUALQUIERA DE LAS TECNICAS VISTAS PARA REUTILIZAR EL ESPACIO. EN EL
ARCHIVO DE INDICES, O SE BORRA LA ENTRADA O SE MARCA COMO
BORRADO.
• REESCRITURA DEL ARCHIVO DE INDICE: UNO DE LOS CAMBIOS
POSIBLES PUEDE SER CAMBIAR UN FLAG EN EL REGISTRO CABECERA
CUANDO LA COPIA DEL INDICE ESTA EN MEMORIA PRINCIPAL, TODOS LOS
PROGRAMAS DEBERIAN REVISAR EL FLAG ANTES DE UTILIZARLO. SI EL FLAG
ESTA ACTIVO, EL PROGRAMA SABRA QUE EL INDICE NO ESTA ACTUALIZADO.
SI UN PROGRAMA DETECTA EL INDICE DESACTUALIZADO, SE DEBE ACCEDER
A UN PROCEDIMIENTO PARA SU RECONSTRUCCION.
• ACTUALIZACION DE REGISTROS: SI ESTA OPERACION SE REALIZARA SIN
MODIFICAR LA CLAVE, SI EL REGISTRO NO CAMBIA DE LONGITUD, SE
ALMACENA EN LA MISMA POSICION FISICA Y EL INDICE NO SE TOCA. SI EN
CAMBIO EL REGISTRO CAMBIA DE LONGITUD (Y SE AGRANDA), SE REUBICA
EN EL ARCHIVO DE DATOS Y POR LO TAMNTO SE DEBE GUARDAR EN EL
INDICE LA NUEVA POSICION. EN CAMBIO SI LA ACCION SE REALIZARA PARA
MODIFICAR LA CLAVE, SIGNIFICARIA QUE HUBO UN CAMBIO EN EL ARCHIVO
DE DATOS E IMPLICARIA REORGANIZAR EL ARCHIVO DE INDICES (EL NUEVO
VALOR QUIZA HAYA DEJADO LA ESTRUCTURA DESORDENADA).
• LAS VENTAJAS DE USAR INDICES SON QUE SE ALMACENAN EN MEMORIA
PRINCIPAL, PERMITE LA BUSQUEDA BINARIA Y EL MANTENIMIENTO ES MENOS
COSTOSO.
• INDICES GRANDES PARA ENTRAR EN MEMORIA:
• ACCESO Y MANTENIMIENTO DEL INDICE: ALMACEN SECUNDARIO
VENTAJAS:
• POSIBILITA LA BUSQUEDA BINARIA EN UN ARCHIVO CON
REGISTROS DE LONGITUD VARIABLE.
• LA REORGANIZACION Y EL MANTENIMIENTO ES MENOS
COSTOSO QUE HACER ESTAS TAREAS SOBRE EL ARCHIVO DE
DATOS DIRECTAMENTE (SIGUE SIENDO MAS PEQUEÑOS QUE EL
ARCHIVO DE DATOS)
DESVENTAJAS:
• EL NUMERO DE DESPLAZAMIETOS (PARA BUSQUEDA
BINARIA EN DISCO)
• REACOMODO DEL INDICE DEBIDO A LA ADICION O
BORRADO DE REGISTROS.
• SOLUCIONES:
ORGANIZACION POR DISPERSION (HASHING), PRIORIZA LA
VELOCIDAD DE ACCESO
USO DE ARBOLES
NIVELES DE INDICES: INDICES DE INDICES: PERMITEN
ALMACENAR INDICES MAS GRANDES.
INDICES SECUNDARIOS:
• NO SERIA NATURAL SOLICITAR UN DATO POR CLAVE
• EN SU LUGAR SE USA UN CAMPO MAS FACIL DE RECORDAR (EJ BUSCAR UNA
CACION POR TITULO O POR COMPOSITOR)
• ESTE CAMPO ES UN CAMPO QUE PERTENECE A UNA CLAVE SECUNDARIA CON LA
LLAVE PRIMAIA
• LAS CLAVES SECUNDARIAS SE PUEDEN REPETIR.
• ACCESO PRIMERO POR LA CLAVE SECUNDARIA (SE OBTIENE LA CLAVE
PRIMARIA) Y LUEGO POR LA LLAVE PRIMARIA (EN EL INDICE PRIMARIO)
• OPERACIONES:
• ELIMINACION DE REGISTROS: ASI EL INDICE PRIMARIO SIRVE COMO UNA
ESPECIE DE BUFFER DE PROTECCION QUE AISLA LOS INDICES SECUNDARIOS
DE LOS CAMBIOS DEL ARCHIVO DE DATOS.
BENEFICIO: NO HAY REACOMODO POR CADA BORRADO.
COSTO: SE SIGUE OCUPANDO ESPACIO. ESTO NO IMPLICA
PROBLEMA SI EL ARCHIVO ES POCO VOLATIL, PORQUE EN CAMBIO, SI
LO ES MUY VOLATIL, SE PODRIAN PROGRAMAR BORRADOS FISICOS DE
LOS INDICES SECUNDARIOS.
SI EL INDICE SECUNDARIO REFERENCIA DIRECTAMENTE AL ARCHIVO DE
DATOS, UN REACOMODAMIENTO FISICO IMPLICARIA REACOMODAR EL
INDICE PRIMARIO Y EN ESTE CASO SECUNDARIOS TAMBIEN (PUEDEN SER
VARIOS)
• ACTUALIZACION: SI LO QUE CAMBIA ES LA LLAVE SECUNDARIA, SE DEBE
REACOMODAR EL INDICE SECUNDARIO Y PUEDE SER RELATIVAMENTE
COSTOSO. EN CAMBIO, SI LO QUE CAMBIA ES LA LLAVE PRIMARIA, IMPLICA
QUE SE CAMBIE LA REFERENCIA EN EL REGISTRO DE INDICE SECUNDARIO, Y
EN EL CASO QUE EXISTAN REGISTROS REPETIDOS, SE DEBERA
RECLASIFICAR LOCALMENTE EN EL INDICE SECUNDARIO.
• CONSULTA: MEJORA EN GRAN MEDIDA EL TIEMPO DE RESPUESTAS.
• EL PROBLEMA QUE IMPLICA LA REPETICION DE INFORMACION. EL ARCHIVO DE
INDICES SE DEBE REACOMODAR CON CADA ADICION, AUNQUE SE INGRESE UNA
CLAVE SECUNDARIA YA EXISTENTE, DADO QUE EXISTE UN SEGUNDO ORDEN POR
LA CLAVE PRIMARIA. MISMA CLAVE, VARIAS OCURRENCIAS, EN DISTINTOS
REGISTROS HACE QUE SE DESPERDICIE ESPACIO Y HAY MENOR POSIBILIDAD QUE
EL INDICE QUEPA EN MEMORIA.
SOLUCIONES:
• ARREGLO: CLAVE+ VECTOR DE PUNTEROS CON OCURRENCIAS.
AL AGREGAR UN NUEVO REGISTRO DE UNA CLAVE EXISTENTE NO
SE DEBE REACOMODAR NADA, SOLO REACOMODA EL VECTOR DE
OCURRENCIAS.
AL AGREGAR UN NUEVO REGISTRO DE UNA CLAVE NUEVA, SE
GENERA UN ARREGLO CON LA CLAVE Y UN ELEMENTO EN EL VECTOR
DE PUNTEROS.
PROBLEMA, LA ELECCION DEL TAMAÑO DEL VECTOR.
• TAMAÑO FIJO
• PUEDE HABER CASOS EN QUE SEA INSUFICIENTE.
• PUEDE HABER CASOS EN QUE SOBRE ESPACIO,
PROVOCANDO FRAGMENTACION INTERNA.
• MEJORA: CLAVE + LISTA DE PUNTEROS CON OCURRENCIAS
LISTAS INVERTIDAS: ARCHIVOS EN LOS QUE UNA CLAVE SECUNDARIA LLEVA A UN
CONJUNTO DE UNA O MAS CLAVES PRIMARIAS, ES UNA LISTA DE REFERENCIAS DE
CLAVES PRIMARIAS. DE ESTA FORMA NO SE PIERDE EL ESPACIO (YA QUE NO HAY
RESERVAS) Y SI SE AGREGA UN ELEMENTO A LA LISTA, NO ES NECESARIA UNA
REORGANIZACION COMPLETA.
• ORGANIZACION FISICA:
• ARCHIVOS SECUNDARIOS
• MARCAS O REFERENCIAS
• OPERACIONES:
• AGREGAR UN NUEVO CONSISTE EN AGREGAR CONCURRENCIAS EN LA
LISTA INVERTIDA.
• IDEM BORRAR
• MODIFICACIONES DEPENDIENDO EL CASO.
• VENTAJAS:
• EL UNICO REACOMODAMIENTO EN EL ARCHIVO INDICE SE PRODUCE AL
AGREGAR O CAMBIAR UN NOMBRE, AUNQUE IGUALMENTE ES MENOS
COSTOSO, YA QUE EL INDICE ES MAS PEQUEÑO.
• BORRAR O AÑADIR GRABACIONES PARA UN COMPOSITOR, SOLO IMPLICA
CAMBIAR EL ARCHIVO DE LISTAS
• COMO EL REACOMODAMIENTO ES A BAJO COSTO, SE PDRIA ALMACENAR
EL ARCHIVO INDICE EN MEMORIA SECUNDARIA, LIBERANDO RAM
• DESVENTAJA:
• EL ARCHIVO DE LISTAS ES CONVENIENTE QUE ESTE EN MEMORIA
PRINCIPAL, PORQUE PODRIA HABER MUCHOS DESPLAZAMIENTOS EN DISCO
Y ES COSTOSO SI HAY MUCHOS INDICES SECUNDARIOS.
ARBOLES
LOS PROBLEMAS DE USAR INDICES SON QUE A INDICES GRANDES, DEBE IRSE A
MEMORIA SECUNDARIA Y EL ACCESO ES LENTO, EN EL CASO DE UNA BUSQUEDA
BINARIA, SE REQUIEREN DEMASIADOS DESPLAZAMIENTOS Y ADEMAS ES
NECESARIO UN METODO PARA MANTENER LOS INDICES ORDENADOS.
• ARBOLES BINARIOS
O ARBOL GRADO 2
O CADA NODO TIENE DE 0 A 2 DESCENDIENTES DIRECTOS (HIJO
IZQUIERDO Y DERECHO)
O APLICACION: EXPRESIONES ARITMETICAS, ARBOLES DE DECISION,
BUSQUEDA ABB
O EN ALGUNOS CASOS SE EXIGE QUE EL ARBOL SEA COMPLETO, ES DECIR
QUE TODO NODO INTERNO TENGA SUS DOS DESCENDIENTES.
O COMO SE ALMACENA?
• ARCHIVO CON REGISTRO DE LONGITUD FIJA
• LA INFORMACION EN EL ARCHIVO NO ESTA FISICAMENTE
ORDENADA
O INSERCION
• SOLO LIGAR AL NODO APROPIADO (NO REORGANIZAR)
• SE VA BUSCANDO EN PROFUNDIDAD HASTA DONDE DEBA
INSERTARSE COMPARANDO A IZQ Y DERECHA EN QUE LUGAR QUEDA
BIEN ORDENADO.
O ARBOL BALANCEADO: SI LA ALTURA DE LA TRAYECTORIA MAS CORTA
HACIA UNA HOJA NO DIFIERE DE LA TRAYECTORIA DE LA ALTURA MAS
GRANDE.
O INCONVENIENTE, LOS ARBOLES BINARIOS, SE DESBALANCEAN MUY
FACILMENTE, LAS BUSQUEDAS PUEDEN SER COSTOSAS. L A SOLUCION ES
QUE SE VAYA ORDENANDO A MEDIDA QUE RECIBE LAS CLAVES.
• ARBOLES AVL
O ARBOL BINARIO BALANCEADO EN ALTURA. L A DIFERENCIA MAXIMA DE
ALTURA ENTRE CUALQUIERA DE DOS SUBARBOLES QUE COMPARTEN LA RAIZ
ES 1.
• SE LLAMA ARBOL BALANCEADO EN ALTURA O ARBOL BA(1).
• LAS INSERCIONES Y ELIMINACIONES SE EFECTUAN CON UN
MINIMO DE ACCESO.
• MIEMBRO DE UNA CLASE MAS GENERAL DE ARBOLES
BALANCEADOS EN ALTURA BA(K): DONDE LA MAXIMA DIFERENCIA DE
ALTURA ES K.
• GARANTIZAN UN CIERTO NIVEL MINIMO DE DESEMPEÑO DE
BUSQUEDA.
• LA ESTRUCTURA DEBE SER RESPETADA, AL INSERTAR NUEVOS
NODOS, SE REALIZAN ROTACIONES RESTRINGIDAS EN UN AREA LOCAL
DEL ARBOL.
• COMO SON ARBOLES BINARIOS, CON MUCHOS NIVELES, SON MUY
PROFUNDOS.
• EN UN ARBOL BINARIO COMPLETAMENTE BALANCEADO EL PEOR
CASO DE BUSQUEDA PARA ENCONTRAR UNA CLAVE (CONSIDERANDO N
CLAVES POSIBLES) BUSCA EN LOG2(N+1) NIVELES DEL ARBOL.
• EN UN ARBOL AVL, EL PEOR CASO DE BUSQUEDA PODRIA
BUSCAR EN 1.44 LOG2(N+2) NIVELES DEL ARBOL.
• PARA 1.000.000 DE CLAVES, UN COMPLETAMENTE BALANCEADO
REQUIERE DESPLAZAMIENTO DE 20 NIVELES.
• EN UN ARBOL AVL EL NUM MAXIMO DE NIVELES A BUSCAR ES 28.
• ESTO ES BUENO PARA ALMACENAR EN MEMORIA PRINCIPAL.
• EN ALMACENAMIENTO SECUNDARIO ES DESEABLE A LO SUMO 5 O
6 DESPLAZAMIENTOS, 20 O 28 ES INACEPTABLE.
• VOLVIENDO A LOS DOS PROBLEMAS INICIALES,
LA BUSQUEDA BINARIA REQUIERE DEMASIADOS
DESPLAZAMIENTOS
MANTENER UN INDICE EN ORDEN ES COSTOSO:
• ARBOLES B
O HASTA AHORA UNO DE LOS PROBLEMAS ERA LA ELECCION DE LA RAIZ
DEL ARBOL Y EL OTRO ERA MANTENERLO SIEMPRE BALANCEADO. LOS
ARBOLES B, SON CONSTRUIDOS DESDE LA BASE HACIA ARRIBA, LA RAIZ
EMERGE CON LA CONSTRUCCION.
O ARBOLES B BALANCEADOS. SON ARBOLES MULTICAMINO CON UNA
CONSTRUCCION ESPECIAL EN FORMA ASCENDENTE QUE PERMITE
MANTENERLO BALANCEADO A BAJO COSTO.
O PROPIEDADES DE UN ARBOL B DE ORDEN M:
• ORDEN: CANTIDAD MAXIMA DE PUNTEROS POR NODO
• CANTIDAD DE PUNTEROS ES IGUAL A LA CANTIDAD DE CLAVES +
1.
• NINGUN NODO TIENE MAS DE M HIJOS.
• CADA NODO (MENOS LA RAIZ Y LOS TERMINALES) TIENEN COMO
MINIMO M/2 HIJOS.
• LA RAIZ TIENE COMO MINIMO DOS HIJOS O NINGUNO.
• TODOS LOS NODOS TERMINALES ESTAN A IGUAL NIVEL
• NODOS NO TERMINALES NO K HIJOS CONTIENEN K-1 NODOS. LOS
NODOS TERMINALES TIENEN COMO MINIMO M/2 - 1 NODOS Y COMO
MAXIMO M-1 NODOS.
O ESTRUCTURA:
• ARCHIVO CON REGISTROS DE LONGITUD FIJA
• CADA REGISTRO TIENE UNA PAGINA O NODO
• EN PASCAL SERIA:
PAGINAAB = RECORD
CANT_CLAVES: INTEGER;
CLAVES: ARRAY[1..MAXLLAVES] OF CHAR;
HIJOS: ARRAY[1.MAXHIJOS] OF INTEGER;
END
O DEFINICION DE NODO ADYACENTE HERMANO: DOS NODOS SON
ADYACENTES HERMANOS SI TIENEN EL MISMO PADRE Y SON APUNTADOS POR
PUNTEROS ADYACENTES EN EL PADRE.
O OPERACIONES
• BUSQUEDA: COMIENZA BUSCANDO LA CLAVE EN EL NODO
ACTUAL, SI NO LA LOCALIZA, TOMA EL PUNTERO CORRESPONDIENTE
ENTRE LAS CLAVES EXISTENTES. SI NO ES PUNTERO NULO, SE TOMA ESE
NODO Y SE LLAMA RECURSIVAMENTE. SI ES UN PUNTERO NULO, EL
ELEMENTO NO SE ENCUENTRA EN EL ARBOL.
• INSERCION (CREACION): COMIENZA CON UNA BUSQUEDA QUE
LLEGA HASTA EL NIVEL HOJA, DESPUES DE ENCONTRAR EL LUGAR DE
INSERCION EN EL NIVEL HOJA, HACE EL TRABAJO DE INSERCION,
DIVISION Y PROMOCION CONTINUA EN FORMA ASCENDENTE DESDE
ABAJO. SI EL REGISTRO TIENE LUGAR EN EL NODO HJA ( O TERMINAL) SE
INSERTA. SI EN CAMBIO NO TUVIESE LUGAR, PRODUCE OVERFLOW, EL
NODO SE DIVIDE, SE REPARTEN LOS ELEMENTOS Y SE PRODUCE UNA
PROMOCION A UN NIVEL SUPERIOR, GENERANDOSE UNA NUEVA RAIZ.
• ELIMINACION. EL MEJOR CASO ES CUANDO EL BORRADO DE UN
ITEM NO PRODUCE UN UNDERFLOW, EN ESE CASO SOLO SE
REACOMODAN LOS NODOS INTERNAMENTE, EN CAMBIO EN EL PEOR
CASO, SE PRODUCE UN UNDERFLOW QUE IMPLICA QUE SE TENGA QUE
RECURRIR A DOS POSIBLES SOLUCIONES:
REDISTRIBUCION: SE TRANSLADAN LAS CLAVES A UN
NODO ADYACENTE HERMANO (EN CASO QUE ESTE TENGA
SUFICIENTE ESPACIO)
CONCATENACION: SI UN NODO ADYACENTE HERMANO
ESTA AL MINIMO, NO TIENE ESPACIO Y NO SE PUEDE REDISTRIBUIR,
SE CONCATENA CON UN NODO ADYACENTE DISMINUYENDO EL
NUMERO DE NODOS, Y EN ALGUNOS CASOS LA ALTURA DEL
ARBOL.
O LA REDISTRIBUCION PODRIA POSPONER LA CREACION DE PAGINAS
NUEVAS, PUEDEN CREARSE ARBOLES MAS EFICIENTES EN TERMINOS DE
UTILIZACION DE ESPACIO.
• ARBOLES B* (B ESTRELLA, B ASTERISCO O B ESPECIAL)
O LA CONDICION QUE LO DISTINGUE DEL B ES QUE CADA NODO (EXCEPTO
LA RAIZ) ESTA LLENO POR LO MENOS EN 2/3 PARTES
O PROPIEDADES (ARBOL ORDEN M)
• CADA PAGINA TIENE COMO MAXIMO M DESCENDIENTES
• CADA PAGINA, MENOS LA RAIZ Y LAS HOJAS, TIENEN AL MENSO
[(2M-1)/3] DESCENDIENTES
• LA RAIZ TIENE COMO MINIMO DOS HIJOS O NINGUNO.
• TODAS LAS PAGINAS QUE NO SON HOJA, SI TIENE K
DESCENDIENTES CONTIENE K-1 CLAVES.
• UNA PAGINA HOJA CONTIENE POR LO MENOS [(2M-1)/3]-1 CLAVES
Y NO MAS DE M-1.
O OPERACIONES:
• BUSQUEDA Y BORRADO SIMILAR A ARBOL B
• INSERCION. (DIVISION E INCORPORA REDISTRIBUCION)
TRES CASOS POSIBLES:
• DERECHA: REDISTRIBUIR CON NODO ADYACENTE
HERMANO DE LA DERECHA ( O IZQUIERDA SI ES EL ULTIMO)
• IZQUIERDA O DERECHA: SI EL NODO DE LA
DERECHA ESTA LLENO O NO SE PUEDE REDISTRIBUIR, SE
BUSCA EL DE LA IZQUIERDA.
• IZQUIERDA Y DERECHA: BUSCA LLENAR LOS TRES
NODOS, ESTOS TENDRAN UN 2/3 PARTE LLENA.
• MANEJO DE PAGINAS EN BUFFERS
O EL OBJETIVO ES MINIMIZAR EL NUMERO DE ACCESOS A DISCO
O TRANSFERIR LA RAIZ A RAM AHORRA UN ACCESO ASEGURADO.
O ALMACENAR LA RAIZ Y LAS PAGINAS SOLICITADAS EN UN BUFFER DE
PAGINAS EN RAM
O TECNICAS DE PAGINADO: ESTRATEGIAS DE REEMPLAZO LRU (LEAST
RECENTLY USED)
• ARBOLES +
O ARCHIVOS SECUENCIALES INDIZADOS
• PERMITEN UNA MEJOR RECORRIDA POR ALGUN TIPO DE ORDEN.
• INDIZADO (ORDENADO POR ALGUNA CLAVE)
• SECUENCIAL (ACCEDE SECUENCIALMENTE AL ARCHIVO
DEVOLVIENDO LOS REGISTROS EN ORDEN DE LA CLAVE)
• HASTA AHORA DE LOS METODOS DISJUNTOS SE OPTA POR
RECUPERACION RAPIDA (ARBOL) Y RECUPERACION ORDENADA
(SECUENCIAL) PERO SE DEBE ENCONTRAR UNA SOLUCION QUE AGRUPE
AMBOS CASOS.
O LOS ARBOLES B+ SON UNA MEJORA SOBRE LOS ARBOLES B EN LOS QUE
SE CONSERVA LA PROPIEDAD DE ACCESO ALEATORIO RAPIDO PERO
PERMITIENDO UN RECORRIDO SECUENCIAL RAPIDO.
O EL ARBOL ESTA COMPUESTO POR DOS PARTES:
• INDICES (NODOS INTERIORES)
• SECUENCIA: PAGINAS HOJAS ENLAZADAS SECUENCIALMENTE EN
LAS QUE SE REPITEN LAS CLAVES ANTERIORES.
O TODAS LAS CLAVES SE ENCUENTRAN EN LAS HOJAS, DUPLICANDOSE EN
LA RAIZ Y NODOS INTERIORES, AQUELLAS NECESARIAS PARA DEFINIR LOS
CAMINOS DE LAS BUSQUEDAS)
O LAS HOJAS ESTAN VINCULADAS ENTRE SI, OBTENIENDOSE DE ESE MODO
UNA TRAYECTORIA SECUENCIAL PARA RECORRER LAS CLAVES DEL ARBOL.
O OCUPAN MAS ESPACIO QUE LOS ARBOLES B, YA QUE ALGUNAS CLAVES
SE ENCUENTRAN MAS DE UNA VEZ EN EL ARBOL.
O LAS CLAVES DE LA PAGINA RAIZ E INTERIORES SON USADAS
UNICAMENTE COMO INDICE PARA LAS BUSQUEDAS.
O PROPIEDADES:
• CADA PAGINA TIENE MAXIMO M DESCENDIENTES
• CADA PAGINA TIENE, MENOS LA RAIZ Y LAS HOJAS, ENTRE [M/2] Y
M HIJOS.
• LA RAIZ TIENE AL MENOS DOS DESCENDIENTES (O NINGUNO)
• TODAS LAS HOJAS APARECEN EN NIVEL IGUAL.
• UNA PAGINAQUE NO SEA HOJA, SI TIENE K DESCENDIENTES,
CONTIENE K-1 CLAVES.
• LOS NODOS TERMINALES REPRESENTAN UN CONJUNTO DE DATOS
Y SON LINKEADOS JUNTOS.
• LOS NODOS NO TERMINALES NO CONTIENEN DATOS, SINO
PUNTEROS A LOS DATOS (EN LAS HOJAS)
O OPERACIONES:
• BUSQUEDA: LA BUSQUEDA NO DEBE DETENERSE CUANDO SE
ENCUENTRE LA CLAVE EN LA RAIZ O NODO INTERIOR, SINO QUE DEBE
SEGUIR EN LA PAGINA APUNTADA POR LA RAMA DERECHA DE DICHA
CLAVE.
• INSERCION: EL PROCESO DE INSERCION ES SIMILAR A DE LOS
ARBOLES B, EXCEPTO CUANDO SE QUIERE INSERTAR UNA CLAVE EN
DONDE LA PAGINA SE ENCUENTRA LLENA, EN TAL CASO, ESTA SE DIVIDE
TAMBIEN EN OTRAS DOS, PERO AHORA LA PRIMERA CONTENDRA M/2
CLAVES Y LA SEGUNDA 1+M/2 Y LO QUE SUBIRA AL PADRE SERA UNA
COPIA DE LA CLAVE CENTRAL.
• ELIMINACION: ESTE PROCESO ES MAS SIMPLE QUE EN LOS
ARBOLES B PORQUE TODAS LAS CLAVES SE ENCUENTRAN EN LAS
HOJAS. SI AL ELIMINAR LA CLAVE, LA CANTIDAD DE CLAVES ES MAYOR O
IGUAL A M/2, EL PROCESO CONCLUYE (LAS CLAVES DE LA RAIZ O ODOS
INTERNOS NO SE MODIFICAN PORQUE SIGUEN SIENDO UN SEPARADOR
VALIDO ENTRE LAS CLAVES DE LAS PAGINAS DESCENDIENTES) PERO SI
AL ELIMINAR LA CLAVE, LA CANTIDAD DE CLAVES QUEDA MENOR A M/2,
ES NECESARIA UNA FUSION Y REDISTRIBUCION DE LAS MISMAS EN LA
HOJA Y EN LOS INDICES.
HASHING (DISPERSION)
HASHING
• DEFINICIONES
O TECNICA PARA GENERAR UNA DIRECCION BASE UNICA PARA UNA CLAVE
DADA. LA DISPERSION SE USA CUANDO SE REQUIERE ACCESO RAPIDO A UNA
CLAVE.
O TECNICA QUE CONVIERTE LA CLAVE DEL REGISTRO EN UN NUMERO
ALEATORIO, EL QUE SIRVE DESPUES PARA DETERMINAR DONDE SE
ALMACENA EL REGISTRO.
O TECNICA DE ALMACENAMIENTO Y RECUPERACION QUE USA UNA
FUNCION DE HASH PARA MAPEAR REGISTROS EN DIRECCION DE
ALMACENAMIENTO
• ATRIBUTOS:
O NO REQUIERE ALMACENAMIENTO ADICIONAL (INDICE)
O FACILITA LA INSERCION Y ELIMINACION RAPIDA DE REGISTROS
O ENCUENTRA REGISTROS CON MUY POCOS ACCESOS AL DISCO EN
PROMEDIO (GENERALMENTE, MENOS DE DOS)
• COSTO
O NO SE PUEDE USAR REGISTROS DE LONGITUD VARIABLE
O NO HAY ORDEN FISICO DE DATOS
O NO SE PERMITEN CLAVES DUPLICADAS
• PARA DETERMINAR UNA DIRECCION
O LA CLAVE SE CONVIERTE EN UN NUMERO CASI ALEATORIO
O EL NUMERO SE CONVIERTE EN UNA DIRECCION EN MEMORIA
O EL REGISTRO SE GUARDA EN ESA DIRECCION
O SI LA DIRECCION ESTA OCUPADA, HAY OVERFLOW Y SE TRATA DE UNA
FORMA ESPECIAL
• PARAMETROS QUE AFECTAN LA EFICIENCIA
O TAMAÑO DEL ESPACIO DE ALMACENAMIENTO
O DENSIDAD DELEMPAQUETAMIENTO
O FUNCION DE HASH
O METODO DE TRATAMIENTO DE DESBORDES
• FUNCION DE HASH
O CAJA NEGRA QUE A PARTIR DE UNA CLASE SE OBTIENE LA DIRECCION
DONDE DEBE ESTAR EL REGISTRO
O DIFERENCIA CON INDICES:
• DISPERSION: NO HAY RELACION APARENTE ENTRE CLAVE Y
DIRECCION
• DOS CLAVES DISTINTAS PUEDEN TRANSFORMARSE EN IGUALES
DIRECCIONES (COLISIONES), EN ESE CASO SON CLAVES SINONIMOS.
O COLISION:
• SITUACION EN LA QUE UN REGISTRO ES ASIGNADO A UNA
DIRECCION YA OCUPADA (NO TIENE SUFICIENTE ESPACIO PARA SER
ALMACENADO)
• A LAS CLAVES QUE POR DISPERSION SE CONVIERTEN EN LA
MISMA DIRECCION, SE LAS LLAMA SINONIMOS
• SE PRESENTAN COMO SOLUCIONES POR EJEMPLO, ALGORITMOS
DE DISPERSION SIN COLISIONES (PERFECTOS) QUE SON IMPOSIBLES DE
CONSEGUIR, O EL ALMACENAMIENTO DE LOS REGISTROS DE ALGUNA
FORMA DIFERENTE, ESPARCIR…
O SOLUCIONES PARA COLICIONES:
• ESPARCIR REGISTROS: BUSCAR METODOS QUE DISTRIBUYAN LOS
REGISTROS DE LA FORMA MAS ALEATORIA POSIBLE ENTRE LAS
DIRECCIONES DISPONIBLES.
• USAR MEMORIA ADICIONAL: DISTRIBUIR POCOS REGISTROS EN
MUCHAS DIRECCIONES PUEDE DISMINUIR LAS CHANCES DE OVERFLOW,
PERO DESPERDICIA MUCHO ESPACIO
• COLOCAR MAS DE UN REGISTRO POR DIRECCION:
DIRECCIONES CON N CLAVES.
MEJORAS NOTABLES
LAS DIRECCIONES QUE PUEDEN ALMACENAR VARIOS
REGISTROS EN ESTA FORMA SON COMPARTIMENTOS.
O ALGORITMOS SIMPLES PARA DISPERSION:
• CONDICIONES:
REPARTIR REGISTROS EN FORMA UNIFORME EN EL
ESPACIO DE DIRECCIONES DISPONIBLE.
ALEATORIA (LAS CLAVES OSN INDEPENDIENTES, NO
INFLUYEN UNA SOBRE LA OTRA)
• TRES PASOS:
REPRESENTAR LA LLAVE EN FORMA NUMERICA (EN CASO
QUE NO LO SEA)
APLICAR FUNCION
RELACIONAR EL NUMERO RESULTANTE CON EL ESPACIO
DISPONIBLE
O FUNCIONES DE DISPERSION
• CENTROS CUADRADOS: LA CLAVE SE MULTIPLICA POR SI MISMA Y
TOMANDO LOS DIGITOS CENTRALES AL CUADRADO, POSTERIORMENTE
SE AJUSTA AL ESPACIO DISPONIBLE
• DIVISION: LA CLAVE SE DIVIDE POR UN NUMERO
APROXIMADAMENTE IGUAL AL NUMERO DE DIRECCIONES (NUMERO
PRIMO, PUES TIENDE A DISTRIBUIR LOS RESIDUOS EN FORMA MAS
EFICIENTE)
• DESPLAZAMIENTO: LOS DIGITOS EXTERNOS DE AMBOS
EXTREMOS SE CORREN HACIA ADENTRO, SE SUMAN Y SE AJUSTA AL
ESPACIO DISPONIBLE.
• PLEGADO: LOS DIGITOS EXTERNOS SE PLIEGAN, SUMAN Y
ADAPTAN AL ESPACIO DE DIRECCIONES.
• ANALISIS DE DIGITOS: SE ANALIZAN LAS CLAVES PARA ELIMINAR
POSIBLES REPETICIONES EN LA MISMA
• CONVERSION DE RAIZ: LA BASE DEL NUMERO SE MODIFICA Y EN
LA SERIE DE DIGITOS RESULTANTE SE SUPRIMEN LOS DIGITOS DE
ORDEN MAYOR. EJ PARA DIRECCIONES 0-99, SE INGRESA LA CLAVE 453,
BASE11(453)=382, 382 MOD 99 = 85
• DIVISION POLINOMINCA: CADA DIGITO CLAVE SE TOMA COMO
COEFICIENTE DE POLINOMIO, SE DIVIDE POR POLINOMIO FIJO, EL
COEFICIENTE DEL RESTO SE TOMA COMO DIRECCION.
O LA MEJOR FORMA DE ESCOGER CUAL USAR ES TOMAR ALGUNAS CLAVES
Y APLICARLA A LOS DIFERENTES ALGORITMOS Y LUEGO ELEGIR EL QUE SE
COMPORTE DE MEJOR MANERA. POR LO GENERAL LOS QUE MEJOR SE
COMPORTAN SON EL DE DIVISION, O EN CASO DE LAS CLAVES MAS LARGAS
EL DE PLEGADO.
O TAMAÑO DE LOS COMPARTIMIENTOS DE MEMORIA:
• PUEDEN TENER MAS DE UN REGISTRO
• A MAYOR TAMAÑO
MENOR COLISION
MAYOR FRAGMENTACION
BUSQUEDA MAS LENTA DENTRO DEL COMPARTIMIENTO.
• ES NECESARIO DECIDIR CUANTO ESPACIO SE ESTA DISPUESTO A
DESPERDICIAR PARA REDUCIR EL NUMERO DE COLISIONES. ES
DESEABLE TENER EL MENOR NUMERO DE COLISIONES POSIBLE PERO NO
A EXPENSAS, POR EJEMPLO DE QUE UN ARCHIVO USE DOS DISCOS EN
LUGAR DE UNO…
O DENSIDAD DE EMPAQUETAMIENTO: PROPORCION DE ESPACIO DEL
ARCHIVO ASIGNADO QUE EN REALIDAD ALMACENA REGISTROS.
DE = NUMERO DE REGISTROS EN ARCHIVO / CAPACIDAD TOTAL
ES LA MEDIDA DE LA CANTIDAD DE ESPACIO QUE SE USA EN EL ARCHIVO.
NO IMPORTA EL TAMAÑO REAL DEL ARCHIVO NI SU ESPACIO DE
DIRECCIONES. LO IMPORTANTE SON LOS TAMAÑOS RELATIVOS DE LOS DOS,
QUE ESTAN DADOS POR LA DENSIDAD DE EMPAQUETAMIENTO.
A MENOR DENSIDAD, TENDREMOS MENOS OVERFLOW, PERO MAYOR
DESPERDICIO DE ESPACIO.
O ESTIMACION DEL OVERFLOW:
• SEAN LOS SIGUIENTES DATOS:
N: NUMERO DE COMPARTIMENTOS; C: CAPACIDAD DE LOS
COMPARTIMENTOS; K: NUMERO DE REGISTROS EN EL ARCH.
DE = K / (C * N)
PROBABILIDAD DE QUE UN COMPARTIMENTO RECIBA Y REGISTROS
ESTA DEFINIDA POR UNA DISTRIBUCION DE PROBABILIDADES DE
POISSON DE Y
O EN CONCLUSION, SI LA DE ES DEL 50% Y CADA DURECCION PUEDE
ALMACENAR SOLO UN REGISTRO, PUEDE ESPERARSE QUE EL 21% DE LOS
REGISTROS SEAN ALMACENADOS EN UN LUGAR QUE NO SEA SU DIRECCION
BASE.
O UNA POSIBLE SOLUCION ES QUE CADA COMPARTIMENTO GUARDE MAS
DE UN REGISTRO.
• EN ESTAS CONDICIONES, PODEMOS DEFINIR QUE SI H(K1)=H(K2),
K1 <> K2, (ANTES DEFINICION DE COLISION) AHORA DECIMOS QUE
AMBOS DATOS SE ALBERGAN EN UN MISMO COMPARTIMENTO.
• REDEFINIMOS COLISION COMO EL MOMENTO EN QUE UN
COMPARTIMENTO QUEDA LLENO.
• APLICANDO POISON, VEMOS QUE A MAS CAPACIDAD DE LOS
COMPARTIMENTOS (Y POR LO TANTO MENOS DIRECCIONES EN
MEMORIA), LA SATURACION DECRECE. ENTONCES, COMO SE DETERMINA
EL TAMAÑO DE LOS COMPARTIMENTOS; EN PRIMER LUGAR DEPENDE
DEL SO, DEL TAMAÑO DEL BUFFER Y EL TIEMPO DE ACCESO. PUEDE
SUCEDER QUE SI EL TAMAÑO DEL COMPARTIMENTO, ELTIEMPO DE
RECUPERACION SEA MUCHO MAS LENTO (Y YA DEJARIA DE SER O(1))
O METODOS DE TRATAMIENTO DE COLISIONES.
• SATURACION PROGRESIVA: CUANDO SE COMPLETA UNA
DIRECCION DE MEMORIA, SE BUSCA EN LAS SIGUIENTES DIRECCIONES
EN SECUENCIA HASTA ENCONTRAR UNA VACIA.
LA BUSQUEDA COMENZARIA EN LA DIRECCION BASE Y CONTINUA
BUSCANDO EN LOCALIDADES SUCESIVAS HASTA ENCONTRARLO, PUEDE
HABER CIRCULARIDAD. SI SE LLEGARA A ENCONTRAR UNA DIRECCION
VACIA SE PUEDE SUPONER QUE LA CLAVE BUSCADA NO ESTA EN EL
ARCHIVO O SI EL ARCHIVO ESTA LLENO, LA BUSQUEDA VUELVE A
DONDE COMENZO.
EN CASO DE LA ELIMINACION, NO DEBE PERMITIRSE QUE EL ESPACIO
LIBERADO POR LA ELIMINACION OBSTACULICE LAS BUSQUEDAS
POSTERIORES Y AL MISMO TIEMPO QUE DEBE SER POSIBLE UTILIZAR EL
ESPACIO LIBERADO PARA ADICIONES POSTERIORES, EL PROBLEMA ES
QUE LA BUSQUEDA FINALIZA AL ENCONTRAR UNA DIRECCION VACIA,
POR ESO NO ES CONVENIENTE DEJAR DIRECCIONES VACIAS, QUE
TERMINEN LA BUSQUEDA POR SATURACION EN FORMA INAPROPIADA. ES
POR ESTO QUE SE NECESITA LIBERAR EL ESPACIO MARCANDOLO
SOLAMENTE DE ALGUNA FORMA, DE ESTA FORMA, EL ESPACIO
LIBERADO NO ROMPE LA SECUENCIA DE BUSQUEDAS, EL ESPACIO
DISPONIBLE PUEDE SER UTILIZADO POR ADICIONES POSTERIORES Y EN
CASO DE QUE EL SIGUIENTE REGISTRO SIGUIENTE ESTE VACIO, NO
SERIA NECESARIO MARCARLO.
ESTE METODO TIENDE A AGRUPAR EN ZONAS CONTIGUAS… LAS
BUSQUEDAS LARGAS CON DE QUE TIENDEN A 1. LA SOLUCION SERIA
ALMACENAR LOS REGISTROS DE OVERFLOW EN ZONAS NO
RELACIONADAS. LA GRAN VENTAJA DE ESTE METODO ES LA GRAN
SIMPLICIDAD QUE TIENE.
• DISPERSION DOBLE: CUANDO SUCEDE UNA COLISION SE APLICA
UNA SEGUNDA FUNCION DE DISPERSION A LA CLAVE PARA PRODUCIR
UN NUMERO, EL CUAL SE SUMA A LA DIRECCION ORIGINAL TANTAS
VECES COMO SEA NECESARIO HASTA ENCONTRAR UNA DIRECCION
VACIA (CON ESPACIO). ENTRE SUS CARACTERISTICAS, SE EVITA EL
ACUMULAMIENTO, LOS REGISTROS NO QUEDAN "LOCALES" SINO QUE
TIENDEN A ESPARCIRSE EN EL ARCHIVO, AUMENTA EL T.A.P. A LOS
REGISTROS, SE DEBERIA CONSEGUIR COMPARTIMENTOS DE
SATURACION CON DIRECCION AL MISMO CILINDRO DE DISCO, YA QUE EL
CAMBIO DE CILINDRO REQUIERE UN COSTOSO MOVIMIENTO DE LA
CABEZA LECTORA/GRABADORA.
• SATURACION PROGRESIVA ENCADENADA: INTENTA EVITAR LOS
PROBLEMAS POR ACUMULACION DE REGISTROS. FUNCIONA IGUAL QUE
LA SATURACION PROGRESIVA, EXCEPTO QUE LAS CLAVES SINONIMOS SE
ENLAZAN POR APUNTADORES (NO OCUPANDO NECESARIAMENTE
POSICIONES CONTIGUAS), CADA DIRECCION BASE CONTIENE UN
NUMERO QUE INDICA EL LUGAR DEL SIGUIENTE REGISTRO CON LA
MISMA DIRECCION BASE, EL SIGUIENTE REGISTRO CONTIENE A LA VEZ
UN PUNTERO AL SIGUIENTE REGISTRO CON LA MISMA DIRECCION BASE
Y ASI SUCESIVAMENTE. SI BIEN MEJORA LA CANTIDAD DE ACCESOS A
LOS REGISTROS, DEBE AGREGARSE UN CAMPO DE ENLACE A CADA
REGISTRO, POR LO CUAL REQUIERE MAS ESPACIO DE
ALMACENAMIENTO.
• SATURACION PROGRESIVA CON ENCADENAMIENTO EN AREAS
SEPARADAS: AL CONJUNTO DE DIRECCIONES BASE SE LE LLAMA AREA
PRINCIPAL DE DATOS, AL CONJUNTO DE DIRECCIONES EN SATURACION
SE LA LLAMA AREA DE SATURACION. CUANDO SE AGREGA UN REGISTRO
NUEVO SI HAY LUGAR EN DIRECCION BASE SE ALMACENA AHI, SINO SE
MUEVE AL ARCHIVO DE SATURACION (EN UN AREA SEPARADA) DONDE
SE AGREGA A LA LISTA ENLAZADA QUE COMIENZA EN LA DIRECCION
BASE. SE MEJORA EL TRATAMIENTO DE INSERCIONES Y ELIMINACIONES.
SI EL AREA DE SATURACION SEPARADA ESTA EN UN CILINDRO
DIFERENTE AL DE LA DIRECCION BASE, TODA BUSQUEDA DE REGISTRO
EN SATURACION IMPLLICARA UN MOVIMIENTO DE CABEZA MUY
COSTOSO. CONVIENE QUE SE UTILICE CUANDO LA DE SEA MAYOR A
UNO, ES DECIR QUE HAYA MAS REGISTROS QUE LAS DIRECCIONES BASE.
• HASH ASISTIDO POR TABLA . ES UNA VARIANTE DEL
ENCADENAMIENTO. TIENE UNA TABLA EN MEMORIA CON UNA ENTRADA
POR CADA COMPARTIMENTO DEL ARCHIVO. SI BIEN LAS INSERCIONES
SON LENTAS, SE GANA VELOCIDAD EN LASRECUPERACIONES, LAS
CLAVES SE CONVIERTEN EN DOS ELEMENTOS, UNA PARA LA DIRECCION
DE LOS COMPARTIMENTOS Y LA OTR ES LA SECUENCA DE K-BITS. EN LA
TABLA, EL VALOR MAXIMO DE SECUENCIA QUE OBTUVO EN EL
COMPARTIMENTO (COMIENZA EN EL INFINITO).
ES UN BUEN METODO DE RECUPERACION, UN ACCESO, SIRVE CUANDO
SE RECUPERA MAS QUE LO QUE SE INSERTA. EN EL CASO DE LAS
INSERCIONES, SI HAY COMPARTIMENTO CON LUGAR, QUEDA EL
ELEMENTO. EN EL CASO QUE EL COMPARTIMENTO ESTE LLENO, SE HACE
LA LISTA DE INSERCION..
O PARA UNA TECNICA BUENA, NECESITAMOS UN NUMERO DE DIRECCIONES
FIJAS VIRTUALMENTE IMPOSIBLE.
O EL ARCHIVO SE LLENA POR LO TANTO SATURACION EXCESIVA, REQUIERE
REDISPERSAR, UNA NUEVA FUNCION Y MUCHOS CAMBIOS.
O LA SOLUCION SERIA REORGANIZARA LAS TABLAS SIN MOVER MUCHOS
REGISTROS. EXISTEN TECNICAS QUE ASUMEN BLOQUES FISICOS UE PUEDEN
UTILIZARSE O LIBERARSE.
O CADA TECNNICA TIEEN SOLUCIONES QUE DERIVAN EN NUEVOS
PROBLEMAS.
• PARTIR EL COMPARTIMENTO CUANDO SE LLENA
• REACOMODAR REGISTROS ENTRE COMPARTIMENTO VIEJO Y
NUEVO
• MINIMIZAR ACCESOS A COMPARTIMENTOS DURANTE LA
RECUPERACION
• BORRAR REGISTROS DEL ARCHIVOS
O ALTERNATIVAS: HASH VIRTUAL, DINAMICO U EXTENSIBLE. HASH
EXTENSIBLE: ADAPTA EL RESULTADO DE LA FUNCION DE HASH DE ACUERDO
AL NUMERO DE REGISTROS QUE TENGA EL ARCHIVO Y DE LOS
COMPARTIMENTOS NECESARIOS PARA SU ALMACENAMIENTO. LA FUNCION
GENERA UNA SECUENCIA DE BITS (NORMALMENTE 32) Y EVITA MANTENER
AREAS DE DESBORDAMIENTO Y HACER BUSQUEDAS CON DOS LECTURAS.
• COMO TRABAJA? SE UTILIZAN SOLO LOS BITS NECESARIOS DE
ACUERDO A CADA INSTANCIA DEL ARCHIVO. LOS BITS TOMADOS
FORMAN LA DIRECCION DEL COMPARTIMIENTO QUE SE UTILIZARA. SI SE
INTENTARA INSERTA A UN COMPARTIMENTO LLENO, DEBEN REUBICARSE
TODOS LOS REGISTROS ALLI CONTENIDOS ENTRE EL COMPARTIMENTO
VIEJO Y EL NUEVO. PARA ELLO SE TOMA UN BIT MAS. LA TABLA TENDRA
TANTAS ENTRADAS COMO 2^I SIENDO I EL NUMERO DE BITS ACTUALES
PARA EL SISTEMA.
MODELADO DE DATOS
• SISTEMA DE INFORMACION: CONJUNTO DE ACTIVIDADES QUE REGULAN LA
DISTRIBUCION Y COMPARTIMIENTO DE LA INFORMACION Y EL ALMACENAMIENTO
DE LOS DATOS RELEVANTES PARA SU ADMINISTRACION
• BASE DE DATOS: CUALQUIER CONJUNTO "GRANDE"DE DATOS
ESTRUCTURADOS, ALMACENADOS EN UNA COMPUTADORA
O ESCENCIALES PARA LA SUPERVIVENCIA DE LA ORGANIZACION
O LOS DATOS ESTRUCTURADOS CONSTITUYEN UN RECURSO ESENCIAL.
• DBMS: PAQUETE DE SOFTWARE PARA LA GESTION DE LA BD, ESPECIALMENTE
PARA ALMACENAR, MANIPULAR Y RECUPERA DATOS EN UN COMPUTADOR.
• ABSTRACCION: PROCESO MENTAL APLICADO AL SELECCIONAR ALGUNAS
CARACTERISTICAS DE UN CONJUNTO DE OBJETOS Y EXCLUIR OTRAS
• DISEÑO DE LA BD. TRES FASES
O DISEÑO CONCEPTUAL:
• REPRESENTACION ABSTRACTA
• PROPOSITO: DESCRIBIR EL CONTENIDO DE INFORMACION DE LA
BD, MAS QUE LAS ESTRUCTURAS DE ALMACENAMIENTO.
• ESQUEMA CONCEPTUAL: DESCRIPCION DE ALTO NIVEL DE LA
ESTRUCTURA DE LA BD, INDEPENDIENTE DEL DBMS QUE LA MANIPULA.
• MODELO CONCEPTUAL: LENGUAJE USADO PARA DESCRIBIR
ESQUEMAS CONCEPTUALES
• ESPECIFICACION DE REQUERIMIENTOS + DISEÑO CONCEPTUAL ->
ESQUEMA CONCEPTUAL DE LA BD
• MECANISMOS DE ABSTRACCION :
CLASIFICACION: DEFINE UN CONCEPTO COMO UNA CLASE
DE OBJETOS DE LA REALIDAD CON PROPIDADES COMUNES
(ES_MIEMBRO_DE)
• ARBOL DE UN NIVEL QUE TIENE COMO RAIZ LA
CLASE Y COMO HOJA LOS ELEMENTOS DE LA CLASE
• CADA ELEMENTO HOJA ES MIEMBRO DE CADA
ELEMENTO DE LA RAIZ
• CADA ELEMENTO PUEDE SER MIEMBRO DE VARIAS
CLASES.
LA CLASIFICACION ES EL PROCEDIMIENTO QUE SE UTILIZA CUANDO
PARTIENDO DE ELEMENTOS INDIVIDUALES DE INFORMACION SE
IDENTIFICAN TIPOS DE CAMPOS O ATRIBUTO.
AGREGACION: DEFINE UNA CLASE NUEVA A PARTIR DE OTRAS
QUE REPRESENTEN SUS PARTES COMPONENTES (ES_PARTE_DE)
• ARBOL DE UN NIVEL EN EL CUAL TODOS LOS NODOS SON
CLASES (LA RAIZ REPRESENTA LA CLASE CREADA POR
AGREGACION DE LAS CLASES REPRESENTADAS POR LAS
HOJAS)
REUNE TIPOS DE CAMPOS RELACIONADOS EN GRUPOS, COMO POR
EJEMPLO TIPOS DE REGISTROS.
GENERALIZACION: DEFINE UNA RELACION DE SUBCONJUNTO
ENTRE LOS ELEMENTOS DE 2 O + CLASES (ES_UN)
• SE REPRESENTA CON UN ARBOL DE UN NIVEL, EN EL QUE
TODOS LOS NODOS SON CLASES CON CLASE GENERICA
COMO RAIZ Y LAS CLASES SUBCONJUNTOS COMO HOJAS.
• TODAS LAS ABSTRACCIONES DEFINIDAS PARA LA CLASE
GENERICA SON HEREDADAS POR LAS CLASES SUBCONJUNT.
• PROPIEDADES DE COBERTURA:
TOTAL, SI CADA ELEMENTO DE LA CLASE GENERICA
CORRESPONDE AL MENOS A UN ELEMENTO DELAS
CLASES SUBCONJUNTO
PARCIAL, SI EXISTE ALGUN ELEMENTOO DE LACLASE
GENERICA QUE NO CORRESPONDE A NINGUN ELEMENTO
DE LAS CLASES SUBCONJUNTO
EXCLUSIVA, SI CADA ELEMENTO DE LA CLASE
GENERICA CORRESPONDE A LO SUMO A UN ELEMENTO
DE LAS CLASES SUBCONJUNTO
SUPERPUESTA, SI EXISTE ALGUN ELEMENTO DE LA
CLASE GENERICA QUE CORRESPONDE A LOS
ELEMENTOS DE DOS O MAS CLASES SUBCONJUNTO
DIFERENTES.
• MODELO DE DATOS
CONCEPTOS QUE PUEDEN UTILIZARSE PARA
DESCRIBIR UN CONJUNTO DE DATOS Y OPERACIONES
PARA MANIPULARLOS
DOS MODELOS
• CONCEPTUAL: INSTRUMENTO PARA
REPRESENTAR LA REALIDAD A UN NIVEL ALTO DE
ABSTRACCION
• CUALQIDADES QUE DEBE TENER:
• EXPRESIVIDAD, RICO ENC ONCEPTOS
-> POSIBILITA UNA REPRESENTACION
MAS EXTENSA DE LA REALIDAD
• SIMPLICIDAD, FACIL DE ENTENDER
• MINIMALIDAD, CADA CONCEPTO
TIENE SIGNIFICADO DISTINTO,, NINGUN
CONCEPTO PUEDE EXPRESARSE
MEDIANTE OTROS CONCEPTOS,.
• FORMALIDAD, CADA CONCEPTO
TIENE UNA SOLA INTERPRETACION
PRECISA Y BIEN DEFINIDA.
O DISEÑO LOGICO:
• REPRESENTACION EN COMPUTADORA
• ESQUEMA CONCEPTUAL + DISEÑO LOGICO -> ESQUEMA LOGICO
DE LA BD
• ESQUEMA LOGICO: DESCRIPCION DE LA ESTRUCTURA DE LA BD
QUE PUEDE PROCESAR UN DBMS
• MODELO LOGICO: LENGUAJE USADO PARA ESPECIFICAR
ESQUEMAS LOGICOS. LOS MAS USADOS: RELACIONAL, DE REDES,
JERARQUICOS.
• DEPENDE DE LA CLASE DE MODELO DE DATOS USADO POR EL
DBMS, PERO NO DEL DBMS USADO (SE EFECTUA DE IGUAL FORMA PARA
TODOS LOS DBMS RELACIONALES PORQUE TODOS USAN EL MODELO
RELACIONAL).
• PASAJE DE ESQUEMA CONCEPTUAL A ESQUEMA LOGICO:
DESICIONES A TOMAR:
• SOBRE DATOS DERIVADOS: TIENE COMO VENTAA
QUE NO SE NECESITA CALCULAR EL VALOR. REDUCE EL
NUMERO DE ACCESOS A LA BD. PERO TIENE LA DESVENTAJA
QUE EL PROCESAMIENTO ADICIONAL PARA MANTENER LOS
DATOS DERIVADOS Y SE REQUIERE MAS ESPACIOS EN EL
DISCO.
• ELIMINACION DE JERARQUIAS DE GENERALIZACION:
• LOS MODELOS LOGICOS NO PERMITEN
REPRESENTARLAS.
• SE DEBEN REPRESENTAR USANDO SOLO
ENTIDADES E INTERRELACIONES
• ELIMINACION DE ATRIBUTOS DE
CARDINALIDAD MAYOR QUE 1.
• SE DEBE CUIDAR DE INDICARLA HERENCIA
DE ATRIBUTOS Y SE DEBE CAPTAR LA INTERRELACION
IMPLICITA "ES_UN". EXISTEN TRES CASOS A TENER EN
CUENTA:
• CASO 1: INTEGRAR LA JERARQUIA DE
GENERALIZACION A UNA SOLA ENTIDAD UNIENDO
LOS ATRIBUTOS DE LAS SUBENTIDADES Y
AÑADIENDO ESTOS ATRIBUTOS A LA DE LA
SUPERENTIDAD. ES UNA SOLUCION SIMPLE, PERO
GENERA VALORES NULOS EN LOS ATRIBUTOS, ES
APLICABLE A CUALQUIER CASO DE JERARQUIA DE
GENERALIZACION.
• CASO 2: ELIMINAR LA SUPERNETIDAD
PERO RETENER LAS SUBENTIDADES. TIENE COMO
DESVENTAJA QUE SE DEBEN REPETIR LOS
ATRIBUTOS Y OPERACIONES DE LA SUPERENTIDAD,
ES DECIR QUE SE CREARIA REDUNDANCIA NO
DESEABLE. ES APLICABL EN EL CASO DE
COBERTURA TOTAL EXCLUSIVA Y ES MALA EN
COBERTURA SUPERPUESTA O PARCIAL.
• CASO 3: RETENER TODAS LAS
ENTIDADES Y ESTABLECER EXPLICITAMENTE LAS
INTERRELACIONES ENTRE LAS SUPERENTIDADES Y
SUBENTIDADES: ES EL CASO MAS GENERAL Y
APLICABLE, PROPORCIONA REDUNDANCIA
INHERENTE A NIVEL CONCEPTUAL, AL
REPRESENTAR LA RELACION "ES_UN" DE LA
JERARQUIA A TRAVES DE UNA INTERRELACION
EXPLICITA.
• PARTICION DE ENTIDADES: PARA ACCESO
SIMULTANEO CON FRECUENCIA (HORIZONTAL PARA
ENTIDADES; VERTICAL PARA ATRIBUTOS)
• PARTICION DE INTERRELACIONES: EN SITUACIONES
DE RELACIONES DE UNO A MUCHOS Y DE MUCHOS A
MUCHOS.
• FUSION DE ENTIDADES E INTERRELACIONES:
NORMALIZACION Y CARDINALIDAD.
EL DISEÑO LOGICO EN EL MODELO RELACIONAL.
• RESTRICCIONES:
• DE CLAVE: ESPECIFICAN LAS CLAVES
CANDIDATAS DE CADA TABLA
• DE INTEGRIDAD DE ENTIDADES: NINGUN
VALOR DE CLAVE PRIMARIA PUEDE SER NULO.
• DE INTEGRIDAD REFERENCIALES: SE
ESPECIFICA ENTRE DOS RELACIONES.
• CORRESPONDENCIA E-I <=> MODELO
RELACIONAL.
• ELIMINACION DE IDENTIFICADORES
EXTERNOS, NO USADOS EN EL MODELO RELACIONAL
• ELIMINACION DE ATRIBUTOS COMPUESTOS
• CONSIDERAR TODOS SUS
COMPONENTES COMO ATRIBUTOS INDIVIDUALES
• CONSIDERAR EL ATRIBUTO
COMPUESTO ENTERO COMO UN ATRIBUTO.
• ELIMINACION DE ATRIBUTOS POLIVALENTES
• TRANSFORMAR CADA ENTIDAD EN UNA
RELACION.
• TRANSFORMACION DE INTERRELACIONES:
• UNO A UNO:
• INTEGRACION DE UNA
RELACION BINARIA (SE UNIFICA LA TABLA):
• MISMA CLAVE
PRIMARIA EN LAS DOS ENTIDADES
• CLAVE DISTINTA, SE
TOMA UNA COMO CLAVE.
• RELACIONES INDIVIDUALES
(UNA CON PARTICIPACION PARCIAL)
• RELACIONES INDIVIDUALES:
AMBAS CON PARTICIPACION PARCIAL
• UNO A MUCHOS:
• PARTICIPACION PARCIAL
• CON VALORES NULOS
• SIN VALORES NULOS
• PARTICIPACION TOTAL.
• MUCHOS A MUCHOS
• N-ARIAS
• RECURSIVAS.
• DEPENDENCIA FUNCIONAL: DADO UN ATRIBUTO B
DE UNA ENTIDAD O INTERRELACION, ESTE ES
FUNCIONALMENTE DEPENDIENTE DE OTRO A (A -> B), SI
PARA CUALQUIER VALOR DADO DEL ATRIBUTO A EXISTE UN
VALOR SIMPLE ASOCIADO EN EL ATRIBUTO B. SIEMPRE EXISTE
ENTRE LOS ATRIBUTOS NO CLAVE RESPECTO DEL CLAVE.
SI SE DA EL VALOR DE UN ATRIBUTO SE PUEDE OBTENER O
BUSCAR EL VALOR DE OTRO. EJ: SI SE CONOCE EL VALOR DEL
DNI SE PUEDE HALLAR EL NOMBRE DE UN CLIENTE. EN ESTE
CASO EL NOMBRE ES FUNCIONALMENTE DEPENDIENTE DEL
DNI. LAS CLAVES SON ATRIBUTOS QUE FORMAN
DEPENDENCIAS FUNCIONALES HACIA LOS NO CLAVES.
• ANOMALIAS DE ACTUALIZACION:
• INSERCION
• ELIMINACION
• ACTUALIZACION
• INTEGRIDAD REFERENCIAL
• QUE ES CLAVE? UN CONJUNTO DE ATRIBUTOS QUE
IDENTIFICA INEVOCAMENTE CADA ENTIDAD DEL
CONJUNTO DE ENTIDADES
• IDENTIFICADOR
• CLAVES
PRIMARIAS
CANDIDATAS
• TIPOS DE DEPENDENCIAS:
• PARCIAL: UN ATRIBUTO B (NO CLAVE)
DEPENDE DE UN SUBCONJUNTO DE A (CLAVE)
• TRANSITIVA: UN ATRIBUTO B (NO CLAVE)
DEPENDE DE OTRO C (CLAVE)
• BOYCE CODD: UN ATRIBUTO B (CLAVE O
PARTE DE CLAVE) DEPENDE DE UN ATRIBUTO NO
CLAVE.
• MULTIVALUADA: DADA UNA RELACION R CON
ATRIBUTOS A,B,C, DECIMOS QUE EXISTE UNA
DEPENDENCIA ENTRE A Y B MULTIVALUADA EN R ,
SI Y SOLO SI EL CONJUNTO DE VALORES DE B QUE
CONCUERDA CON EL PAR A,C EN R DEPENDE SOLO
DEL VALOR DE A PERO NO DEL C. UNA
DEPENDENCIA MULTIVALUADA EXISTE CUANDO UN
ATRIBURO PUEDE DETERMINAR MAS DE UN VALOR
PARA OTRO ATRIBUTO.
• NORMALIZACION:
• PROCESO FORMAL PARA DECIDIR QUE ATRIBUTOS DEBEN
AGRUPARSE EN UN ENTIDAD/RELACION.
• PROGRESIVA DETECCION Y ELIMMINACION DE DEPENDENCIAS NO
DESEADAS.
• EXISTEN POLITICAS PARTIDARIAS DE REALIZARLA SOBRE EL
MODELO ENTIDAD RELACION Y OTRAS QUE LO HACEN SOBRE EL
MODELO RELACIONAL.
• PROBLEMAS DE MALA NORMALIZACION (O NORMALIZACION
INEXISTENTE)
ANOMALIAS DE ACTUALIZACION
ANOMALIAS DE INSERCION
ANOMALIAS DE BORRADO
• FORMAS NORMALES:
PRIMERA FORMA NORMAL: TODOS LOS ATRIBUTOS TIENEN
CARDINALIDAD 0 O 1.
SEGUNDA FORMA NORMAL: UNA TABLA ESTA 2NF SI ESTA
EN 1NF Y ADEMAS NO EXISTEN DEPENDENCIAS PARCIALES.
TERCERA FORMA NORMAL: UNA TABLA ESTA EN 3NF SI
ESTA EN 2NF Y ADEMAS NO EXISTEN DEPENDENCIAS
TRANSITIVAS.
FORMA NORMAL BOYCE CODD: UNA TABLA ESTA EN BCNF
SI ESTA EN 3NF Y NO EXISTEN DEPENDENCIAS DE BOYCE
CODD. OTRA DEFINICIO SERIA UE PARA TODASL ALS
DEPENDENCIAS DE LA FORMA X->Y; X->Y ES TRIVIAL (Y ESTA
INCLUIDO O ES IGUAL A X) O X ES SUPERCLAVE DE Y
(SUPERCLAVE, ES DECIR, CONJUNTO DE ATRIBUTOS QUE
INCLUYE LA CLAVE )
CUARTA FORMA NORMAL: UNA TABLA ESTA EN 4NF SI
ESTA EN BCFN Y ADEMAS NO EXISTEN DEPENDENCIAS
MULTIVALUADAS.
QUINTA FORMA NORMAL O FORMA DE DOMINIO CLAVE:
UNA TABLA ESTA EN 5FN SI CADA RESTRICCION ES UNA
CONSECUENCIA LOGICA DE LA DEFINICION DE LAS CLAVES Y
DOMINIOS.
O DISEÑO FISICO
• ES DONDE SE DETERMINA ESTRUCTURAS DE ALMACENAMIENTO
FISICO
• DESCRIBE LAS ESTRUCTURAS DE ALMACENAMIENTO Y METODOS
USADOS PARA TENER ACCESO EFECTIVO A LOS DATOS
• ESQUEMA LOGICO + DISEÑO FISICO -> ESQUEMA FISICO
• ESQUEMA FISICO: DESCRIPCION DE LA IMPLANTACION DE UNA BD
EN MEMORIA SECUNDARIA.
• SE ADAPTA A UN DBMS ESPECIFICO
• HAY UNA RETROALIMENTACION ENTRE EL DISEÑO FISICO Y EL
LOGICO (DESICIONES TOMADAS DURANTE EL DISEÑO FISICO PARA
MEJORAR EL RENDIMIENTO PUEDEN AFECTAR EL ESQUEMA LOGICO)
• COMPLETO EL DISEÑO FISICO, LOS ESQUEMAS LOGICO Y FISICO
SE EXPRESAN USANDO EL LENGUAJE DE DEFINICION DE DATOS DEL
DBMS -> NACE LA BD OPERACIONAL.
•
MODELADO DE DATOS
• SISTEMA DE INFORMACION: CONJUNTO DE ACTIVIDADES QUE REGULAN LA
DISTRIBUCION Y COMPARTIMIENTO DE LA INFORMACION Y EL ALMACENAMIENTO
DE LOS DATOS RELEVANTES PARA SU ADMINISTRACION
• BASE DE DATOS: CUALQUIER CONJUNTO "GRANDE"DE DATOS
ESTRUCTURADOS, ALMACENADOS EN UNA COMPUTADORA
O ESCENCIALES PARA LA SUPERVIVENCIA DE LA ORGANIZACION
O LOS DATOS ESTRUCTURADOS CONSTITUYEN UN RECURSO ESENCIAL.
• DBMS: PAQUETE DE SOFTWARE PARA LA GESTION DE LA BD, ESPECIALMENTE
PARA ALMACENAR, MANIPULAR Y RECUPERA DATOS EN UN COMPUTADOR.
• ABSTRACCION: PROCESO MENTAL APLICADO AL SELECCIONAR ALGUNAS
CARACTERISTICAS DE UN CONJUNTO DE OBJETOS Y EXCLUIR OTRAS
• DISEÑO DE LA BD. TRES FASES
O DISEÑO CONCEPTUAL:
• REPRESENTACION ABSTRACTA
• PROPOSITO: DESCRIBIR EL CONTENIDO DE INFORMACION DE LA
BD, MAS QUE LAS ESTRUCTURAS DE ALMACENAMIENTO.
• ESQUEMA CONCEPTUAL: DESCRIPCION DE ALTO NIVEL DE LA
ESTRUCTURA DE LA BD, INDEPENDIENTE DEL DBMS QUE LA MANIPULA.
• MODELO CONCEPTUAL: LENGUAJE USADO PARA DESCRIBIR
ESQUEMAS CONCEPTUALES
• ESPECIFICACION DE REQUERIMIENTOS + DISEÑO CONCEPTUAL ->
ESQUEMA CONCEPTUAL DE LA BD
• MECANISMOS DE ABSTRACCION :
CLASIFICACION: DEFINE UN CONCEPTO COMO UNA CLASE
DE OBJETOS DE LA REALIDAD CON PROPIDADES COMUNES
(ES_MIEMBRO_DE)
• ARBOL DE UN NIVEL QUE TIENE COMO RAIZ LA
CLASE Y COMO HOJA LOS ELEMENTOS DE LA CLASE
• CADA ELEMENTO HOJA ES MIEMBRO DE CADA
ELEMENTO DE LA RAIZ
• CADA ELEMENTO PUEDE SER MIEMBRO DE VARIAS
CLASES.
LA CLASIFICACION ES EL PROCEDIMIENTO QUE SE UTILIZA CUANDO
PARTIENDO DE ELEMENTOS INDIVIDUALES DE INFORMACION SE
IDENTIFICAN TIPOS DE CAMPOS O ATRIBUTO.
AGREGACION: DEFINE UNA CLASE NUEVA A PARTIR DE OTRAS
QUE REPRESENTEN SUS PARTES COMPONENTES (ES_PARTE_DE)
• ARBOL DE UN NIVEL EN EL CUAL TODOS LOS NODOS SON
CLASES (LA RAIZ REPRESENTA LA CLASE CREADA POR
AGREGACION DE LAS CLASES REPRESENTADAS POR LAS
HOJAS)
REUNE TIPOS DE CAMPOS RELACIONADOS EN GRUPOS, COMO POR
EJEMPLO TIPOS DE REGISTROS.
GENERALIZACION: DEFINE UNA RELACION DE SUBCONJUNTO
ENTRE LOS ELEMENTOS DE 2 O + CLASES (ES_UN)
• SE REPRESENTA CON UN ARBOL DE UN NIVEL, EN EL QUE
TODOS LOS NODOS SON CLASES CON CLASE GENERICA
COMO RAIZ Y LAS CLASES SUBCONJUNTOS COMO HOJAS.
• TODAS LAS ABSTRACCIONES DEFINIDAS PARA LA CLASE
GENERICA SON HEREDADAS POR LAS CLASES SUBCONJUNT.
• PROPIEDADES DE COBERTURA:
TOTAL, SI CADA ELEMENTO DE LA CLASE GENERICA
CORRESPONDE AL MENOS A UN ELEMENTO DELAS
CLASES SUBCONJUNTO
PARCIAL, SI EXISTE ALGUN ELEMENTOO DE LACLASE
GENERICA QUE NO CORRESPONDE A NINGUN ELEMENTO
DE LAS CLASES SUBCONJUNTO
EXCLUSIVA, SI CADA ELEMENTO DE LA CLASE
GENERICA CORRESPONDE A LO SUMO A UN ELEMENTO
DE LAS CLASES SUBCONJUNTO
SUPERPUESTA, SI EXISTE ALGUN ELEMENTO DE LA
CLASE GENERICA QUE CORRESPONDE A LOS
ELEMENTOS DE DOS O MAS CLASES SUBCONJUNTO
DIFERENTES.
• MODELO DE DATOS
CONCEPTOS QUE PUEDEN UTILIZARSE PARA
DESCRIBIR UN CONJUNTO DE DATOS Y OPERACIONES
PARA MANIPULARLOS
DOS MODELOS
• CONCEPTUAL: INSTRUMENTO PARA
REPRESENTAR LA REALIDAD A UN NIVEL ALTO DE
ABSTRACCION
• CUALQIDADES QUE DEBE TENER:
• EXPRESIVIDAD, RICO ENC ONCEPTOS
-> POSIBILITA UNA REPRESENTACION
MAS EXTENSA DE LA REALIDAD
• SIMPLICIDAD, FACIL DE ENTENDER
• MINIMALIDAD, CADA CONCEPTO
TIENE SIGNIFICADO DISTINTO,, NINGUN
CONCEPTO PUEDE EXPRESARSE
MEDIANTE OTROS CONCEPTOS,.
• FORMALIDAD, CADA CONCEPTO
TIENE UNA SOLA INTERPRETACION
PRECISA Y BIEN DEFINIDA.
O DISEÑO LOGICO:
• REPRESENTACION EN COMPUTADORA
• ESQUEMA CONCEPTUAL + DISEÑO LOGICO -> ESQUEMA LOGICO
DE LA BD
• ESQUEMA LOGICO: DESCRIPCION DE LA ESTRUCTURA DE LA BD
QUE PUEDE PROCESAR UN DBMS
• MODELO LOGICO: LENGUAJE USADO PARA ESPECIFICAR
ESQUEMAS LOGICOS. LOS MAS USADOS: RELACIONAL, DE REDES,
JERARQUICOS.
• DEPENDE DE LA CLASE DE MODELO DE DATOS USADO POR EL
DBMS, PERO NO DEL DBMS USADO (SE EFECTUA DE IGUAL FORMA PARA
TODOS LOS DBMS RELACIONALES PORQUE TODOS USAN EL MODELO
RELACIONAL).
• PASAJE DE ESQUEMA CONCEPTUAL A ESQUEMA LOGICO:
DESICIONES A TOMAR:
• SOBRE DATOS DERIVADOS: TIENE COMO VENTAA
QUE NO SE NECESITA CALCULAR EL VALOR. REDUCE EL
NUMERO DE ACCESOS A LA BD. PERO TIENE LA DESVENTAJA
QUE EL PROCESAMIENTO ADICIONAL PARA MANTENER LOS
DATOS DERIVADOS Y SE REQUIERE MAS ESPACIOS EN EL
DISCO.
• ELIMINACION DE JERARQUIAS DE GENERALIZACION:
• LOS MODELOS LOGICOS NO PERMITEN
REPRESENTARLAS.
• SE DEBEN REPRESENTAR USANDO SOLO
ENTIDADES E INTERRELACIONES
• ELIMINACION DE ATRIBUTOS DE
CARDINALIDAD MAYOR QUE 1.
• SE DEBE CUIDAR DE INDICARLA HERENCIA
DE ATRIBUTOS Y SE DEBE CAPTAR LA INTERRELACION
IMPLICITA "ES_UN". EXISTEN TRES CASOS A TENER EN
CUENTA:
• CASO 1: INTEGRAR LA JERARQUIA DE
GENERALIZACION A UNA SOLA ENTIDAD UNIENDO
LOS ATRIBUTOS DE LAS SUBENTIDADES Y
AÑADIENDO ESTOS ATRIBUTOS A LA DE LA
SUPERENTIDAD. ES UNA SOLUCION SIMPLE, PERO
GENERA VALORES NULOS EN LOS ATRIBUTOS, ES
APLICABLE A CUALQUIER CASO DE JERARQUIA DE
GENERALIZACION.
• CASO 2: ELIMINAR LA SUPERNETIDAD
PERO RETENER LAS SUBENTIDADES. TIENE COMO
DESVENTAJA QUE SE DEBEN REPETIR LOS
ATRIBUTOS Y OPERACIONES DE LA SUPERENTIDAD,
ES DECIR QUE SE CREARIA REDUNDANCIA NO
DESEABLE. ES APLICABL EN EL CASO DE
COBERTURA TOTAL EXCLUSIVA Y ES MALA EN
COBERTURA SUPERPUESTA O PARCIAL.
• CASO 3: RETENER TODAS LAS
ENTIDADES Y ESTABLECER EXPLICITAMENTE LAS
INTERRELACIONES ENTRE LAS SUPERENTIDADES Y
SUBENTIDADES: ES EL CASO MAS GENERAL Y
APLICABLE, PROPORCIONA REDUNDANCIA
INHERENTE A NIVEL CONCEPTUAL, AL
REPRESENTAR LA RELACION "ES_UN" DE LA
JERARQUIA A TRAVES DE UNA INTERRELACION
EXPLICITA.
• PARTICION DE ENTIDADES: PARA ACCESO
SIMULTANEO CON FRECUENCIA (HORIZONTAL PARA
ENTIDADES; VERTICAL PARA ATRIBUTOS)
• PARTICION DE INTERRELACIONES: EN SITUACIONES
DE RELACIONES DE UNO A MUCHOS Y DE MUCHOS A
MUCHOS.
• FUSION DE ENTIDADES E INTERRELACIONES:
NORMALIZACION Y CARDINALIDAD.
EL DISEÑO LOGICO EN EL MODELO RELACIONAL.
• RESTRICCIONES:
• DE CLAVE: ESPECIFICAN LAS CLAVES
CANDIDATAS DE CADA TABLA
• DE INTEGRIDAD DE ENTIDADES: NINGUN
VALOR DE CLAVE PRIMARIA PUEDE SER NULO.
• DE INTEGRIDAD REFERENCIALES: SE
ESPECIFICA ENTRE DOS RELACIONES.
• CORRESPONDENCIA E-I <=> MODELO
RELACIONAL.
• ELIMINACION DE IDENTIFICADORES
EXTERNOS, NO USADOS EN EL MODELO RELACIONAL
• ELIMINACION DE ATRIBUTOS COMPUESTOS
• CONSIDERAR TODOS SUS
COMPONENTES COMO ATRIBUTOS INDIVIDUALES
• CONSIDERAR EL ATRIBUTO
COMPUESTO ENTERO COMO UN ATRIBUTO.
• ELIMINACION DE ATRIBUTOS POLIVALENTES
• TRANSFORMAR CADA ENTIDAD EN UNA
RELACION.
• TRANSFORMACION DE INTERRELACIONES:
• UNO A UNO:
• INTEGRACION DE UNA
RELACION BINARIA (SE UNIFICA LA TABLA):
• MISMA CLAVE
PRIMARIA EN LAS DOS ENTIDADES
• CLAVE DISTINTA, SE
TOMA UNA COMO CLAVE.
• RELACIONES INDIVIDUALES
(UNA CON PARTICIPACION PARCIAL)
• RELACIONES INDIVIDUALES:
AMBAS CON PARTICIPACION PARCIAL
• UNO A MUCHOS:
• PARTICIPACION PARCIAL
• CON VALORES NULOS
• SIN VALORES NULOS
• PARTICIPACION TOTAL.
• MUCHOS A MUCHOS
• N-ARIAS
• RECURSIVAS.
• DEPENDENCIA FUNCIONAL: DADO UN ATRIBUTO B
DE UNA ENTIDAD O INTERRELACION, ESTE ES
FUNCIONALMENTE DEPENDIENTE DE OTRO A (A -> B), SI
PARA CUALQUIER VALOR DADO DEL ATRIBUTO A EXISTE UN
VALOR SIMPLE ASOCIADO EN EL ATRIBUTO B. SIEMPRE EXISTE
ENTRE LOS ATRIBUTOS NO CLAVE RESPECTO DEL CLAVE.
SI SE DA EL VALOR DE UN ATRIBUTO SE PUEDE OBTENER O
BUSCAR EL VALOR DE OTRO. EJ: SI SE CONOCE EL VALOR DEL
DNI SE PUEDE HALLAR EL NOMBRE DE UN CLIENTE. EN ESTE
CASO EL NOMBRE ES FUNCIONALMENTE DEPENDIENTE DEL
DNI. LAS CLAVES SON ATRIBUTOS QUE FORMAN
DEPENDENCIAS FUNCIONALES HACIA LOS NO CLAVES.
• ANOMALIAS DE ACTUALIZACION:
• INSERCION
• ELIMINACION
• ACTUALIZACION
• INTEGRIDAD REFERENCIAL
• QUE ES CLAVE? UN CONJUNTO DE ATRIBUTOS QUE
IDENTIFICA INEVOCAMENTE CADA ENTIDAD DEL
CONJUNTO DE ENTIDADES
• IDENTIFICADOR
• CLAVES
PRIMARIAS
CANDIDATAS
• TIPOS DE DEPENDENCIAS:
• PARCIAL: UN ATRIBUTO B (NO CLAVE)
DEPENDE DE UN SUBCONJUNTO DE A (CLAVE)
• TRANSITIVA: UN ATRIBUTO B (NO CLAVE)
DEPENDE DE OTRO C (CLAVE)
• BOYCE CODD: UN ATRIBUTO B (CLAVE O
PARTE DE CLAVE) DEPENDE DE UN ATRIBUTO NO
CLAVE.
• MULTIVALUADA: DADA UNA RELACION R CON
ATRIBUTOS A,B,C, DECIMOS QUE EXISTE UNA
DEPENDENCIA ENTRE A Y B MULTIVALUADA EN R ,
SI Y SOLO SI EL CONJUNTO DE VALORES DE B QUE
CONCUERDA CON EL PAR A,C EN R DEPENDE SOLO
DEL VALOR DE A PERO NO DEL C. UNA
DEPENDENCIA MULTIVALUADA EXISTE CUANDO UN
ATRIBURO PUEDE DETERMINAR MAS DE UN VALOR
PARA OTRO ATRIBUTO.
• NORMALIZACION:
• PROCESO FORMAL PARA DECIDIR QUE ATRIBUTOS DEBEN
AGRUPARSE EN UN ENTIDAD/RELACION.
• PROGRESIVA DETECCION Y ELIMMINACION DE DEPENDENCIAS NO
DESEADAS.
• EXISTEN POLITICAS PARTIDARIAS DE REALIZARLA SOBRE EL
MODELO ENTIDAD RELACION Y OTRAS QUE LO HACEN SOBRE EL
MODELO RELACIONAL.
• PROBLEMAS DE MALA NORMALIZACION (O NORMALIZACION
INEXISTENTE)
ANOMALIAS DE ACTUALIZACION
ANOMALIAS DE INSERCION
ANOMALIAS DE BORRADO
• FORMAS NORMALES:
PRIMERA FORMA NORMAL: TODOS LOS ATRIBUTOS TIENEN
CARDINALIDAD 0 O 1.
SEGUNDA FORMA NORMAL: UNA TABLA ESTA 2NF SI ESTA
EN 1NF Y ADEMAS NO EXISTEN DEPENDENCIAS PARCIALES.
TERCERA FORMA NORMAL: UNA TABLA ESTA EN 3NF SI
ESTA EN 2NF Y ADEMAS NO EXISTEN DEPENDENCIAS
TRANSITIVAS.
FORMA NORMAL BOYCE CODD: UNA TABLA ESTA EN BCNF
SI ESTA EN 3NF Y NO EXISTEN DEPENDENCIAS DE BOYCE
CODD. OTRA DEFINICIO SERIA UE PARA TODASL ALS
DEPENDENCIAS DE LA FORMA X->Y; X->Y ES TRIVIAL (Y ESTA
INCLUIDO O ES IGUAL A X) O X ES SUPERCLAVE DE Y
(SUPERCLAVE, ES DECIR, CONJUNTO DE ATRIBUTOS QUE
INCLUYE LA CLAVE )
CUARTA FORMA NORMAL: UNA TABLA ESTA EN 4NF SI
ESTA EN BCFN Y ADEMAS NO EXISTEN DEPENDENCIAS
MULTIVALUADAS.
QUINTA FORMA NORMAL O FORMA DE DOMINIO CLAVE:
UNA TABLA ESTA EN 5FN SI CADA RESTRICCION ES UNA
CONSECUENCIA LOGICA DE LA DEFINICION DE LAS CLAVES Y
DOMINIOS.
O DISEÑO FISICO
• ES DONDE SE DETERMINA ESTRUCTURAS DE ALMACENAMIENTO
FISICO
• DESCRIBE LAS ESTRUCTURAS DE ALMACENAMIENTO Y METODOS
USADOS PARA TENER ACCESO EFECTIVO A LOS DATOS
• ESQUEMA LOGICO + DISEÑO FISICO -> ESQUEMA FISICO
• ESQUEMA FISICO: DESCRIPCION DE LA IMPLANTACION DE UNA BD
EN MEMORIA SECUNDARIA.
• SE ADAPTA A UN DBMS ESPECIFICO
• HAY UNA RETROALIMENTACION ENTRE EL DISEÑO FISICO Y EL
LOGICO (DESICIONES TOMADAS DURANTE EL DISEÑO FISICO PARA
MEJORAR EL RENDIMIENTO PUEDEN AFECTAR EL ESQUEMA LOGICO)
• COMPLETO EL DISEÑO FISICO, LOS ESQUEMAS LOGICO Y FISICO
SE EXPRESAN USANDO EL LENGUAJE DE DEFINICION DE DATOS DEL
DBMS -> NACE LA BD OPERACIONAL.
•
OPTIMIZACION DE CONSULTAS
COMPONENTES DEL "COSTO" DE EJECUCION DE UNA CONSULTA:
O COSTO DE ACCESO A ALMACENAMIENTO SECUNDARIO -> BUSCAR, LEER Y
ESCRIBIR BLOQUES DE DATOS QUE RESIDEN EN DISCO.
O COSTO DE ALMACENAMIENTO - > COSTO DE ALMACENAR ARCHIVOS
INTERMEDIO QUE GENERA UNA ESTRATEGIA DE EJECUCION
O COSTO DE COMPUTO -> COSTO DE REALIZAR OPERACIONES.
O COSTO DE COMUNICACION -> COSTO DE ENVIAR LA CONSULTA Y LOS
RESULTADOS (SI ES UN SISTEMA DISTRIBUIDO)
INTERPRETACION DE CONSULTAS
DADA UNA CONSULTA HAY VARIOS METODOS PARA LLEGAR A LA RESPUESTA.
• OPTIMIZACION LÓGICA: EXPRESIONES EQUIVALENTES:
• ALGEBRA RELACIONAL: PROCEDURAL, EXISTE UNA SECUENCIA DE
RESOLUCION -> SE PUEDE ENCONTRAR UNA EXPRESION MAS EFICIENTE DE
OTRA.
• OPERACIONES:
SELECCION: HACERLA LO ANTES POSIBLE:
CAMBIAR ÐP1^P2(E) POR ÐP1(ÐP2(E)), ES DECIR, DESCOMPONER
LA CONDICION.
LO MISMO PARA LA PROYECCION Y PARA EL PRODUCTO NATURAL.
• ESTIMACION DEL COSTO DE LAS CONSULTAS:
LA ELECCION DE LA ESTRATEGIA IMPACTA CONTRA LAS
ESTADISTICAS.
• NUMERO DE TUPLAS EN LA RELACION (NR)
• TAMAÑO EN BYTES DE LA TUPLA (SR)
• NUMERO DE VALORES DISTINTOS EN LA RELACION R PARA UN
ATRIBUTO V(A,R)
COSTO DE LAS CONSULTAS:
• PRODUCTO CARTESIANO: RXT
• # TUPLAS NR * NT
• # BYTES EN CADA TUPLA = SR + ST
• SELECCION ÐP(R)
• # TUPLAS = NR / V(A,R) SE SUPONE DISTRIBUCION
• # BYTES X TUPLAS = SR.
• OPTIMIZACION FISICA:
• GENERAR "BUENOS" INDICES
• COSTO DE ACCESO POR INDICES
INDICE -> MAS RAPIDO, EXISTE ORDENAMIENTO.
COSTO ADICIONAL -> ACCESO AL INDICE
CALCULO DE TIEMPO: DEPENDE DE LA ORGANIZACION Y
CARACTERISTICAS.
• GENERAR "BUENOS"CLUSTERS (CRITERIOS PARA AGRUPAR
INFORMACION -> SE PUEDE "CLUSTERIZAR" POR TABLAS, ATRIBUTOS O
RELACIONADAS.
• PROCESADORES PARALELOS
• REDES: SEPARAR EL TRABAJO EN DISTINTAS COMPUTADORAS.
TRANSACCIONES
• TRANSACCION: SECUENCIA D EOPERACIONES QUE FORMAN UNA UNICA UNIDAD
LOGICA DE TRABAJO.
• UNA TRANSACCION SE HACE O NO SE HACE, NO SE PUEDE QUEDAR A MEDIAS.
O SI TERMINA, SUS EFECTOS QUEDAN EN LA BD
O SI SE ANULA, SUS EFECTOS NO QUEDAN EN LA BD
• PROPIEDADES ACID
O ATOMICIDAD: UNA TRANSACCION DEBE SER UNA UNIDAD ATOMICA DE
TRABAJO O TODAS LAS OPERACIONES DE LA TRANSACCION SE EJECUTAN O
NO LO HACEN NINGUNA DE ELLAS.
O CONSISTENCIA: LA EJECUCION AISLADA DE LA TRANSACCION CONSERVA
LA CONSISTENCIA DE LA BD. LLEVA LA BD DE UN ESTADO CONSISTENTE A
OTRO CONSISTENTE.
O AISLAMIENTO (ISOLATION): CADA TRANSACCION IGNORA EL RESTO DE
LAS TRANSACCIONES QUE SE EJECUTAN CONCURRENTEMENTE EN EL SISTEMA
ACTUA CADA UNA COMO UNICA.
o DURABILIDAD: UNA TRANSACCION TERMINADA CON EXITO REALIZA
CAMBIOS PERMANENTES EN LA BD. INCLUSO SI HAY FALLOS EN EL SISTEMA.
• ESTADOS DE UNA TRANSACCION:
O ACTIVA: ESTADO INICIAL, ESTADO NORMAL DURANTE LA EJECUCION.
O PARCIALMENTE COMETIDA: DESPUES DE EJECUTARSE LA ULTIMA
INSTRUCCION
O FALLADA: LUEGO DE DESCUBRIR QUE NO PUEDE SEGUIR LA EJECUCION
NORMAL.
O ABORTADA: DESPUES DE HABER RETROCEDIDO LA TRANSACCION Y
REESTABLECIDO LA BD AL ESTADO ANTERIOR AL COMIENZO DE LA
TRANSACCION
O COMETIDA: TRAS COMPLETARSE CON EXITO , SE HA COMETIDO
PARCIALMENTE Y SE GARANTIZA QUE NUNCA ABORTARA.
ACTIVA
FALLADA ABORTADA
ACTIVA
FALLADA ABORTADA
EN CUANTO NECESIDAD DE
A NECESIDAD DE FLEXIBILIDAD Y ALCANCE
REQUISITOS PERFORMANCE AMPLIO
CONCLUSIONES:
• LA NECESIDAD DE SISTEMAS DE INFORMACION QUE PERMITAN
GENERAR CONSULTAS, REPORTES Y ANALISIS PARA LA TOMA DE
DECISIONES ES CADA DIA MAS APREMIANTE PARA LAS EMPRESAS QUE
QUIEREN COMPETIR EXITOSAMENTE EN EL MERCADO
• LA IMPLANTACION DE UN DW SURGE COMO LA SOLUCION A LAS
NECESIDADES ANTES MENCIONADAS
• NO SIEMPRE EN LAS ORGANIZACIONES EXISTE UNA CONCIENCIA
REAL DE LA POTENCIALIDAD QUE TIENE ENCUBIERTA EN LOS DATOS
TRANSACCIONALES GENERADOS COTIDIANAMENTE.
• SE DEBE TENER EN CUENTA QUE UN DW NO ES UN PRODUCTO
QUE SE COMPRA, DEBE SER PLANIFICADO CUIDADOSAMENTE DE
ACUERDO A CADA ORGANIZACION Y CONSTRUIDO A TAL EFECTO.
• LAS ORGANIZACIONES DE TECNOLOGIA INFORMATICA PUEDEN O
NO TENER TODAS LAS CUALIDADES TECNICAS NECESARIAS, PERO NO
IMPLEMENTARAN UN PROYECTO DE DW EXITOSO SIN QUE LOGREN
QUE LA UNIDAD DE NEGOCIOS SE INVOLUCRE.
• CUANDO SE DISEÑA UN DW HAY QUE TENER EN LARO QUE SE
ESTA CONVIRTIENDO LA INFORMACION GENERADA EN FORMA
COTIDIANA EN CONOCIMIENTO PARA LA ORGANIZACION.
• PENSAR EN UN DW COMO UNA SIMPLE LIBERACION DE LOS
DATOS CORPORATIVOS SERIA UN ERROR, EL VALOR REAL DE UN DW
RECIEN SE DESCUBRE CUANDO LO UTILIZA ALGUIEN QUE PUEDE
ENCONTRAR DETALLES IMPORTANTES EN LOS DATOS Y MARCAR LAS
DIFERENCIAS.