M. Andrea Rodríguez-Tastets. II Semestre

Tamaño: px
Comenzar la demostración a partir de la página:

Download "M. Andrea Rodríguez-Tastets. II Semestre"

Transcripción

1 M. -Tastets Universidad de Concepción,Chile andrea II Semestre

2

3 Objetivos de la Unidad Entender cómo las consultas son resuelta y cuál es su costo.

4 Evaluación de Plan: Árbol de operadores de algebra relación con la elección de algoritmos por cada operador. Dos importantes consideraciones en optimización de consulta: (1) cuáles planes son considerados?, (2) Cuál es el costo del plan estimado? Idealmente: Uno busca el mejor plan. En la práctica: uno elimina los peores planes

5 Algunas Técnicas Algoritmos para evaluar cada operador relacional usan algunas ideas simples: Indexación: usa condiciones WHERE para recuperar un conjunto pequeño de tuplas (selections y joins) Iteración: Algunas veces es más rápido recorrer todas las tuplas, aún cuando exista un índice. (Algunas veces se pude recorrer las entradas de los índices en vez de los datos en las tablas) Particiones: Usando un ordenamiento o hash se pude dividir las tuplas de entrada y reemplazar una operación sobre todas las tuplas en operaciones similares sobre pequeños conjuntos de tuplas de entrada.

6 Estadísticas y Catálogos Es necesario información acerca de las relaciones e índices existentes. Catálogos típicamente contienen, al menos: N. tuplas (Ntuples) y N. páginas (Npages) por cada relación N. de valores de claves distintos (Nkeys) y Npages por cada índices Altura del índice, valores de claves alta y bajas del árbol de ndice. Los catálogos son actualizados periódicamente Mayor detalle de información puede ser también almacenada (histograms..)

7 Caminos de Acceso Un camino de acceso es un método de recuperación de tuplas. Recorrido del archivo, o índice que concuerda con una selección en la consulta. Un índice árbol calza con una (conjunción) de términos que envuelven sólo atributos en un prefijo de la clave de búsqueda. Ej. El índice de < a, b, c > calza la selección a = 5 AND b = 3, y a = 5 AND b > 6, pero no b = 3 Un índice hash calza con una (conjunción) de términos que tiene un atributo = valor para cada atributo de la clave de búsqueda del índice. Ej. índice hash de < a, b, c > calza con a = 5 AND b = 3 AND c = 5, pero no b = 3, o A = 5 AND b = 3, o a > 5 AND b = 3 AND c = 5.

8 Esquema de ejemplo VELEROS(sid:integer,sname:string,rating: integer, age: real) RESERVAS(sid: integer, bid: integer, day: dates, rname: string) Reservas: Cada tupla es 40 bytes de largo, 100 tuplas por páginas, 1000 páginas. Veleros: Cada tupla es 50 bytes, 80 tuplas por páginas, 500 páginas.

9 Selecciones Complejas (day < 8/9/94 AND rname = Paul ) OR bid = 5ORsid = 3 Condiciones de selección son covertidas primero a forma normal conjuntiva (CNF): (day < 8/9/94 OR bid = 5 OR sid = 3) AND (rname = Paul OR bid = 5 OR sid = 3) Aquí solo discutiremos casos sin or

10 Un Enfoque Encontrar el camino de acceso más selectivo, recuperar las tuplas usándolo, y aplicar cualquier término remanente que no calce el índice. Camino más selectivo: Un índice o barrido de archivo que se piense necesitará menor número de páginas de I/O. Términos que calzan este índice reducen el número de tuplas recuperadas, otros términos son usados para descartar algunas tuplas recuperadas, pero no afectan el número de tuplas/páginas recolectadas (fetched). Considere day < 8/9/94 AND bid = 5 AND sid = 3. Un B+ tree por day puede ser usado; entonces, bid = 5 y sid = 3 deben ser evaluados por cada tupla. Similarmente, un índice hash por < bid, sid > puede ser usado; entonces day < 8/9/94 debe ser evaluado.

11 Usando un índice para Selecciones El costo depende de la cantidad de tuplas y agrupamiento: El costo de encontrar las entradas de datos que califican (típicamente pequeño) más el costo de recuperar registros (puede ser bastante con o sin agrupamiento). Por ejemplo, asumiendo una distribución uniforme de nombres, cerca del 10 % de tuplas califica (100 páginas, tuplas). Con índice agrupado, el costo es un poco más de 100 I/Os; si no está agrupado, puede ser de hasta I/Os. SELECT * FROM Reserves R WHERE R.rname < C %

12 Usando un índice para Proyecciones La parte costosa es remover las duplicaciones. El sistema SQL no remueve tuplas a menos que se use DISTINCT en la consulta. Enfoque de ordenamiento: Ordene por < sid, bid > y elimine duplicados. (Se puede optimizar al eliminar información no deseada en el momento de la ordenación.) Enfoque Hashing: Hash por < sid, bid > para crear particiones. Cargar particiones en memoria una por una, construir en memoria una estructura hash e eliminar duplicados. Si existe un índice con ambos R.sid y R.bid en la clave de búsqueda puede ser más barato ordenar las entradas de datos. Bases de Datos SELECT DISTINCT R.sid, R.bid FROM Reserves R

13 Join de Igualdad con una Columa de Join En algebra: R S es común y debe ser cuidadosamente optimizado. R S es grande; así, R S seguido por una selección es ineficiente. Asuma: M el número de páginas en R, p R tuplas por páginas, N el número de páginas en S, p S tuplas por páginas. En nuestro ejemplo, R es Reservas y S es Veleros. Métrica de costo: # de I/Os. SELECT * FROM Reservas R1, Veleros S1 WHERE R1.sid=S1.sid

14 Join: Loop Anidado Simple foreach tuple r in R do foreach tuple s in S do if r i == s j then add < r, s > to result Por cada tupla en la relación externa R, se recorre la relación interna S entera. Cost: M + p R M N = I/Os, con M el número de páginas en R, p R el número de tuplas por página en R y N el número de páginas en S. Loop anidado de join orientado a la página: Por cada página de R, tome cada página de S, y saque las tuplas que calzan < r, s >, donde r está en página R y s está en página S. Cost: M + M N = Si la relación más chica (S) es externa, costo =

