Introducción a Evaluación y Optimización de Consultas
|
|
- Natalia Parra Maestre
- hace 8 años
- Vistas:
Transcripción
1 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 costo). Consulta SQL Árbol de la Expresión Álgebra Relacional Índices Carácterísticas de las Tablas Plan de Ejecución Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 2
2 Evaluación de Consultas! Plan de Ejecución: Árbol de operadores de Álgebra Relacional, para cada opertador se ha seleccionado un algoritmo de implementación.! Hay dos aspectos fundamentales en optimización de consultas: " Para una consulta dada Qué planes son considerados? Algoritmo para buscar en el espacio de planes el más barato (estimado). " Como se estima el costo de un plan?! Idealmente: Encontrar el mejor plan. En la práctica: Evitar los peores planes. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 3 Por ejemplo SELECT S.sname FROM Reserves R, Sailors S WHERE R.sid=S.sid AND R.bid=100 AND S.rating>5 sname sname (On-the-fly) bid=100 rating > 5 rating > 5 (On-the-fly) Reserves sid=sid Sailors (Use hash index; do not write result to temp) sid=sid bid=100 Reserves with pipelining ) Sailors Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 4
3 Algunas técnicas comunes! Los algoritmos para evaluar operadores relacionales usan las siguientes ideas: " Indexado: Se pueden usar las condiciones de WHERE para obtener conjuntos pequeños de tuplas (selecciones, reuniones) " Iteración: En algunos casos, es más rápido recorrer todas las tuplas aún si existe un índice. (También, podríamos recorrer el índice mismo en lugar de la tabla) " Particionado: Al usar ordenamiento o hashing, podemos particionar las tuplas de entrada y reemplazar una operación cara por operaciones similares sobre entradas más pequeñas. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 5 Catálogo y Estadísticas! Se necesita información acerca de las relaciones y los índices involucrados. Usualmente el catálogo contiene al menos: " # tuplas (NTuplas) y # pags (NPags) para cada relación. " # valores distintos de clave (NKeys) y NPags para cada índice. " Altura, y valores de clave menor/mayor (Low/High) para cada índice de árbol.! El catálogo es actualizado periódicamente. " Actualizarlo cada vez que los datos cambian es demasiado caro; muchas decisiones aproximadas, así que es tolerable algo de inconsistencia.! Algunos SABDs almacenan información más detallada, por ejemplo: histogramas de los valores de un campo. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 6
4 Rutas de Acceso! Una ruta de acceso es un método para recuperar tuplas: " Recorrido (rastreo) de archivo, o un índice que coincide (matches) con una selección (en la consulta).! Un índice de árbol coincide con una conjunción de términos que involucran sólo atributos en un prefijo de la clave de búsqueda del índice. " E.g., índice de árbol sobre <a, b, c> coincide con la selección a=5 AND b=3, y a=5 AND b>6, pero no b=3.! Un índice de hash coincide con una conjunción de términos que tienen un término atributo = valor para cada atributo en la clave de búsqueda del índice. " E.g., índice hash sobre <a, b, c> coincide con a=5 AND b=3 AND c=5; pero no con b=3, o a=5 AND b=3, o a>5 AND b=3 AND c=5.! Se prefieren las rutas de acceso más selectivas (índices). Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 7 Esquema para los ejemplos Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string)! Reserves: " Cada tupla es de 40 bytes de largo, 100 tuplas por página, 1000 páginas.! Sailors: " Cada tupla es de 50 bytes de largo, 80 tuplas por página, 500 páginas. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 8
5 Para selecciones! Encuentre la ruta de acceso más selectiva, obtenga con ella las tuplas, finalmente aplique los términos restantes (que no coinciden con el índice): " Ruta de acceso más selectiva: Un rastreo de índice o archivo que, estimamos, requerirá la menor cantidad de I/Os de página. " Los términos que coinciden con este índice reducen el número de tuplas recuperadas; los demás términos se usan para descartar algunas de ellas, pero no afectan el número de tuplas/páginas buscadas. " Considere day<8/9/94 AND bid=5 AND sid=3. Se puede usar un índice de árbol B+ sobre day; luego, bid=5 y sid=3 deben probarse para cada tupla recuperda. Alternativamente, un índice de hash sobre <bid, sid> podría ser usado; el término day<8/9/94 debe ser probado luego. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 9 Selecciones: usando índices! El costo depende del número de tuplas que califican y del agrupamiento. " Costo de encontrar las entradas de datos que califican (típicamente pequeño) más costo de recuperar los registros (sin agrupamiento puede ser grande). " En el ejemplo, asumiendo una distribución uniforme de nombres, ~ 10% de tuplas que califican (100 páginas, tuplas). Con un índice agrupado, el costo es un poco más de 100 I/Os; si está desagrupado, hasta I/Os! SELECT * FROM Reserves R WHERE R.rname < C% Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 10
6 Proyección SELECT DISTINCT FROM R.sid, R.bid Reserves R! La parte costosa es eliminar duplicados. " Los sistemas que usan SQL no eliminan los duplicados a menos que se incluya la palabra reservada DISTINCT en la consulta.! Estrategias alternativas " Ordenamiento: Ordenar por <sid, bid> y eliminar duplicados. (Se puede optimizar eliminando la información no deseada mientras se ordena) " Hashing: Hash sobre <sid, bid> para crear particiones. Cargar particiones en memoria, una por vez, construir una estructura de hash en memoria, y eliminar los duplicados.! Si hay un índice que incluya tanto R.sid como R.bid en la clave de búsqueda, podría ser más barato ordenar los datos. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 11 Reunión: Ciclos Anidados con Indice foreach tuple r in R do foreach tuple s in S where ri == sj do add <r, s> to result! Si hay un índice en la columna de reunión para una relación S, se la puede tratar como interna y aprovechar el índice. " Costo: M + ( (M*p R ) * costo de encontrar las tuplas coincidentes de S) " M=#páginas de R, p R =# de tuplas de R por página! Por cada tupla de R, el costo de explorar el índice de S es: ~ 1.2 (hash), ~2-4 (B+ tree). El costo de encontrar las tuplas de S (suponiendo Alt. (2) o (3) para las entradas de datos) depende del agrupamiento. " Indice agrupado: 1 I/O (tipica), desagrupado: hasta 1 I/O por tupla que coincide. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 12
7 Ejemplos! Indice Hash (Alt. 2) sobre Sailors.sid (como inner): " Recorrer Reserves: 1000 I/Os de páginas, 100*1000 tuplas. " Para cada tupla de Reserves: 1.2 I/Os para obtener la entrada de datos en el índice, más 1 I/O para obtener (exactamente una) tupla coincidente de Sailors. Total: 220,000 I/Os.! Indice Hash (Alt. 2) sobre Reserves.sid (como inner): " Recorrer Sailors: 500 I/Os de páginas, 80*500 tuplas. " Para cada tupla de Sailors: 1.2 I/Os para encontrar la página del índice con las entradas de datos, más el costo de obtener las tuplas coincidentes de Reserves. Suponindo una distribución uniforme, 2.5 reservaciones por marino (sailor) -> (100,000 / 40,000). El costo de recuperarlas es 1 o 2.5 I/Os dependiendo si el índice está agrupado. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 13 Reunión: Sort-Merge (R >< S)! Ordenar R y S por la columna de reunión, luego recorrerlos para hacer una mezcla (merge) sobre la columna de reunión, y retornar las tuplas resultantes. " Avanzar el recorrido de R hasta que R-tupla_actual >= S-tupla, entonces avanzar el recorrido de S hasta que S-tupla_actual >= R- tupla_actual; hacerlo hasta que R-tupla = S-tupla_actual. " En este punto, todas las R-tuplas con el mismo valor en Ri (grupo actual en R) y todas las S-tuplas con el mismo valor en Sj (grupo actual en S) coinciden; retornar <r, s> para todos los pares de tales tuplas. " Coninuar con el recorrido de R y S.! R se recorre una vez; cada grupo de S es recorrido una vez para cada tupla coincidente de. (Los múltiples recorridos de un grupo de S probablemente encontrarán las páginas necesarias en el buffer.) Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 14 i=j
8 Ejemplo 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! Costo: M log M + N log N + (M+N) " El costo de recorrer, M+N, podría ser M*N ( poco probable!)! Con 35, 100 o 300 páginas de buffer, ambas tablas, Reserves y Sailors, pueden ser ordenadas en 2 pasadas; costo total de la reunión: Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 15 Optimizador: System R! Impacto: " Actualmente el más usado; trabaja bien para < 10 reuniones.! Estimación de costos: Aproximada. " Se usan las estadísticas, mantenidas en el catálogo del sistema, para estimar los costos de las operaciones y el tamaño de los resultados. " Considera una combinación de costos de Cpu y E/S (I/O).! Espacio de planes: Muy grande, debe ser acotado. " Sólo se considera el espacio de los planes hacia la izquierda (leftdeep). Estos planes permiten que la salida de cada operador sea traspasada directamente (pipelined) al siguiente operador sin almacenarla en una relación temporal. " Se evitan los productos cartesianos. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 16
9 Estimación de Costo! Para cada plan considerado se debe estimar el costo: " Se debe estimar el costo para cada operación en el árbol del plan. Depende de la cardinalidad de las entradas. El costo de cada operación se estima según lo presentado antes (recorrido secuencial, recorrido por índice, reunión, etc.) " También se debe estimar el tamaño del resultado para cada operación en el árbol. Usando la información acerca de las relaciones de entrada. Para las selecciones y reuniones se asume in dependencia de los predicados. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 17 Estimación de tamaño y Factores de reducción SELECT attribute list FROM relation list! Considere la consulta: WHERE term1 AND... AND termk! El número máximo de tuplas en el resultado es el producto de las cardinalidades de las relaciones enumeradas en la cláusula FROM.! El factor de reducción (Reduction factor - RF) asociado con cada término refleja el impacto del término en reducir el tamaño del resultado.! Cardinalidad del Resultado = Max # tuplas * producto de todos los RF s. " Supuesto implícito: los términos son independientes! " Término col=valor tiene un RF de 1/NKeys(I), dado un índice I sobre col " Término col1=col2 tiene un RF 1/MAX(NKeys(I1), NKeys(I2)) " Término col>valor tiene un RF (High(I)-valor)/(High(I)-Low(I)) Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 18
10 Ejemplo SELECT S.sname FROM Reserves R, Sailors S WHERE R.sid=S.sid AND R.bid=100 AND S.rating>5! Costo: *1000 I/Os! Y no es el peor plan posible! Plan:! Pierde varias oportunidades: Las selecciones podrían haber sido hechas antes, no se usa ningún índice, etc.! Meta de la optimización: Encontrar planes más eficientes que calculen la misma respuesta. RA Tree: bid=100 rating > 5 Reserves sname bid=100 rating > 5 sid=sid sname sid=sid Sailors (On-the-fly) (On-the-fly) (Simple Nested Loops) Reserves Sailors Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 19 Plan alternativo 1 (Sin Indices)! Principal diferencia: posición de los selects (push selects).! Con 5 buffers, costo del plan: " Recorrer Reserves (1000) + escribir temp T1 (10 pags, si tenemos 100 boats con distribución uniforme). " Recorrer Sailors (500) + escribir temp T2 (250 pags, si tenemos 10 ratings). " Ordenar T1 (2*2*10), ordenar T2 (2*3*250), mezclar (10+250) " Total: 3560 pags I/Os. (Scan; write to temp T1)! Si usamos reunión BNL (Block Nested Loop), la reunión cuesta = 10+4*250, costo total = 2770.! Si se empujan las projecciones, T1 sólo tiene sid, T2 sólo sid y sname: " T1 cabe en 3 páginas, el costo de BNL cae bajo las 250 pags, total < bid=100 Reserves sname (On-the-fly) (Sort-Merge Join) sid=sid (Scan; rating > 5write to temp T2) Sailors Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 20
11 Plan alternativo 2 (con índices)! Con un índice agrupado sobre Reserves.bid, obtenemos 100,000/100 = 1000 tuplas sobre 1000/100 = 10 páginas.! INL con pipelining (outer is not materialized). Proyectar campos innecesarios desde outer no ayuda.! La columna de reunión sid es una clave de Sailors. A lo más una tupla coincidente, un índice no agrupado sobre sid esta OK.! La decisión de no empujar rating>5 antes de la reunión se basa en la existencia de un índice sobre Sailors.sid.! Costo: Selección de las tuplas de Reserves (10 I/Os); para cada una se debe obtener la tupla coincidente de Sailors (1000*1.2); total 1210 I/Os. (Use hash index; do bid=100 not write result to temp) Reserves sname rating > 5 (On-the-fly) (Index Nested Loops, sid=sid with pipelining ) Sailors (On-the-fly) Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 21 Resumen! Hay varios algoritmos alternativos de evaluación para cada operador relacional.! Una consulta es evaluada convirtiéndola a un árbol de operadores y evaluando los operadores en el árbol.! Se debe entender la optimización de consultas para comprender a cabalidad el impacto en el rendimiento de un diseño de base de datos (relaciones e índices) sobre cierta carga de trabajo (conjunto de consultas).! La optimización de una consulta tiene dos partes: " Considerar el conjutno de planes alternativos. Se debe podar el espacio de búsqueda; típicamente se consideran solo los planes left-deep. " Se debe estimar el costo de cada plan considerado. Se debe estimar el tamaño del resultado y el costo para cada nodo del plan. Aspectos clave: Estadísticas, índices, implementación de operadores. Adaptado de Database Management Systems 3ed, Ch.12, R. Ramakrishnan and J. Gehrke 22
TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
1 1 BASES DE DATOS DISTRIBUIDAS TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 3.1 Metodología del procesamiento de consultas distribuidas 3.2 Estrategias de
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesOPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas
OPTIMIZACIÓN DE CONSULTAS EN SQL Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas Análisis de Consultas y Transacciones Para elaborar el diseño físico de la base de datos debemos
Más detallesA.1. Definiciones de datos en SQL
A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE
Más detallesBases de Datos Indexación y Hashing 1. Indexación. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006
Bases de Datos Indexación y Hashing 1 Indexación Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos Indexación y Hashing 2 Acceso a Datos Muchas consultas hacen referencia sólo a una
Más detallesUNIDAD 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 detallesOptimización de consultas Resumen del capítulo 14
Optimización de consultas Resumen del capítulo 14 Libro: Fundamentos de Bases de Datos Silberschatz et al. 5ed. Dr. Víctor J. Sosa Agenda 1. Visión general 2. Estimación de las estadísticas de los resultados
Más detallesProcesamiento y Optimización de Consultas
FACULTAD DE CIENCIAS EXACTAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN Base de Datos Autores Diego Castro Sergio D Arrigo Leticia Seijas Con la colaboración de Cecilia Briozzo y Alejandro Eidelsztein Indice
Más detallesSub consultas avanzadas
Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando
Más detallesOPTIMIZACION DE CONSULTAS A BASES DE DATOS RELACIONALES
OPTIMIZACION DE CONSULTAS A BASES DE DATOS RELACIONALES 1. CONTENIDO DEL MARCO TEORICO 2. OPTIMIZACION ALGEBRAICA DE CONSULTAS 3. COSTO DEL INPUT / OUTPUT DEL PRODUCTO CARTESIANO Y JUNTA NATURAL 4. TUNING
Más detallesNociones de performance
Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de performance Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Índices Optimizador Planes de acceso
Más detallesNo se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.
RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este
Más detallesConsultas con combinaciones
UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden
Más detallesTEMA 4.6: Procesamiento y optimización de consultas
TEMA 4.6: Procesamiento y optimización de consultas 1. Introducción 2. Procesamiento de una consulta 2.1.- Análisis de la consulta 2.2.- Reescritura de la consulta 2.3.- Generación de un plan físico de
Más detallesAlmacenamiento y Recuperación de la Información
Almacenamiento y Recuperación de la Información Estructuras basicas de archivos Archivos Secuenciales 2do Semestre 2005 Wenceslao Palma M. www.inf.utfsm.cl/~wpalma/ari Una estructura
Más detallesFigura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Más detallesManual de ACCESS Intermedio
Manual de ACCESS Intermedio Funciones agregadas (GROUP BY) Las funciones agregadas proporcionan información estadística sobre conjuntos de registros. Por ejemplo, puede usar una función agregada para contar
Más detallesUnidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros
Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia
Más detallesselect nombre from profesores where categoria='aso6';
1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del
Más detallesIntroducción a los sistemas de bases de datos
Introducción a los sistemas de bases de datos Bases de datos II: Tema 1 Bases de Datos II: Esther de Ves / Vicente Cerverón - Tema 1 1 Estructura del tema Qué es un sistema SGBD? Por qué utilizar un SGBD?
Más detallesÍndices de RI. UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides
Índices de RI UCR ECCI CI-2414 Recuperación de Información Prof. M.Sc. Kryscia Daviana Ramírez Benavides Qué es un Índice? Es la segunda etapa para abordar el tema de la RI. Es un archivo que contiene
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesGestion de archivos. Problemas al almacenar datos sólo en la memoria:
Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?
Más detallesSistemas 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 detallesPipelining o Segmentación de Instrucciones
Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través
Más detallesLABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER
LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.
Más detallesProcesamiento 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 detallesDML en SQL. Consultas sencillas usando el DML de SQL
DML en SQL Consultas sencillas usando el DML de SQL Base Datos de Películas Para rellenar la base se ha utilizado información proveniente de The internet Movie- Database http://www.imdb.com/list Todos
Más detallesDataBase Administration
DataBase Administration 1. FUNCIONES DE UN DBA (Data Base Administrator) El rol de DBA involucra las siguientes tareas: Creación de Bases y Tablas Base de Datos Verificar el lugar de creación, en los espacios
Más detallesAnálisis de los datos
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización
Más detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Más detallesRecuperación de información Bases de Datos Documentales Licenciatura en Documentación Curso 2011/2012
Bases de Datos Documentales Curso 2011/2012 Miguel Ángel Rodríguez Luaces Laboratorio de Bases de Datos Universidade da Coruña Introducción Hemos dedicado la primera mitad del curso a diseñar e implementar
Más detallesUnidad III. Planificación del proyecto de software
Planificación del proyecto de software Unidad III 3.1. Aplicación de herramientas para estimación de tiempos y costos de desarrollo de software: GANTT, PERT/CPM, uso de software para la estimación de tiempos
Más detallesEstructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM
Estructura de una BD Oracle. Una BD Oracle tiene una estructura física y una estructura lógica que se mantienen separadamente. La estructura física se corresponde a los ficheros del sistema operativo:
Más detallesORACLE TUNING PACK 11G
ORACLE TUNING PACK 11G CARACTERÍSTICAS CLAVE: Asesor de Ajuste SQL Asesor de Ajuste Automático SQL Perfiles SQL Asesor de Acceso SQL Grupos de Ajuste SQL Wizard de reorganización de Objetos BENEFICIOS
Más detallesCAPÍTULO 2 Sistemas De Base De Datos Multiusuarios
CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con
Más detalles6- Combinación de tablas
Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción
Más detallesOPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007
OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Álgebra Relacional Álgebra Relacional El álgebra relacional es
Más detallesPRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
Más detallesOracle 12c DISEÑO Y PROGRAMACIÓN
Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo
Más detallesBuenas Prácticas en Bases de Datos. María del Pilar Angeles. Posgrado de la Facultad de Ingeniería, UNAM. mpilar_angeles@exalumno.unam.
Buenas Prácticas en Bases de Datos María del Pilar Angeles. Posgrado de la Facultad de Ingeniería, UNAM. mpilar_angeles@exalumno.unam.mx Algunos Tópicos de Base de Datos Modelado y Diseño Programación
Más detallesCálculo Relacional. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz
Cálculo Relacional Bibliografía: Fundamentos de bases de datos Korth, Silberschatz Cálculo Relacional de Tuplas Es un lenguaje de consulta no procedimental Describe la información deseada sin dar un procedimiento
Más detallesProcesamiento y Optimización de consultas Material Preliminar en preparación
Procesamiento y Optimización de consultas Material Preliminar en preparación Optimización SQL Identificar sentencias problemáticas Verificar las estadísticas Revisar los planes de ejecución Reestructurar
Más detallesAPOYO PARA LA TOMA DE DECISIONES
APOYO PARA LA TOMA DE DECISIONES Cátedra: Gestión de Datos Profesor: Santiago Pérez Año: 2006 Bibliografía: Introducción a las Bases de Datos. DATE - 1 - 1. INTRODUCCION APOYO PARA LA TOMA DE DECISIONES
Más detalles4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
Más detallesBases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006
Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado
Más detallesDiseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11
Laboratorio 06. Objetivos: Representación interna de un BD. Tablas, índices e índices full-text. Sesiones: 1 (24 de noviembre de 2010) Ejercicio: 1. Representación interna: 1.1. Copiar al repositorio de
Más detalles4. Modelo Relacional: Manipulación de los datos.
Modelo Relacional: Manipulación de los datos. 54 4. Modelo Relacional: Manipulación de los datos. 4.1. Lenguaje de procedimiento: álgebra relacional Los lenguajes de procedimientos para consultar bases
Más detallesPIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:
PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: Observemos que la técnica de Pipelining no mejora el tiempo de cada tarea, sino el tiempo de toda la carga de trabajo.
Más detallesM. Andrea Rodríguez-Tastets. II Semestre
M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la Unidad Entender cómo las consultas son resuelta y cuál es su costo. Evaluación de
Más detallesClase 2: Estructuras Lógicas y Físicas(I)
Clase 2: Estructuras Lógicas y Físicas(I) Introducción a Segmentos, Extents y bloques de datos Bloque de datos Inittrans, Maxtrans Extents Segmentos Cláusula Storage Introducción tablespaces, datafiles
Más detallesMS_10774 Querying Microsoft SQL Server 2012
Querying Microsoft SQL Server 2012 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción Este curso de cinco días impartido por instructor,
Más detallesabacformacio@abacformacio.com 1
Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas
Más detallesMANUAL USUARIO DEPORWIN ALTAS, BAJAS, NÚMERO DE ABONADOS V 3.0 09/04/2014 [DEPORWIN]
MANUAL USUARIO DEPORWIN ALTAS, BAJAS, NÚMERO DE ABONADOS V 3.0 09/04/2014 [DEPORWIN] INDICE 1. PROBLEMÁTICA Y SOLUCIONES 2 CONSISTENCIA +ALTAS -BAJAS 2 COHERENCIA HISTÓRICA 2 2. OPERATIVA 3 DESHACER BAJA
Más detallesGuía de Preparación de Muestras para PLASTICOS para el Software de Formulación de Datacolor
Guía de Preparación de Muestras para PLASTICOS para el Software de Formulación de Datacolor 1. Generalidades 2. Qué se necesita para comenzar? 3. Qué hacer para sistemas opacos y translúcidos? 4. Qué hacer
Más detalles3. Modelo relacional: Estructura e integridad.
Modelo relacional: Estructura e integridad 47 3. Modelo relacional: Estructura e integridad. 3.1. Introducción. El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como
Más detallesArquitectura de sistema de alta disponibilidad
Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los
Más detallesProcedimientos para agrupar y resumir datos
Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro
Más detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesTemario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
Más detalles5- Uso de sentencias avanzadas
Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias
Más detallespromedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio
Arreglos Un arreglo es un tipo de datos que contiene varios elementos de un mismo tipo. Cada elemento tiene asociado un índice, y puede ser tratado como si fuera una variable. La cantidad de elementos
Más detalles1. DML. Las subconsultas
1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se
Más detallesLa nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx
La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad
Más detallesCodd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.
16/05/2012 1 Todo modelo de datos debe definir un lenguaje de definición de datos para crear las estructuras donde se almacenará la información y un lenguaje de manipulación de datos con el que acceder
Más detallesActividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.
Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas
Más detallesADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS
5 ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS Contenido: 5.1 Conceptos Generales Administración de Bases de Datos Distribuidas 5.1.1 Administración la Estructura de la Base de Datos 5.1.2 Administración
Más detallesDML SQL II. Comparaciones con relaciones
DML SQL II Comparaciones con relaciones Subconsultascopiar Hasta ahora las condiciones en WHERE involucraban valores escalares Pero, como en el caso de Julie Andrews puede que aparezca SELECT como parte
Más detallesDISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.
DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar
Más detallesBase de Datos. Práctica de Procesamiento y Optimización de Consultas
1. Dado el siguiente esquema relacional MATERIA(CodMat, NombreMat, DuracionHs, CodCarrera) CARRERA(CodCarrera, Nombre) Y la siguiente consulta SELECT M.NombreMat FROM MATERIA M, CARRERA C WHERE M.CodCarrera=C.CodCarrera
Más detallesBase de datos I Facultad de Ingeniería. Escuela de computación.
Base de datos I Facultad de Ingeniería. Escuela de computación. Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios,
Más detallesOperaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta
Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a
Más detallesResumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración
5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una
Más detalles4.Diseño de Bases de Datos (I)
4.Diseño de Bases de Datos (I) 4.1 Anomalías. Se denominan así en teoría de Bases de Datos a ciertos problemas que aparecen con frecuencia en el manejo de las mismas cuando el diseño no ha sido realizado
Más detallesEntendiendo y Optimizando MySQL
Grupo de Usuarios de Linux Universidad Carlos III de Madrid. 10 de Noviembre de 2010 Indice Arquitectura 1 Arquitectura 2 3 4 5 Arquitectura Sistema de Gestión de Bases de Datos. GPL. Escrito en C y C++.
Más detallesGuía de Laboratorio Base de Datos I.
Guía de Laboratorio Base de Datos I. UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA 1- Gestión del SQL Server Management Studio y creación de bases de datos. Objetivos: Identificar el entorno de trabajo
Más detallesTemario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
Más detallesÁlgebra Relacional. Unidad 5
Álgebra Relacional Unidad 5 Definición Álgebra es un sistema matemático que está formado por: Operandos. Valores o variables con los cuáles se pueden construir nuevos valores o variables Operadores. Símbolos
Más detallesTema 4. Manipulación de datos con SQL
Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de
Más detallesMatrices Invertibles y Elementos de Álgebra Matricial
Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices
Más detallesProcesos. Planificación del Procesador.
Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos
Más detallesGuía de implementación Softland en SQL Server 2012. Versión 1.0
Guía de implementación Softland en SQL Server 2012 Versión 1.0 Tabla de Contenido 1. INTRODUCCIÓN... 2 2. MIGRACIÓN A SQL SERVER 2012... 2 2.1 Ausencia de Compatibilidad con versiones anteriores... 2 3.
Más detallesTutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas
Tutorial de MS Un sistema de Bases de Datos Relacional Profesores: Hugo Mora, Ignacio Casas Tutorial Qué es una Base de Datos? Una Base de Datos es un conjunto de datos que pertenecen al mismo contexto
Más detalles2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com.
2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 404 Diseño de segmento Generalidades Diseño para criticidad de lazo
Más detallesPREPROCESADO DE DATOS PARA MINERIA DE DATOS
Ó 10.1007/978-3-319-02738-8-2. PREPROCESADO DE DATOS PARA MINERIA DE DATOS Miguel Cárdenas-Montes Frecuentemente las actividades de minería de datos suelen prestar poca atención a las actividades de procesado
Más detallesEJEMPLO DE REPORTE DE LIBERTAD FINANCIERA
EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA 1. Introduccio n El propósito de este reporte es describir de manera detallada un diagnóstico de su habilidad para generar ingresos pasivos, es decir, ingresos
Más detallesNormalización. Universidad Nacional de Colombia Facultad de Ingeniería
Normalización Preparó: Ismael Castañeda Fuentes Fuente principal: Database Systems A Practical Approach to Design, Implementation, and Management. Thomas Connolly, Carolyn Begg Universidad Nacional de
Más detallesSQL (Structured Query Language)
SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite
Más detallesUNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE INFORMÁTICA 1. DATOS GENERALES PLAN DE ESTUDIOS 2006-2 SEMESTRE ACADEMICO 2008-I Nombre del curso: INTRODUCCION
Más detallesDeduplicación en el backup de datos
Deduplicación en el backup de datos OpenExpo Day 2015 16 de junio 2015 Martín Domínguez Fernández Responsable de Consultoría y Preventa en WhiteBearSolutions Objetivos del taller Entender qué es la deduplicación
Más detallesDepartament. Construcció. 2013 P. Company Organización de documentos de proyectos 1
Departament 5.2 d Enginyeria Mecànica i Construcció ORGANIZACIÓN DE DOCUMENTOS DE PROYECTOS Pedro Company 2013 P. Company Organización de documentos de proyectos 1 Los proyectos sencillos de diseño constan
Más detallesVistas en postgresql
Vistas en postgresql Conceptos y definición de Vista Los usuarios que acceden a una base de datos relacional, lo hacen típicamente a través de vistas, de modo que diferentes usuarios tienen diferentes
Más detallesBases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006
Bases de Datos XPath - XQuery 1 XML: XPath - XQuery Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos XPath - XQuery 2 XPath - XQuery Ambos son estándares para acceder y obtener datos
Más detallesCONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,
Más detallesPatrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
Más detallesResumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl
El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades
Más detallesAnálisis de Datos. Práctica de métodos predicción de en WEKA
SOLUCION 1. Características de los datos y filtros Una vez cargados los datos, aparece un cuadro resumen, Current relation, con el nombre de la relación que se indica en el fichero (en la línea @relation
Más detalles6.1. Conoce la papelera
Unidad 6. La papelera de Reciclaje 6.1. Conoce la papelera La papelera no es más que un espacio en el disco duro reservado para almacenar la información que eliminamos, evitando que esta información aparezca,
Más detalles