Organización y acceso a los datos (continuación)

Documentos relacionados
Organización de PostgreSQL. Manejo de Usuarios. Herramientas para Desarrollo

Almacenamiento y Recuperación de la Información

7. Agrupamiento (clustering)

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

Capítulo 12: Indexación y asociación

El nivel Interno. Índice Tema 3

Sistemas Operativos. Curso 2016 Sistema de Archivos

Bases de Datos 2. Teórico

HEA Herramienta de Software para la enseñanza de árboles B. Autor: Nucilli, Emanuel Alberto.

Bases de Datos Indexación y Hashing 1. Indexación. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

Unidad V: Sistemas de archivos 5.1 Concepto

Asignatura: Administración de Bases de Datos

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

Conceptos básicos de bases de datos

Sistemas Operativos Tema 10. Sistema de archivos José Miguel Santos Alexis Quesada Francisco Santana Belén Esteban

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Gestor de bases de datos MicroSoft Access (2 de 4)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Métodos de Ordenamiento. Unidad VI: Estructura de datos

ACCEDER A BITÁCORA DE TRABAJO SQL SERVER

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)

Procesamiento y Optimización de Consultas

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

BASES DE DATOS ESPACIALES II:

El Sistema Gestor de Base de Datos (DBMS)

Procesamiento y Optimización de Consultas

Almacenamiento y Recuperación de la Información

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

TEMA I- Diseño Físico 1

Consultas con combinaciones

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Resumen de las clases 6 y 9 de junio

El Modelo Relacional. Carlos A. Olarte BDI

Capítulo 1: Conceptos Básicos de Bases de Datos

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol

Desarrollo Web en Entorno Servidor

Cliente- Servidor. Bases de Datos Distribuidas

Universidad Nacional de Costa Rica Administración de Bases de Datos

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Los elementos de una lista unidireccional o secuencia, llamados nodos, constan de dos partes:

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Componente del sistema operativo que maneja el acceso a los archivos.

Cuestionario almacenamiento en disco y gestión de memoria.

Almacenamiento magnético, 3

Tema I: Introducción a las bases de datos. Curso Introducción a las bases de datos.

Procesamiento de Consultas. Carlos A. Olarte BDII

Bases de datos 1. Teórico: Introducción

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

GESTORES GESTORES DE BASES DE DATOS

Técnico en Tratamiento y Manipulación de Datos. Informática y Programación

UNIDAD 2: Bases de Datos en Visual Basic

Sistemas de Datos. Estructuras de archivos y métodos de acceso. Registros

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Diseño e Implementación SQL Server

BASES DE DATOS TEMA 2 MODELOS DE DATOS

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

EXAMEN EXTRAORDINARIO Informática y Computación IV

Bases de Datos: Introducción

Convivencia. Gestión del Sistema de Archivos

El Modelo Relacional. Estática

A.1. Definiciones de datos en SQL

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

SQL. Fundamentos de Bases de Datos. Concepción de Sistemas de Información Instituto de Computación Facultad de Ingeniería Universidad de la República

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Aspectos del diseño de un sistema de ficheros

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

SEGURIDAD EN LAS BASES DE DATOS

Binary Decision Diagrams

Modulo I: Introducción Gestores de Bases De Datos

Sistemas operativos. Tema 10: Sistemas de ficheros

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Unidad I: Introducción a las estructuras de datos

Algoritmos y estructuras de datos

Administración de Archivos

GESTION DE LA MEMORIA

Administración de Bases de Datos

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

[CASI v.0110] Pág. 1

Usando el Sistema Operativo

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Administración de la memoria

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Base de Datos. Práctica de Procesamiento y Optimización de Consultas

BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS

Ficheros Contenido del Tema

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Seguridad e integridad de bases de datos USB

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

Algorítmica y Complejidad. Tema 3 Ordenación.

Unidad III. Bases de Datos

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

Tema 2. Organizaciones de ficheros y estructuras de acceso

Ordenador local + Servidor Remoto

Transcripción:

Organización y acceso a los datos (continuación) Bases de Datos 2 - Tecnologo de Informatica

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Que hay a nivel físico? Discos Conjunto de bloques de tamaño fijo que son direccionables a través de alguna forma de dirección por alguna instrucción especifica. (Read) Partición Subconjunto contiguo de los bloques de un disco.

Que hay a nivel físico? File Systems (FS) Estructura de datos que facilita el acceso del sistema operativo (SO) a los distintos bloques de la partición. Típicamente se construye con comandos como Format, Newfs, mkfs, etc., dependiendo del SO. Archivo Estructura lógica que se construye sobre el FS. Es la que usualmente utilizan los programas de aplicación. Típicamente se ven como una secuencia de caracteres o como una secuencia de registros delimitados por algún carácter especial o de tamaño fijo y el acceso es secuencial.

Organización física de datos

Cómo utilizan los DBMS esto? Típicamente toman una partición del disco o un gran archivo y usan dicha área como su disco. Re implementan: Estructuras de datos y sus algoritmos de manipulación. Algoritmos de ordenación. Mecanismos de buffering y paginado. Cuando se habla de estructuras se debe pensar en como organizar los datos para una (o más) tablas