15 Join: Loop Anidado Indexado foreach tuple r in R do foreach tuple s in S where r i == s j do add < r, s > to result Si hay un índice sobre la columna de join en una relación (digamos S), el loop interno puede explotar el índice. Cost: M + ((M p R ) costo de encontrar tuplas en S que calzan. Por cada tupla R, el costo de buscar en índice S es cerca de 1.2 para índice hash, 2-4 para B+ tree. El costo de encontrar tuplas S (asumiendo Alt. loop simple o loop indexado para entradas de datos) depende del agrupamiento: índice agrupado: 1 I/O (típico), no agrupado : hasta 1 I/O por tupla en S que calza.

16 Ejemplo: Loop Anidado Indexado Hash-index sobre sid de Veleros (interna): Recorre Reservas: 1000 páginas I/Os, tuplas. Por cada tupla de en Reservas: 1.2 I/Os para obtener entrada de datos del índice, más 1 I/O para obtener la tupla en Veleros que calza. Total: 220,000 I/Os. Hash-index sobre sid de Reservas (interna): Recorre Veleros: 500 page I/Os, 80*500 tuplas. Por cada tupla en Veleros: 1.2 I/Os para encontrar página de índice con entradas de datos, más el costo de recuperar las tuplas que calzan desde Reservas. Asumiendo distribución uniforme, 2.5 reservaciones por veleros (100, 000/40, 000). Costo de recuperarlos es 1 o 2.5 I/Os dependendiendo si el índice está agrupado o no.

17 Join: Loop Anidado de Bloque R & S Hash table for block of R (k < B-1 pages)... Join Result Input buffer for S Output buffer Use una página como un buffer de entrada para recorrer la relación interna S, una página como buffer de salida, y use todas las páginas remanente para mantener block de la relación externa R. Por cada tupla matching r en R-block, s en S-página, agregue < r, s > al resultado. Entonces lea el próximo R-block, recorra S, etc.

18 Ejemplo: Loop Anidado de Bloque Costo: Recorrido externo + # Blocks externos recorrido interno: # outer blocks = # pages of outer / blocksize Con reservas (R) como externo y 100 páginas de R: Costo de recorrdio de R es 1000 I/Os; un total de 10 blocks. Por bloque de R, se recorre Veleros (S); 10*500 I/Os. Si espacio sólo para 90 páginas de R, se recorría S 12 veces. Con 100-page block de Veleros como externo: Costo de barrido de S es 500 I/Os; un total de 5 blocks. Por bloque de S, se recorre Reserves; 5*1000 I/Os. Con lecturas secuenciales puede ser mejor dividir los buffer en forma balanceada entre R y S.

19 join: Sort-Merge Ordene R y S por la columna de join, entonces recórralos para hacer un merge (sobre la columa join), y saque las tuplas de resultado: Avance en el recorrido de R hasta la R-tupla actual >= que la S-tupla actual, entonces avance en el recorrido de S hasta que S-tupla actual >= R-tupla actual; haga esto hasta que R tupla actual = S tupla actual. En ese punto, todas las R tuplas con el mismo valor en R i (R grupo actual) y todas las S tuplas con el mismo valor en S j (S grupo actual) calzan; saque < r, s > para todos los pares de tuplas. Luego retome el recorrdio de R y S. R es recorrida una vez; cada grupo S es recorrido una vez por tupla R calzante (Barridos múltiples de un grupo S se encuentran probablemente en el buffer)

20 Ejemplo: Sort-Merge Join sid sname rating age 22 dustin yuppy lubber guppy rusty sid bid day rname /4/96 guppy /3/96 yuppy /10/96 dustin /12/96 lubber /11/96 lubber /12/96 dustin Cost: MlogM + NlogN + (M + N). El costo del barrido, M + N, could be M N (muy improbable) Con 35, 100 o 300 páginas buffer, ambos Reservas y Veleros pueden ser ordenados en 2 pasos; costo total 7500.

21 Refinamiento Sort-Merge Join Pueden combinarse las fases de merging en el ordenamiento de R y S con el merging requerido para el join. En ejemplo, costo desciende de 7500 a 4500 I/Os. En la práctica, el costo de sort-merge join, como el costs del ordenamiento externo, es lineal.

22 Hash Join (1) Original Relation... OUTPUT 1 INPUT 2 hash function h B-1 Partitions 1 2 B-1 Divida ambas relaciones usando la misma función h de direccionamiento calculado sobre los atributos de reunión: R tuplas en partición i sólo calzarán las tuplas de S tuplas en partición i. Disk B main memory buffers Disk

23 Hash Join (2) Partitions of R & S hash fn h2 Hash table for partition Ri (k < B-1 pages) Join Result h2 Lea una partición de R, aplique el hash usando h (h h). Recorra partición matching de S, búsque por calces. Disk Input buffer for Si Output buffer B main memory buffers Disk

24 Costo: Hash Join En fase de partición, lectura+escritura de ambas relaciones: 2(M + N). En fase de matching, lectura de ambas relaciones: M + N I/Os. En nuestro ejemplo, este es un total de 4500 I/Os. Sort-Merge Join vs. Hash Join: Dada una cantidad mínima de memoria ambos tienen un costo de 3(M + N) I/Os. Hash Join es mejor si el tamaño de las relaciones difiera enormemente. Además, Hash Join puede paralelizarse. Sort-Merge es menos sensitivo a las distribución de los datos; el resultado está ordenado.

25 Condiciones Generales Join Igualdad sobre varios artibutos (e.g., R.sid = S.sid AND R.rname = S.sname): Para NL indexado, construya índice sobre < sid, sname > (Si S es interno); o use índices existente sobre sid o sname. Para Sort-Merge y Hash Join, sort/partition en combinación de las dos columnas. Condiciones de desigualdad (e.g., R.rname < S.sname): Para NL indexado, necesita índice B+ tree agrupado. # de calces tienden a ser más que por join por igualdad. Hash Join, Sort Merge Join no son aplicables. Block NL por bloques es probablemente mejor para métodos de join de este tipo de consultas.

26 Ordenamiento/Clasificación Es uno de los algoritmos básicos empleados en procesamiento de consultas. Por ejemplo, ORDER BY, UNION, DISTINCT, etc.. El algorimo de clasificación externa considera el ordenamiento de archivos que no caben totalmente en memoria. Para ello se ocupa una estrategia de clasificacion/fusional (sort-merge)

27 algoritmo Sort-Merge Sea i 1; j b (tamaño del fichero en bloques); k n b (tamaño del búfer en bloques); m (j/k) ; (Fase de clasificación) mientras (i m) hacer { leer siguientes k bloques del fichero en el búfer o si quedan menos de k bloques, entonces leer los restantes bloques; clasificar los registros en el búfer y escribirlos como un subfichero temporal; i i + 1; } (Fase de fusión: fusionar archivos hasta que sólo quede 1) Sea i 1; p log k 1 m (p es el número de pasadas de la fase); j m; mientras (i p) hacer { n 1; q (j/(k 1)) ; (número de archivos a escribir en este paso) mientras (n q) hacer { leer los siguientes k 1 subarchivos o los subarchivos restantes un bloque cada vez; fusionar y escribir un nuevo subarchivo; n n + 1; } j q; i i + 1; }

28 Ejemplo: Indice Agrupado Indice B+ tree sobre el atributo edad de empleado puede ser usado para calificar tuplas: SELECT E.edad FROM EMPLEADO E WHERE E.edad > 40 Consider la consulta GROUP BY SELECT E.Ndpto, COUNT( ) FROM EMPLEADO E WHERE E.edad > 40 GROUP BY E.Ndpto Consulta de igualdad y duplicacin SELECT E.nombre FROM Empleado E WHERE E.Hobby = musica

29 Indice con Clave Compuesta Búsqueda por la composición de atributos: Consulta por igualdad: Cada atributo es igual a una cte. Consulta por rango: Uno o varios de los atributos no debe ser igual a una cte. Entrada de datos en índice ordenadas por clave de búsqueda para consultas por rango Los índices por clave compuestas son más grandes y requieren mayor actualizacin

30 Sólo Indice Algunas consultas puede ser respondidas sin recuperar tuplas que forman parte de la relación manejada por el índice. SELECT Ndpto, COUNT( ) FROM EMPLEADO GROUP BY Ndepto En general, consultas que retornan funciones de agregación Este tipo de respuesta es posible si el índice es por Ndpto.

31 Modelo de costo B: Número de páginas de datos R: Número de registros por página D: Tiempo (promedio) para leer/escribir una página de/a disco. Midiendo el número de páginas I/O ignora las ganancias para secuencia de páginas. El análisis de costo es una simplificación pero muestra la tendencia

32 Comparación: organización de archivos Pila: orden aleatorio con inserción al final Archivos ordenados por un clave Archivo B+ agrupado Hash no agrupado

33 Comparación: operaciones Barrido (scan) Búsqueda con selección de igualdad Búsqueda con selección de rango Insertar registro Borrar registro

34 Comparación Barrido Igualdad Rango Pila BD 0,5BD BD Ordenado BD Dlog 2 B D(log 2 B+ # match pages) Arbol agrup. BD(R + 0,15) D(1 + log F 0,15B) D(log F 0,15B+ # match pages) Hash no agrup. BD(R + 0,125) 2D BD Insertar Borrar Pila 2D Search + D Ordenado Search + BD Search + BD Arbol agrup. Search + 2D Search + 2D Hash no agrup. Search + 2D Search + 2D

35 Carga de trabajo Para cada consulta: Qué relaciones accesa? Qué atributos se recuperan? Cuáles atributos participan en condición de selección? Cuán selectiva son estas condiciones? Para actualización Cuáles atributos participan en condicin de selección? Cuán selectiva son estas condiciones? El tipo de actualización

36 Elección del indice (1) Qué índice debiera crear: Qué relaciones debieran tener índices? Qué campos debieran formar llaves de búsqueda? Cuántos índices debíeramos crear? Para cada índice Qué tipo? (árbol, hash, agrupado) Enfoque: considere las consultas más importantes en turno. Considere un plan de ejecución de una consulta y vea si agregando un índice esto puede mejorarse Antes de crear el índice, piense su implicancia en el costo de actualización

37 Elección del indice (2) Atributos en WHERE son candidatos de clave de búsqueda: (1) condiciones de matching exacto sugiere Hash, (b) rango sugiere árbol. Claves con múltiple atributos se consideran cuando WHERE tienen muchas condiciones. Estas condiciones puden evaluarse con estrategias de only-index.

38 Ejercicio (1) Defina el término de camino de acceso selectivo de una consulta. Por qué las formas normal conjuntiva es usada para el procesamiento de consultas?

39 Ejercicio (2) Considere una relacion R(a, b, c, d, e) contiene 50, 000 registros, donde cada página contiene 10 registros. R está organizado como un archivo ordenado con índices secundarios. Asuma que R.a es la clave candidata de R, con valores entres 0 y y que R es almacenda en el orden dado por R.a. Además considere que los valores de b se distribuyen uniformemente de manera que no existen más de 10 tuplas con los mimos valores de b. Por cada una de las consultas siguientes, indique cuál de los siguientes enfoques es el más baratos: Enfoques: 1. Acceso de archivos ordenado por R directamente 2. Uso de B+ agrupados sobre atributo R.a 3. Uso un índice hash sobre atributo R.a 4. Uso B+ agrupado sobre atributos (R.a, R.b) 5. Uso hash sobre atributos (R.a, R.b) : 1. σ a<50,000andb<50,000 (R) 2. σ a=50,000andb<50,000 (R) 3. σ a>50,000andb=50,000 (R) 4. σ a=50,000andb=50,000 (R) 5. σ a 50,000ANDb=50,000 (R) 6. σ a<50,000andb=50,000 (R)

40 En un proceso de procesamiento de consulta, se crea una representación interna de la consulta, por lo regular en forma de estructura de datos de árbol o grafo. Esto se denomina árbol o grafo de consulta. En seguida, el SGBD debe crear una estrategia de ejecución para obtener el resultado de la consulta a partir de los archivos internos de la base de datos. Por lo general, una consulta tiene muchas posibles estrategias de ejecución, y el proceso de elegir la más adecuada se conoce como optimización de consultas.

41 (1) Consulta en un lenguaje de alto nivel Analisis lexico y analisis sintactico y validacion Forma intermedia de la consulta Optimizador de consultas Plan de ejecucion Generador de codigo de consulta Codigo para ejecutar la consulta Procesador de base de datos en tiempo de ejecucion Resultado de la consulta

42 (2) El módulo optimizador de consultas se encarga de producir un plan de ejecución y el generador de código genera el código necesario para ejecutarlo. El optimizador en realidad no escoge siempre el plan más óptimo, ya que encontrar la estrategia óptima puede consumir mucho tiempo. Solo escoge una estrategia razonablemente eficiente.

43 Técnicas de Las técnicas para optimizar consultas son dos: basada en reglas heurísticas, que permiten ordenar las operaciones de la consulta en un árbol o grafo. basada en costos, que estiman el costo sistemáticamente, y eligen la de más bajo costo.

44 heurística de árboles de consulta La principal regla heurística es aplicar las operaciones de restricción y proyección antes de aplicar la reunión u otras operaciones binarias. Esto es porque el tamaño del archivo resultante de una operación binaria es una función de los tamaños de los archivos de entrada (en algunos casos función multiplicativa). Un árbol de consulta es una estructura de árbol que corresponde a una expresión del álgebra relacional por el hecho de que representa las relaciones de entrada como nodos hoja del árbol y las operaciones del álgebra relacional como nodos internos.

45 Ejemplo Obtener para cada proyecto ubicado en santiago, su número, el número del departamento que lo controla, el apellido, la dirección y la fecha de nacimiento del gerente de ese departamento. SELECT numerop,numd,apellido,direccion,fechan FROM proyecto,departamento,empleado WHERE numd=numerod AND nssgte=nss AND lugarp= santiago

46 Arbol Canónico (1) En general, existen muchos árboles de consulta que representan una sola consulta. De modo que el analizador sintáctico de consultas, casi siempre genera un árbol de consulta canónico estándar que corresponde a una consulta en SQL, sin efectuar optimización

47 Arbol Canónico (2) Numerop,numd,apellido,direccion,fechan Selection Numd=numerod AND nssgte=nss AND lugarp= santiago Producto Cartesiano X X DEPARTAMENTO PROYECTO EMPLEADO

48 Arbol Canónico (3) El árbol canónico se construye aplicando primero el producto cartesiano de las relaciones especificadas en la cláusula FROM, luego las condiciones de selección y reunión de la cláusula WHERE, seguidas de la proyección sobre los atributos de la cláusula SELECT.

49 Arbol Canónico (4) Este árbol es muy ineficiente, debido al producto cartesiano. Por ejemplo, si las relaciones PROYECTO, DEPARTAMENTO, EMPLEADO tienen 100, 50 y 150 bytes, y contuvieran 100, 20 y 5000 tuplas, respectivamente, el resultado del producto cartesiano contendría 10 millones de tuplas con un tamaño de registro de 300 bytes. Así, el optimizador transformará este árbol de consulta inicial a un árbol de consulta final cuya ejecución sea eficiente. Al hacer esta conversión, se deben ocupar reglas de transformación que vayan conservando las equivalencias.

50 Ejemplo Numerop,numd,apellido,direccion,fechan (3) join nssgte=nss Las 3 relaciones PROYECTO, DEPARTAMENTO, EMPLEADO se representan con nodos hoja, y las operaciones del álgebra relacional con nodos internos. (2) join numd=numerod (1) lugarp= santiago DEPARTAMENTO EMPLEADO PROYECTO Cuando se ejecuta el árbol de consulta, se ejecuta primero el nodo (1), ya que el resultado de (1) debe estar disponible para ejecutar (2).

51 Reglas de Transformaciones (1) cascada de restricciones (σ): una condición de selección conjuntiva puede descomponerse en una secuencia de operaciones σ individuales. σ c1andc 2AND...ANDc n (R) σc 1 (σc 2 (...(σc n (R))...)) conmutatividad de σ : σc 1 (σc 2 (R)) σc 2 (σc 1 (R)) cascada de π: En una secuencia de operaciones π, podemos ignorar todas menos la ltima: π lista1 (π lista2 (...(π listan (R))...)) π lista1 (R)

52 Reglas de Transformaciones (2) conmutación de σ con π: si en la condición de selección C intervienen sólo los atributos A 1,..., A n de la lista de proyección, se pueden conmuta ambas operaciones: πa 1, A 2,..., A n (σ c (R)) σ c (π A1,A 2,...,A n (R)) conmutatividad de join: R S S R conmutación de σ con join: si todos los atributos de la condición de seleccin C pertenecen a sólo una de las relaciones por reunir, digamos R, las dos operaciones pueden conmutarse. σ c (R S) (σ c (R)) S

53 Resumen La principal heurística de la optimización algebraica consiste en aplicar primero las operaciones que reducen el tamaño de los resultados intermedios. En esto entra la ejecución de las operaciones seleccionar tan pronto como sea posible para reducir el número de tuplas y la ejecución de las operaciones proyectar tan pronto como sea posible para reducir el número de atributos. Esto se logra desplazando las operaciones seleccionar y proyectar lo más abajo que se pueda en el árbol. Además se deben ejecutar las operaciones seleccionar y reunión más restrictivas (las que producen relaciones con el menor número de tuplas o el tamaño absoluto más pequeño) antes que otras operaciones similares.

Introducción a Evaluación y Optimización de Consultas

Introducción a Evaluación y Optimización de Consultas Introducción a Evaluación y Optimización de Consultas Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 1 Cuál es el propósito?! Obtener un buen plan de ejecución (Minimizar

Más detalles

Procesamiento de consultas (capítulo 13 y 14 del libro)

Procesamiento de consultas (capítulo 13 y 14 del libro) Procesamiento de consultas (capítulo 13 y 14 del libro) El procesamiento de consulta corresponde a todos los procesos relacionados con la extracción de datos en una base de datos, incluyendo la traducción

Más detalles

Optimización. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Optimización. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Optimización Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Conceptos básicos Dada una consulta, existen diferentes formas (estrategias) de calcular la respuesta. Los usuarios generalmente

Más detalles

Resumen de las clases 6 y 9 de junio

Resumen de las clases 6 y 9 de junio Resumen de las clases 6 y 9 de junio Avance general de la materia En estas dos clases se vio: Un repaso, con ejercicios, de la materia de índices. Una introducción a la arquitectura de procesamiento de

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Cómo se resuelven las consultas? Haga clic para modificar el estilo de texto del patrón Segundo nivel Tercer nivel Cuarto nivel Quinto nivel Estrategias usuales de los optimizadores

Más detalles

Organización y Acceso a Datos

Organización y Acceso a Datos Organización y Acceso a Datos Referencias: capítulos 5 y 6 de Fundamentals of Database Systems CSI-INCO Fundamentos de Bases de Datos 1 Organización física de datos leído usando BUFFER ubicados en forman

Más detalles

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

Organización y acceso a los datos (continuació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

Más detalles

En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos:

En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos: Ejercicio Integrador de Procesamiento y Optimización de Consultas En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos: Micro(numMicro, marca, numempresa)

Más detalles

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas 16/12/2011 s Procesamiento y Optimización de Consultas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla diciembre 2011 s Objetivos

Más detalles

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas 12/12/2013 Procesamiento y Optimización de Consultas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla diciembre 2012 Objetivos

Más detalles

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas 30/09/2016 s Procesamiento y Optimización de Consultas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla septiembre 2016 s Objetivos

Más detalles

Almacenamiento y Recuperación de la Información

Almacenamiento y Recuperación de la Información Almacenamiento y Recuperación de la Información Técnicas de Indexación Indices Dinámicos do Semestre 5 Wenceslao Palma M. www.inf.utfsm.cl/~wpalma/ari Indices Dinámicos Indices tipo

Más detalles

8. Procesamiento y optimización de consultas

8. Procesamiento y optimización de consultas 8. Procesamiento y optimización de consultas Objetivos Comprender las tareas de procesamiento y optimización de consultas realizadas por un sistema gestor de bases de datos relacional. Conocer reglas heurísticas

Más detalles

12. Procesamiento y Optimización de Consultas

12. Procesamiento y Optimización de Consultas 12. Procesamiento y Optimización de Consultas Objetivos Comprender las tareas de procesamiento y optimización de consultas realizadas por un sistema gestor de bases de datos relacional. Conocer reglas

Más detalles

Bases de Datos I. Cursada Clase 5: Optimización de Consultas

Bases de Datos I. Cursada Clase 5: Optimización de Consultas Bases de Datos I Cursada 2008 Clase 5: Optimización de Consultas Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. DISEÑO Y OPTIMIZACIÓN DE BASES DE DATOS Objetivo Mejorar los

Más detalles

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria Estructura de datos y Algoritmos Tema III Clasificación en memoria secundaria 3.1. Clasificación externa basada en mezcla 3.1.1. Mezcla directa. 3.1.2. Mezcla natural. 3.1.3. Mezcla balanceada múltiple.

Más detalles

CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL

CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL Rodrigo Paredes Moraleda 23 de junio de 2002 1. Caso de estudio Considere el siguiente esquema: CLIENTE{CLI ID, CLI NOMB, CLI RENTA ANUAL, CLI

Más detalles

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Bases de Modelo Físico M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl de un solo II Semestre - 2014 Bases de de un solo de un solo Bases de Objetivos de la Unidad Entender

Más detalles

La eficacia, representación fiel de la realidad, se consigue a través de un buen diseño lógico global de la base de datos

La eficacia, representación fiel de la realidad, se consigue a través de un buen diseño lógico global de la base de datos 1.- Objetivo del diseño físico 2.- Metodología de desarrollo de bases de datos relacionales 3.- Pasos a seguir dentro del diseño físico - Traducir el modelo lógico de la base de datos al SGBD seleccionado.

Más detalles

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A. Docente: Albert A. Osiris Sofía 1º Cuatrimestre 2002 Conceptos Básicos Indices Ordenados Arboles Asociación Indexación y Asociación Archivos Indice 1 2 3 1 Archivos Indice Ordenados Asociativos Primario

Más detalles

Bases de Datos Multimedia

Bases de Datos Multimedia Bases de Datos Multimedia Capítulo 3 Algoritmos de búsqueda por similitud Este material se basa en el curso de Base de Datos Multimedia del DCC de la Universidad de Chile (Prof. Benjamín Bustos). 3.1 Conceptos

Más detalles

El nivel Interno. Índice Tema 3

El nivel Interno. Índice Tema 3 El nivel Interno Índice Tema 3 iel nivel Interno...1 Introducción...2 Etapas de acceso a la base de datos...2 Gestor de Disco...3 Gestor de Ficheros...3 Agrupamiento...4 Interactivos...4 Entrearchivos...4

Más detalles

Bases de Datos. Álgebra Relacional

Bases de Datos. Álgebra Relacional Álgebra Relacional Álgebra Relacional Lenguajes de acceso a BD Álgebra Relacional Lenguaje procedimental (se indica qué obtener y cómo obtenerlo) Lenguajes de Usuario SQL (Structured Query Language), basado

Más detalles

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

SQL. Amparo López Gaona. México, D.F. Noviembre 2003 Amparo López Gaona México, D.F. Noviembre 2003 Introducción El lenguaje SQL (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso

Más detalles

Análisis de Consultas

Análisis de Consultas Análisis de Consultas Contenido Introducción 1 Consultas que utilizan el operador AND 2 Consultas que utilizan el operador OR 4 Consultas que utilizan operaciones de combinación 5 Análisis de Consultas

Más detalles

Oracle Database 12c SQL and PLSQL Fundamentals

Oracle Database 12c SQL and PLSQL Fundamentals Oracle Database 12c SQL and PLSQL Fundamentals DESCRIPCION MODULOS DE CAPACITACION Introducción Información general sobre 12c de base de datos Oracle y productos afines Descripción de los conceptos y la

Más detalles

Operador Restricción

Operador Restricción Algebra Relacional Conjunto de operadores que opera sobre relaciones Cada uno de estos operadores toma una o dos relaciones como entrada y produce una nueva relación como salida. Las relaciones originales

Más detalles

Indexación y Asociación

Indexación y Asociación Bases de Datos Indexación y Asociación Contenidos Conceptos básicos Indices Ordenados Árboles B+ ArbolesB Asociación estática Bases de Datos Indexación y Asociación 2 Conceptos básicos Los Indices se utilizan

Más detalles

Algebra Relacional Algebra Relacional

Algebra Relacional Algebra Relacional Álgebra relacional Conjunto de operaciones usadas para manipular relaciones. Estas operaciones toman relaciones como operandos y regresan relaciones que a su vez pueden ser manipuladas. MR es cerrado.

Más detalles

TEMA 6.- LENGUAJES DE CONSULTA FORMALES.

TEMA 6.- LENGUAJES DE CONSULTA FORMALES. TEMA 6.- LENGUAJES DE CONSULTA FORMALES. Introducción. El Algebra Relacional. 1. Introducción. - Un lenguaje de consulta es un lenguaje con el que el usuario solicita información de la base de datos: se

Más detalles

Organización física de las bases de datos T

Organización física de las bases de datos T Bases de Datos 1 Dpto. Lenguajes y Sistemas Informáticos Organización física de las bases de datos T7.2006-07 Dpto. Lenguajes y Sistemas Informáticos Universidad de Alicante organización física bd Objetivos

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto El procesamiento de consultas en un sistema multibase de datos es la pieza mas importante para la operación del

Más detalles

Optimización de Consultas

Optimización de Consultas Optimización de Consultas Ejercicios simples Base de Datos, DC-FCEyN-UBA Rosana Matuk 13 de octubre de 2016 Rosana Matuk (DC-FCEyN-UBA) Optimización 13 de octubre de 2016 1 / 32 Esquema General 1 Introducción

Más detalles

Al finalizar esta práctica el alumno será capaz de: Elegir los tipos de índices a utilizar según las consultas más frecuentes.

Al finalizar esta práctica el alumno será capaz de: Elegir los tipos de índices a utilizar según las consultas más frecuentes. PRÁCTICA 14 Manejo de índices 14.1. Meta Que el alumno comprenda la importancia que tiene la creación y el manejo adecuado de los índices, así como las opciones de configuración que presenta PostgreSQL.

Más detalles

Unidad 3. Álgebra Relacional y Cálculo Relacional

Unidad 3. Álgebra Relacional y Cálculo Relacional Unidad 3 Álgebra Relacional y Cálculo Relacional Álgebra Relacional Definición de Álgebra Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden

Más detalles

UNIDAD4. 1. Procedimentales 2. No Procedimentales

UNIDAD4. 1. Procedimentales 2. No Procedimentales UNIDAD4 Concepto de Clasificación de Lenguajes Concepto: Un lenguaje de consulta es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes son normalmente de más alto

Más detalles

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas FCEyN UBA Bases de Datos Procesamiento y Optimización de Consultas Índice 1. Introducción 4 2. Descripción General del Procesamiento de Consultas 4 2.1. Procesamiento de Consultas.........................

Más detalles

Capítulo 3. Clasificación en Memoria Secundaria

Capítulo 3. Clasificación en Memoria Secundaria Capítulo 3. Clasificación en Memoria Secundaria INTRODUCCIÓN Las memorias secundarias (cintas magnéticas, discos duros, ) se caracterizan en general porque el acceso es secuencial. Es decir, en un instante

Más detalles

Algebra Relacional. Bases de Datos 2 - Tecnologo de Informatica. BD2 - Algebra Relacoinal

Algebra Relacional. Bases de Datos 2 - Tecnologo de Informatica. BD2 - Algebra Relacoinal Algebra Relacional Bases de Datos 2 - Tecnologo de Informatica Outline 1 Introducción Vision general 2 Operadores Operaciones relacionales unarias Operaciones de la teoría de conjuntos Operadores derivados

Más detalles

AR - Marco General. Álgebra Relacional AR - SELECT. AR - SELECT - Propiedades. 19/Agosto/2016

AR - Marco General. Álgebra Relacional AR - SELECT. AR - SELECT - Propiedades. 19/Agosto/2016 AR - Marco General Marco General 19/Agosto/2016. Lenguaje formal utilizado en el modelo relacional Permite a usuarios especificar consultas sobre instancias de relaciones El resultado de una consulta es

Más detalles

Procesamiento de Consultas. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Procesamiento de Consultas. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Indexación 3 Costo de las Operaciones 4 Evaluación de Expresiones 5 Transformación de Expresiones 6 Un ejemplo con Oracle Pasos

Más detalles

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

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...

Más detalles

Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación

Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación CONTROL III: Bases de Datos Prof. Andrea Rodríguez, Ayudante: Daniel Campos 13 de Diciembre del 2012 1. El Ministerio de Cultura de Chile desea mantener información acerca de las pinturas que se encuentran

Más detalles

Apunte de Procesamiento y Optimización de Consultas

Apunte de Procesamiento y Optimización de Consultas Apunte de Autores Diego Castro Sergio D Arrigo Leticia Seijas Con la colaboración de Cecilia Briozzo, Alejandro Eidelsztein y Cecilia Ruz Índice 1 Introducción.... 2 Descripción General del Procesamiento

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 3. Estructuras de Almacenamiento Básicas. Definición y Manejo. 1.- Búsqueda de Información. Definición de Clave. 2.- Definición y Manejo

Más detalles

SQL: Lenguaje de Interrogación Estructurado

SQL: Lenguaje de Interrogación Estructurado SQL: Lenguaje de Interrogación Estructurado SQL Es el lenguaje para Bases de Datos Relacionales más usado Es un lenguaje declarativo: QUÉ no CÓMO El núcleo fundamental se basa en el Algebra Relacional,

Más detalles

TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL)

TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL) TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL) 1.- OBJETIVOS Al finalizar la práctica el estudiante estará en condiciones de: - Identificar las equivalencias del algebra relacional en SQL - Utilizar funciones

Más detalles

El Modelo Relacional - Dinámica-

El Modelo Relacional - Dinámica- El Modelo Relacional - Dinámica- Diseño de Bases de Datos y Seguridad de la Información www.kybele.es Índice 1. Introducción 2. Álgebra Relacional 2.1. Operación de Asignación y Renombrado de Atributos

Más detalles

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio de 2008)

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio de 2008) SI Rodee con un círculo lo que corresponda: NO presto mi consentimiento expreso a que la nota referida al presente examen sea publicada en los tablones habilitados a tal efecto en esta Escuela de la Universidad

Más detalles

INDICE. Prólogo de la Segunda Edición

INDICE. Prólogo de la Segunda Edición INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos

Más detalles

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

Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 6). Garcia-Molina, Ullman

Más detalles

Registros Un campo: Registro:

Registros Un campo: Registro: Agenda 1) 2) registros ordenados registros desordenado Agenda 3) Organización de. 4) desordenado Organización de. Un campo: es el elemento de datos básico. Un campo individual contiene un valor único.

Más detalles

localizar de un dato con un acceso directo y en una sola comparación de la llave. HASH

localizar de un dato con un acceso directo y en una sola comparación de la llave. HASH HASH Un conjunto es una colección de objetos, los cuales no necesariamente tienen relación entre sí, como de orden, descendencia, etc.; tampoco están obligados a compartir atributos. En el área computacional,

Más detalles

El Modelo Relacional: Dinámica y Álgebra Relacional. El Modelo Relacional Tema 8

El Modelo Relacional: Dinámica y Álgebra Relacional. El Modelo Relacional Tema 8 El Modelo Relacional: Dinámica y Álgebra Relacional El Modelo Relacional Tema 8 Índice 1. Introducción 2. Álgebra Relacional 1. Operadores de Asignación y Renombrado de Atributos 2. Operadores Primitivos

Más detalles

álgebra relacional 2

álgebra relacional 2 16/04/2012 1 La división es un operador "extraño" dentro del álgebra relacional por su especificidad. Suponemos que su inclusión en AR tiene que ver con el "para todos" ( x F) del cálculo relacional puesto