Formas de acceder a los registros El acceso secuencial a archios es bueno para un DBMS? Consideremos las siguientes tablas y la siguiente consulta: EMPLEADOS(nombre,edad,salario,Dno) DEPARTAMENTOS(Dno,nombreDpto,piso,gerente) SELECT e.nombre, d.piso FROM EMPLEADOS e, DEPARTAMENTOS d WHERE e.dno = d.dno AND e.salario > 30000 Cómo se ejecutaría esta consulta si sólo contáramos con acceso secuencial a los archivos?

Formas de acceder a los registros Supongamos que hay un archivo de empleados y otro de departamentos: π nombre,piso ( σ salario>30000 (EMPLEADOS DEPARTAMENTOS) Recorrer todo el resultado de la selección y devolver ciertas posiciones de cada registro. Recorrer todo el resultado del join y devolver los registros que cumplen la condición. Para cada uno de los registros de uno de los archivos buscar en el otro aquellos registros que tienen igual valor en campos de igual nombre y agregarlos al resultado.

Costos de acceso En el Join, si M es el tamaño de empleados, y N es el tamaño de departamentos se necesitan M*N operaciones de acceso a disco. Son muy costosas!! Cómo se puede mejorar? Usando otras estructuras de datos sobre disco que faciliten el acceso. INDICES

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Índices Archivo Secuencial Archivo Indexado (clave el 1 er atributo)

Conceptos básicos Clave de ordenación (search key), también denominado clave principal, es un atributo utilizado para buscar registros en un archivo. Un archivo índice consiste de registros, llamados entradas de índice (index entries), de la forma clave de ordenación puntero Comunmente los archivo índice son mucho mas pequeños que el archivo original.

Tipos de Índices Físicos vs. Lógicos Referencias a ubicación en disco o referencias a índices físicos. Consideraremos sólo los físicos. Ordenados vs. No ordenados Requieren o no del ordenamiento de los datos por el atributo a indexar. Densos o no densos. Hay entradas de índice para todo valor de la clave de ordenacón o solo para algunos valores. Simples vs. Multi-nivel

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Índices ordenados Índice primario (o principal) Sobre clave primaria. Por cada clave: dirección en el disco (bloque o bloque+offset). De agrupamiento (cluster index) Sobre un atributo que no es clave primaria. Por cada valor distinto: dirección en el disco al primer registro del grupo (bloque o bloque+offset).

Índices con datos ordenados Índice primario

Índices con datos ordenados Índice cluster (por atributo Edad)

Índices con datos no ordenados Índices secundarios Se crea una estructura auxiliar ordenada por el campo a indexar. Por cada valor: un puntero al bloque donde se encuentra el valor, Si el valor no se repite: un solo bloque. Sino, una lista. Tengo tantos punteros como bloques contengan al valor.

Índice secundario denso (con puntero a bloque)

Índice secundario denso usando un nivel de indercción (con puntero a registro)

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Índices: otras estructuras utilizadas Hash Muy buen comportamiento en la inserción y en la recuperación por condiciones de igualdad. No funciona bien para condiciones con relaciones de orden. Árboles B y B+ Buen comportamiento en recuperación tanto por condiciones de igualdad como de orden. Buen comportamiento en la inserción. Ocupa más disco.

Árbol B Es un árbol de búsqueda que puede estar vacío o aquel cuyos nodos pueden tener varios hijos tal como muestra el dibujo. Se dice que un árbol-b es de orden M (es el máximo numero de hijos que puede tener) si satisface las siguientes propiedades: Cada nodo tiene como máximo M hijos. Cada nodo (excepto raíz y hojas) tiene como mínimo M/2 hijos. La raíz tiene al menos 2 hijos si no es un nodo hoja. Un nodo no hoja con q hijos, q M, contiene q-1 elementos almacenados (y por tanto q-1 punteros a datos). Los hijos que cuelgan de la raíz (r 1,..., r m ) tienen que cumplir ciertas condiciones: El primero tiene valor menor que r 1. El segundo tiene valor mayor que r 1 y menor que r 2, y así sucesivamente hasta el último hijo que tiene valor mayor que r m.

Árbol B EN ed7 fig 17.10

Árbol B+ La diferencia del Árbol B+ con respecto al árbol B es que no hay datos (puntero a) en los nodos internos. Los datos sólo están en las hojas. En cada nodo interno, el puntero de la izquierda de la clave apunta ahora a los menores o iguales, y el de la derecha a los mayores que la clave. Por otro lado, como los datos están en las hojas, entonces se puede organizar otra estructura sobre ellos que facilita la recorrida ordenada.

Árbol B+ EN ed7 fig 17.11

Resumen sobre Organización y Acceso a los Datos Los DMBSs implementan diferentes estrategias para organizar los registros de una tabla: Registros desordenados con acceso secuencial. Registros ordenados con acceso secuencial. Registros indexados por la clave primaria con hash. Registros indexados por la clave primaria con árbol B+. Registros indexados por otro atributo con un índice clúster.

Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices ordenados Estructuras Hash y Árbol B/B+ 3 Definición de índice en SQL

Definición de índice en SQL Crear un índice, CREATE INDEX nombre_indice ON nombre_relacion (lista_atributos) Utilizar create unique index para especificar e imponer indirectamente la condición de que la clave de búsqueda es una clave candidata. No se necesita si el DBMS soporta la restricción de integridad SQL unique. Eliminar un índice, DROP INDEX nombre_indice La mayoría de los sistemas de BD permiten especificar el tipo de índice.