Más detalles

Bases de datos 1. Teórico: Algebra Relacional

Bases de datos 1. Teórico: Algebra Relacional Bases de datos 1 Teórico: Algebra Relacional ALGEBRA RELACIONAL Conjunto de operadores para consultar BDs Relacionales. Operaciones relacionales unarias: Selección y Proyección Operaciones de álgebra relacional

Más detalles

Tema 5 Algebra Relacional

Tema 5 Algebra Relacional Asignatura de Bases de Datos Tema 5 Algebra Relacional Pedro Pablo Alarcón Cavero Departamento de O.E.I. Escuela Universitaria de Informática Universidad Politécnica de Madrid 1 Introducción Álgebra Relacional

Más detalles

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio 2010)

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio 2010) SI Marque lo que corresponda: NO presto mi consentimiento expreso a que la nota referida al presente examen sea publicada en los tablones habilitados a tal efecto en esta Escuela de la Universidad Rey

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 4. Técnicas de Dispersión. Definición y Manejo.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 4. Técnicas de Dispersión. Definición y Manejo. FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 4. Técnicas de Dispersión. Definición y Manejo. 1.- Introducción. 2.- Funciones de Dispersión. 3.- Saturación Progresiva. 4.- Empaquetado

Más detalles

NORMAS DE DESARROLLO DE APLICACIONES PARA LA

NORMAS DE DESARROLLO DE APLICACIONES PARA LA DIRECCIÓN GENERAL MINISTERIO DE HACIENDA Y ADMINISTRACIONES PUBLICAS DE ORDENACIÓN DEL JUEGO S U B D NORMAS DE DESARROLLO DE APLICACIONES PARA LA DIRECCIÓN GENERAL DE ORDENACIÓN DEL JUEGO: BASES DE DATOS

Más detalles

El Modelo Relacional (5 de 5)

El Modelo Relacional (5 de 5) El Modelo Relacional (5 de 5) T3.2006-07 Dpto. Lenguajes y Sistemas Informáticos Universidad de Alicante OPERADORES del MR LDD lenguaje de definición de datos creación/modificación de tablas, seguridad,

Más detalles

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

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.

Más detalles

ANÁLISIS SEMÁNTICO LA TABLA DE SÍMBOLOS

ANÁLISIS SEMÁNTICO LA TABLA DE SÍMBOLOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

TEMA I- Diseño Físico 1

TEMA I- Diseño Físico 1 OBJETIVOS DEL TEMA: TEMA I- Diseño Físico 1 Saber responder a las siguientes preguntas: o Cuál es el propósito del diseño físico de una BD? o Cómo almacena y accede a datos persistentes un SGBD? o Cómo

Más detalles

Minería de Datos Web. Cursada 2018

Minería de Datos Web. Cursada 2018 Minería de Datos Web Cursada 2018 Proceso de Minería de Texto Clustering de Documentos Clasificación de Documentos Es un método supervisado para dividir documentos en base a categorías predefinidas Los

Más detalles

SQL: Consultas Avanzadas. Bases de Datos

SQL: Consultas Avanzadas. Bases de Datos SQL: Consultas Avanzadas Bases de Datos Resumen: Consultas Básicas SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING

Más detalles

FICHEROS Y BASES DE DATOS 2º ITIG 26/6/99. (2.5 puntos)

FICHEROS Y BASES DE DATOS 2º ITIG 26/6/99. (2.5 puntos) TEST FICHEROS Y BASES DE DATOS 2º ITIG 26/6/99 (2.5 puntos) 1. A qué se deben los problemas de fragmentación interna cuando un disco se divide en sectores? A que sectores y clusters tienen tamaño fijo.

Más detalles

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN

Más detalles

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

Métodos de Ordenamiento. Unidad VI: Estructura de datos Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden

Más detalles

Capítulo 6. Relaciones. Continuar

Capítulo 6. Relaciones. Continuar Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,

Más detalles

Sub consultas Objetivos Utilizando una sub consulta para resolver un problema

Sub consultas Objetivos Utilizando una sub consulta para resolver un problema Juanjo Dai Sub consultas Objetivos En este texto se aprenderá más acerca de las características avanzadas de las sentencias SELECT Describirán los tipos de problemas que una sub consulta puede resolver

Más detalles

05 Análisis léxico I Compiladores - Profr. Edgardo Adrián Franco Martínez

05 Análisis léxico I Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Introducción Análisis léxico Funciones del analizador léxico Tokens y lexemas Palabras reservadas Estrategias de recuperación de errores léxicos Manejo de búferes 3 Introducción Para la construcción

Más detalles

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

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón 1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado

Más detalles

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Cálculo Relacional y SQL

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Cálculo Relacional y SQL BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Cálculo Relacional y SQL Lledó Museros / Ismael Sanz museros@icc.uji.es / isanz@icc.uji.es 1de 26 Índice 1. Introducción 2. Cálculo Relacional

Más detalles

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 05: Tablas hash M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Función

Más detalles

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES BUSQUEDA Cuando se realizan operaciones de búsqueda es preciso

Más detalles

Almacenamiento y Recuperación de la Información

Almacenamiento y Recuperación de la Información Almacenamiento y Recuperación de la Información Técnicas de Indexación do Semestre 005 Wenceslao Palma M. www.inf.utfsm.cl/~wpalma/ari Un índice es un archivo usado para agilizar

Más detalles

Manual Buenas Prácticas Codificación SQL Server MANUAL DE REFERENCIA. v. 1.0

Manual Buenas Prácticas Codificación SQL Server MANUAL DE REFERENCIA. v. 1.0 Manual Buenas Prácticas Codificación MANUAL DE REFERENCIA v. 1.0 Historia de Revisión MANUAL BUENAS PRÁCTICAS CODIFICACIÓN Fecha Versión Descripción Autor 1.0 Creación del Manual Ricardo Larriega 06/11/2012

Más detalles

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda;

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda; SQL El Lenguaje de Consulta Estructurado (SQL) se usa para consultar, actualizar y administrar bases de datos relacionales, tales como las de Microsoft Access. Al crear una consulta en la ventana Consulta,

Más detalles

FUNDAMENTOS ORACLE 12C

FUNDAMENTOS ORACLE 12C FUNDAMENTOS ORACLE 12C Introducción a Oracle Fundamentos 12c Aprende a programar en SQL con la base de datos más poderosa del mercado. Diseña y modela bases de datos corporativas utilizando las herramientas

Más detalles

Guía práctica SQL. (c) Francisco Charte Ojeda

Guía práctica SQL. (c) Francisco Charte Ojeda Guía práctica SQL Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS (c) Francisco Charte Ojeda Cómo usar este libro Convenciones tipográficas 1. El modelo relacional 1.1. Introducción

Más detalles

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S.

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S. SQL, Consultas Andrés Moreno S. 1 Son Importantes las Consultas? Una cosa es guardar la información en forma estructurada y ordenada. Pero el utilizar la información y entender su relevancia son la clave

Más detalles

Algoritmos sobre Listas

Algoritmos sobre Listas TEMA 6 Algoritmos sobre Listas V1.1 Manuel Pereira González Agenda Introducción Algoritmos de Búsqueda Búsqueda Secuencial Búsqueda Binaria Análisis de Eficiencia Algoritmos de Inserción Algoritmos de

Más detalles

Cátedra de Base de Datos

Cátedra de Base de Datos Cátedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2018 Programa Analítico de la Materia Unidad 4: Álgebra relacional Álgebra relacional. Sintaxis

Más detalles

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

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Esquema de la clase 1. Procesamiento de consultas 2. El optimizador del DBMS 3. Los Ajustes del Rendimiento

Más detalles

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas

UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS. Diseno Físico de Bases de Datos Objetivo. 2.2 Visión General del Procesamiento de Consultas UNIDAD 3 ASPECTOS ASOCIADOS CON BASES DE DATOS Temario 2.1 Diseño Físico de Bases de Datos 2.2 Visión General del Diseno Físico de Bases de Datos Objetivo Corresponde al proceso de elegir las estructuras

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Operadores. Además se pueden emplear en sentencias SET.

Operadores. Además se pueden emplear en sentencias SET. Operadores MySQL dispone de multitud de operadores diferentes para cada uno de los tipos de columna. Esos operadores se utilizan para construir expresiones que se usan en cláusulas ORDER BY y HAVING de

Más detalles

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 3-Septiembre Nombre:

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 3-Septiembre Nombre: Ficheros y Bases de Datos Curso 2009-10 Ingeniería Técnica de Informática Primer Parcial. 3-Septiembre-2010 Nombre: Se debe entregar esta hoja 2 horas 1 (3,5 puntos A partir de la información sobre la

Más detalles

Conceptos básicos de álgebra relacional

Conceptos básicos de álgebra relacional PROGRAMA DE FORMACIÓN UNIDAD DE APRENDIZAJE ACTIVIDAD OBJETIVOS IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA OFIMATICA, WEB Y DESARROLLO DE SISTEMAS II-A GESTORES DE BASES DE DATOS ALGEBRA RELACIONAL APLICAR

Más detalles

Sin embargo, es muy habitual la necesidad de realizar ese cálculo no de forma global sino particularizando por algún criterio.

Sin embargo, es muy habitual la necesidad de realizar ese cálculo no de forma global sino particularizando por algún criterio. Lecciones SQL > T09 Agregación Contenidos Group by Recordemos que el uso de funciones de agregados nos permite realizar cálculos sobre la totalidad de filas que cumplen una determinada condición (o sobre

Más detalles

FICHEROS Y BASES DE DATOS 2º ITIG 19/12/2000 NOMBRE

FICHEROS Y BASES DE DATOS 2º ITIG 19/12/2000 NOMBRE FICHEROS Y BASES DE DATOS 2º ITIG 19/12/2000 NOMBRE Las preguntas del examen que son de test se deben contestar en esta hoja de respuestas. Cada pregunta tiene tres respuestas: dos son falsas y sólo una

Más detalles

Insertar Datos en Tablas

Insertar Datos en Tablas Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se

Más detalles

Jerarquía de Almacenamiento

Jerarquía de Almacenamiento 1) Explicar la organización de los medios de almacenamiento en primarios, secundarios y terciarios. Jerarquía de Almacenamiento Velocidad de Acceso, Costo, Memoria Cache Memoria Ppal. Volátil Almacenamiento

Más detalles

Diseño de Bases de Datos Álgebra Relacional

Diseño de Bases de Datos Álgebra Relacional Diseño de Bases de Datos Álgebra Relacional Alonso Inostrosa Psijas USACH Alonso Inostrosa Psijas 1 / 46 Contenidos 1 Operaciones Básicas de Álgebra Relacional La Operación Select La Operación Proyección

Más detalles

CC BASES DE DATOS OTOÑO 2018

CC BASES DE DATOS OTOÑO 2018 CC3201-1 BASES DE DATOS OTOÑO 2018 Clase 6: SQL (II) Aidan Hogan aidhog@gmail.com Forma básica de una consulta de SQL Los planetas EL TEMA DE HOY MÁS SQL! Capítulo 5.4-5.6 Ramakrishnan / Gehrke El Álgebra

Más detalles

Técnico en Sistemas de Almacenamiento

Técnico en Sistemas de Almacenamiento Técnico en Sistemas de Almacenamiento Duración: 80 horas Modalidad: Online Coste Bonificable: 600 Objetivos del curso Este Curso de Técnico en Sistemas de Almacenamiento le ofrece una formación especializada

Más detalles

Administración de Sistemas Gestores de Bases de Datos. Tema 5. Optimización y monitorización. Profesor: Juan Ignacio Contreras 1

Administración de Sistemas Gestores de Bases de Datos. Tema 5. Optimización y monitorización. Profesor: Juan Ignacio Contreras 1 Administración de Sistemas Gestores de Bases de Datos Tema 5. Optimización y monitorización Profesor: Juan Ignacio Contreras 1 Índice del tema Índices, definición y tipos Optimización SQL Diseño Consultas

Más detalles