Orden del traductor
Introducción del traductor
Prefacio de la publicación
Capítulo 1 descripción general del sistema dbms
1.1 Desarrollo de sistemas de bases de datos
1.1.1 Primeros sistemas de gestión de bases de datos
1.1.2 Sistemas de bases de datos relacionales
1.1.3 Sistemas cada vez más pequeños
1.1.4 Sistemas cada vez más grandes
1.1.5 Integración de información
1.2 Descripción general de los sistemas de gestión de bases de datos
1.2.1 Comandos del lenguaje de definición de datos
1.2.2 Descripción general del procesamiento de consultas
1.2.3 Administrador de búfer y memoria principal
1.2.4 Procesamiento de transacciones
1.2.5 Procesador de consultas p>
1.3 Descripción general del libro
1.4 Revisión del lenguaje y modelo de base de datos
1.4.1 Revisión del modelo relacional
1.4.2Revisión de SQL
1.5 citas
La primera parte es la implementación del sistema de base de datos.
Capítulo 2 Gestión de almacenes auxiliares
2.1 Jerarquía de memoria
2.1.1 Jerarquía de memoria
2.1.2 A nivel de memoria Transferencia de datos entre
2.1.3 Memoria volátil y no volátil
2.1.4 Memoria virtual
2.1.5 Movimiento
2.2 Disco
2.2.1 Estructura del disco
Controlador de disco
2.2.3 Características de acceso al disco
Ejercicio
p>2.3 Acelerar el acceso a la memoria auxiliar
2.3.1 Modelo de E/S para informática
2.3.2 Organizar datos por cilindros.
Uso de múltiples discos
Duplicación de discos
2.3.5 Programación de discos y algoritmo elevador
2.3.6 Precarga y almacenamiento en búfer a gran escala
Ejercicio
2.4 Fallo de disco
2.4.1 Fallo intermitente
Suma de comprobación
Almacenamiento estable
2.4.4 Capacidad de manejo de errores del almacenamiento estable
2.4.5 Recuperación de una falla del disco
2.4.6 Duplicación como tecnología de redundancia
Bloque de paridad
2.4.8 Una mejora: raid 5
2.4.9 Manejo cuando varios discos fallan
2.4 10 ejercicios
2.5 Organización. datos en disco
2.5.1 Registros de longitud fija
2.5.2 Colocación de registros de longitud fija en bloques
Ejercicios
2.6 Representación de direcciones de bloque y registro
2.6.1 Direcciones en sistemas cliente-servidor
Direcciones lógicas y direcciones estructurales
Escritura mixta de puntero
2.6.4 Retorno de bloque al disco
2.6.5 Registros y bloques anclados
Ejercicio
2.7 Datos y registros de longitud variable
2.7.1 Registros con campos de longitud variable
2.7.2 Registros con campos repetidos
Registros de formatos variables
2.7.4 no pueden cargar registros en fragmentos.
2.7.5blob
Almacenamiento de columnas
Ejercicio
2.8 Modificación de registros
2.8.1 Inserción p>
Eliminar
Modificar
Ejercicio
2.9 Resumen
2.10 Referencias
Índice del Capítulo 3 Estructura
3.1 Conceptos básicos de la estructura del índice
3.1.1 Archivo secuencial
3.1.2 Índice intensivo
3.1.3 Índice disperso
3.1.4 Índice multinivel
3.1.5 Índice auxiliar
3.1.6 Aplicación de indicadores auxiliares
Indirectamente en 3.1. 7 Índice auxiliar
3.1.8 Recuperación de documentos e índice invertido
3.1.9 Movimiento
3.2b árbol
3.2 .1b Árbol estructura
3. 2. 2 Aplicación del árbol B-B
3.2.3b-Búsqueda de árbol
3.2.4 Consulta de rango
3.2 .5b-Inserción de árbol
3.2.6b-Eliminación de árbol
3.2.7b-Eficiencia de árbol
Ejercicio
3.3 Tabla hash
3.3.1 Tabla hash secundaria
3.3.2 Insertar tabla hash
3.3.3 Eliminar tabla hash
p>3.3.4 Eficiencia del índice de la tabla hash
3.3.5 Tabla hash extensible
3.3.6 Inserción de tabla hash extensible
3.3.7 Tabla hash lineal
3.3.8 Insertar tabla hash lineal
Ejercicio
3.4 Índice multidimensional
3.4.1 Aplicación del índice multidimensional
3.4. 2 Utilice el índice tradicional para realizar consultas de rango
3.4.3 Utilice el índice tradicional para realizar consultas del vecino más cercano
3.4.4 Descripción general multidimensional de la estructura del índice
3.5 Hash estructura de datos multidimensionales
3.5.1 Archivo de cuadrícula
Búsqueda de archivos de cuadrícula
Inserción de archivos de cuadrícula
Rendimiento de archivos de cuadrícula
3.5.5 Función Hash de segmento
3.5.6 Comparación de archivos de cuadrícula y hash de segmento
Ejercicio
3.6 Estructura de árbol de datos multidimensionales
3.6.1 Índice de claves múltiples
3.6.2 Rendimiento del índice de claves múltiples
p>
3.6.3kd-tree
3.6.4 Operaciones de kd-tree
3.6.5 Hacer que kd-tree sea adecuado para almacenamiento auxiliar.
Quadtree
r-tree
3.6.8 Operación del árbol r-Xmas
Ejercicio
3.7 Índice de mapa de bits
3.7.1 Motivación del índice de mapa de bits
3.7.2 Mapa de bits comprimido
3.7.3 Operación del vector de bits codificado de longitud de segmento
p >
3.7.4 Gestión de índices de mapas de bits
Ejercicio
3.8 Resumen
3.9 Referencias
Capítulo 4 Ejecución de consultas
4.1 Introducción a los operadores del plan de consulta física
4.1.1 Escaneo de tablas
4.1.2 Clasificación al escanear tablas
4.1 .3 Cálculo del operador físico modelo
4.1.4 Parámetros para medir el costo
4.1.5 Costo de E/S del operador de escaneo
4.1.6 Implementación de iteradores de operadores físicos
4.2 Algoritmo de una sola pasada
4.2.1 Algoritmo de una sola pasada para operación de grupo de unidades de una sola vez
4.2.2 Algoritmo de operación unaria relacional general de un paso
4.2.3 Algoritmo de paso único para operaciones binarias
Ejercicio
4.3 Conexión de bucle anidado
4.3.1 Bucle anidado basado en tuplas conexión
4.3.2 Iterador de conexión de bucle anidado basado en tuplas
4.3.3 Algoritmo de conexión de bucle anidado basado en bloques
4.3.4 Análisis de conexión de bucle anidado
4.3.5 Resumen de algoritmos hasta el momento
Ejercicio
4.4 Algoritmo de dos pasadas basado en clasificación
4.4.1 Dos niveles clasificación por combinación múltiple
4.4.2 Utilice la clasificación para eliminar duplicados
4.4.3 Agrupación y agregación mediante clasificación
4.4 Algoritmo conjunto basado en clasificación
4.4.5 Algoritmo de intersección basado en clasificación
4.4.6 Algoritmo de unión simple basado en clasificación
4.4.7 Análisis de unión ordenada simple
4.4.8 Uniones basadas en clasificación más eficientes
4.4.9 Descripción general de los algoritmos basados en clasificación
4.4.10 Ejercicios
4.5 Dos pasadas basadas en hash algoritmo
4.5.1 Particionamiento de relaciones mediante hash
4.5.2 Algoritmo de eliminación de duplicaciones basado en hash
4.5 Algoritmos de agrupación y agregación basados en hash
p>
4.5.4 Algoritmos de unión, intersección y diferencia basados en hash
Algoritmo de conexión hash
4.5.6 Guardar algunas E/S de disco
4.5.7 Descripción general de los algoritmos basados en hash
Ejercicio
4.6 Algoritmos basados en índices
4.6 .1Índice agrupado e índice no agrupado
4.6.2 Selección basada en índice
Unirse usando índice
4.6.4 Unirse usando índice ordenado
Ejercicio
4.7 Gestión de búfer
4.7.1 Estructura de gestión de búfer
Estrategia de gestión de búfer
4.7.3 La relación entre la selección del operador físico y la gestión de búfer
Ejercicio
4.8 Uso de algoritmos de más de dos pasos
4.8.1 Algoritmos de múltiples pasos basados en clasificación
4.8.2 Rendimiento de algoritmos de múltiples pasos basados en clasificación -algoritmo de paso
4.8.3 Algoritmo de paso múltiple basado en hash
4.8.4 Algoritmo de paso múltiple basado en hash Rendimiento del algoritmo de paso
Ejercicio
4.9 Resumen
4.10 Referencias
Capítulo 5 Compilador de consultas
5.1 Análisis de sintaxis y preprocesamiento
5.1.1 Análisis de sintaxis y árbol de análisis de sintaxis
5.1.2 Gramática de un subconjunto simple de sql
5.1.3 Procesador de preprocesamiento
5.1.4 Preprocesamiento de consultas que involucran vistas
5.1.5 Movimiento
5.2 Reglas algebraicas para mejorar la planificación de consultas
5.2.1 Leyes conmutativas y asociativas
5.2.2 Leyes acerca de la selección
Empujar selección
5.2.4 Leyes sobre proyección
5.2.5 Leyes sobre conexiones y productos
5.2.6 Leyes sobre eliminación de duplicidades
5.2. sobre agrupación y agregación
Ejercicio
5.3 Del árbol de análisis al plan de consulta lógica
5.3.1 Conversión al álgebra relacional
5.3. 2 Eliminación de subconsultas de las condiciones
5.3.3 Mejoras en los planes de consultas lógicas
5.3.4 Agrupación de operadores componibles/asignables
Ejercicio
5.4 Estimación del costo operativo
5.4.1 Estimación del tamaño de la relación intermedia
5.4.2 Escala de operación estimada
5.4.3 Elección de la estimación de la escala de operación
5.4.4 Estimación de la escala de operación de la conexión
5.4.5 Conexión natural de múltiples atributos de conexión
5.4.6 Conexión de múltiples relaciones
5.4 .7 Estimación de otros tamaños de trabajo
Ejercicio
5.5 Introducción a la selección de planes basada en costos
5.5.1 Obtención de parámetros de tamaño Valor estimado
5.5.2 Cálculo de estadísticas
5.5.3 Estimación heurística para reducir el coste de la planificación de consultas lógicas
5.5.4 Lista de planos físicos Método
Ejercicio
5.6 Selección del orden de conexión
5.6.1 El significado de las conexiones de parámetros izquierdo y derecho
5.6.2 Árbol de conexión
p>5.6.3 Árbol de unión profunda a la izquierda
5.6.4 Seleccione el orden de unión y la agrupación mediante programación dinámica.
5.6.5 Programación dinámica con una función de costos más específica
5.6.6 Algoritmo codicioso para elegir el orden de unión
Ejercicio
5.7 Completar la selección del plan de consulta física
5.7.1 Seleccionar el método de selección.
Seleccione el método de conexión
5.7.3 Tubería y concretización
5.7.4 Operación de tubería unaria
5.7.5 Operación binaria Tubería operaciones
5.7.6 Notación de planes de consulta física
Clasificación de operaciones físicas
Ejercicio
5.8 Resumen
5.9 Referencias
Capítulo 6 Contramedidas contra fallas del sistema
6.1 Problemas y modelos de operación recuperable
6.1.1 Modos de falla
6.1. 2 Más discusión sobre transacciones
6.1.3 Ejecución correcta de transacciones
6.1.4 Operaciones sin procesar de transacciones
6.1.5 Movimiento
6.2 Deshacer registro
6.2.1 Registro
6. 2. 2 Reglas de deshacer registro
6.2.3 Uso de la recuperación de registro de deshacer
Puntos de control
Puntos de control no estáticos
Ejercicios
6.3 Registros de rehacer
6.1 Reglas de registro de rehacer
6.3.2 Uso de registros de rehacer para recuperación
6. 3. 3 Puntos de control de rehacer de registros de rehacer
6.3.4 Recuperación usando registros de rehacer con puntos de control
Ejercicio
6.4 Registros de deshacer/rehacer
Reglas de deshacer/rehacer
6.4.2 Recuperación mediante registros de deshacer/rehacer
6.4. 3 Puntos de control de registros de deshacer/rehacer
Ejercicio
6.5 Protección contra fallas de medios
6.5.1 Copia de seguridad
Volcado no estático p>
6.5.3 Recuperación mediante copias de seguridad y registros
Ejercicio
6.6 Resumen
6.7 Referencias
Capítulo 7 Control de concurrencia
7.1 Programación en serie y programación serializable
7.1.1 Programación
7.1.2 Programación en serie
7.1.3 Programación en serie
p>
7.1.4 Impacto de la semántica de transacciones
7.1.5 Notación para transacciones y programación
7.1.6 Movimiento
7.2 Serializabilidad de conflictos
6.5438+0 Conflicto
7.2.2 Gráfico de prioridad y juicio de serialización de conflicto
7.2.3 Por qué funcionan las pruebas de gráfico de prioridad
Ejercicio
7.3 Implementación serializable mediante bloqueos
7.3.1 Bloqueos
7.3.2 Programador de bloqueo
7.3.3 Bloqueo en dos fases p>
7.3.4 Razones por las que funciona el bloqueo en dos etapas
Ejercicio
7.4 Sistema de bloqueo con múltiples modos de bloqueo
7.4.1*** Disfrute de bloqueos y bloqueos exclusivos
Matriz de compatibilidad
Actualizaciones de bloqueos
Actualización de bloqueos
Bloqueos incrementales
Ejercicio
7.5 Arquitectura del programador de bloqueo
7.5.1 El programador realiza la acción de insertar bloqueo
Bloquear tabla
Ejercicio
7.6 Jerarquía de elementos de la base de datos
7.6.1 Bloqueos de multigranularidad
Bloqueos de advertencia
7.6.3 Manejo correcto de ilusiones e inserciones
p>Ejercicios
7.7 Protocolo de árbol
7.7.1 Motivos para el bloqueo de árboles
7.7.2 Reglas para acceder a datos estructurados en árbol
7.7.3 Razones por las que funciona el protocolo de árbol.
Ejercicio
7.8 Control de concurrencia mediante marcas de tiempo
7.8.1 Marcas de tiempo
7.8.2 Comportamiento que de hecho no se puede implementar.
7.8.3 Problema de datos sucios
7.8.4 Reglas de programación basadas en marcas de tiempo
Marcas de tiempo de múltiples versiones
Marcas de tiempo y bloqueo
Ejercicio
7.9 Control de concurrencia mediante confirmación de validación
La estructura de un programador basado en confirmación de validación
Reglas de confirmación de validación
7.9.3 Comparación de tres mecanismos de control de concurrencia
Ejercicios
7.10 Resumen
7.11 Citas
El Capítulo 8 analiza la gestión de transacciones de nuevo
8.1 Continuidad y recuperabilidad
8.1.1 Problema de datos sucios
8.1.2 Reversión en cascada
8.1.3 Programación recuperable
8.1.4 Programación para evitar reversiones en cascada
8.1.5 Gestión de reversiones basada en bloqueos
8.1.6 Envío grupal
8.1. 7 Registro lógico
8.1.8 Recuperación del registro lógico
8.1.9 Movimiento
8.2 Interbloqueo
8.2.1 Detección de interbloqueo por tiempo de espera
8.2.2 Gráfico de espera
8.2.3 Prevenir interbloqueo mediante clasificación de elementos
8.2.4 Detectar interbloqueo mediante marcas de tiempo
8.2. 5 Comparación de métodos de gestión de interbloqueos
Ejercicio
8.3 Negocios a largo plazo
8.3.1 Problema de transacciones largas
8.3.2 saga (registro continuo)
8.3.3 La remuneración importa
8.3.4 Razones por las que las cuestiones salariales entran en juego
Ejercicios
8.4 Resumen
8.5 Referencias
Capítulo 9 Bases de datos paralelas y distribuidas
9.1 Algoritmo paralelo relacional
9.1.1 Modo paralelo
9.1.2 Operación paralela, una tupla a la vez
9.1.3 Algoritmo paralelo para operación relacional completa
9.1.4 Rendimiento de algoritmos paralelos
9.1.5 Movimiento
9.2 ¿Mapa? Reducir la arquitectura paralela
9.2.1 Modo de almacenamiento
Función de mapeo
9.2.3 Función de restauración
Ejercicio
9.3 Base de datos distribuida
Distribución de datos
Transacción distribuida
9.3.3 Replicación de datos
Ejercicio
9.4 Procesamiento distribuido de consultas
9.4.1 Problemas de operación de conexión distribuida
Simplificación de semiunión
9.4.3 Conexiones de múltiples relaciones
9.4. 4 Hipergrafo acíclico
9.4.5 Simplificación completa del hipergrafo acíclico
9.4.6 ¿Por qué es efectivo el algoritmo de reducción completa?
Ejercicio
9.5 Compromiso distribuido
9.5.1 admite la atomicidad distribuida.
9.5.2 Confirmación en dos fases
9.5.3 Recuperación de transacciones distribuidas
Ejercicio
9.6 Bloqueo distribuido
9.6.1 Sistema de bloqueo centralizado
9.6.2 Modelo de costes del algoritmo de bloqueo distribuido
9.6.3 Elementos de bloqueo con múltiples copias
9.6.4 Bloquear la copia maestra
9.6.5 Bloqueo global que consta de bloqueos locales
Ejercicio
9.7 Búsqueda distribuida punto a punto
9.7.1 Redes Peer-to-Peer
9.7.2 Problemas de Hash Distribuido
9.7.3 Soluciones Centralizadas para Hash Distribuido
9.7.
9.7.5 Eslabón de cadena en el círculo de cuerdas
9.7.6 Usa la tabla de dedos para encontrar.
9.7.7 Agregar nuevos nodos
9.7.8 Cuando un terminal abandona la red,
9.7.9 Cuando un terminal falla,
9.7.10 Ejercicios
9.8 Resumen
9.9 Referencias
La segunda parte es el tema de los sistemas de bases de datos modernos.
Capítulo 10 Integración de la información
10.1 Introducción a la integración de la información
10.1.1 ¿Por qué deberíamos integrar la información?
10.1.2 Problema de heterogeneidad
10.2 Modelo de integración de información
10.2.1 Sistema de base de datos federado
10.2.2 Almacén de datos p>
10. 2. 3 Mediación
10.2.4 Ejercicios
10.3 Wrappers en sistemas basados en mediación
10.3.1 Plantilla de patrón de consulta
10.3.2 Generador de paquetes
10.3.3 Filtro
10.3.4 Otras operaciones sobre paquetes
10.3.5 Ejercicios
10.4 Optimización basada en capacidad
10.4.1 Capacidades limitadas de fuente de datos
10.4.2 Símbolos que describen funciones de fuente de datos
10.4.3 Capacidad- selección de plan de consulta basada en
10.4.4 Agregar optimización basada en costos.
10.4.5 Ejercicios
10.5 Optimización de consultas intermediarias
10.5.1 Simplificación de modificadores
10.5.2 Obtención de respuestas a submetas .
10. 5. Algoritmo de 3 cadenas
10.5.4 Combinar y ver intermediarios
10.5.5 Ejercicios
10.6 Usar local como mediación de opiniones
10.6.1 Motivación del mediador Lav
10. 6. 2 Terminología del mediador legal
10.6.3 Soluciones extendidas
10.6.4 Consulta de unión incluida
10.6.5 ¿Por qué funciona la prueba de mapeo incluida?
10.6.6 Descubrir soluciones a consultas del mediador.
10.6.7 ¿Por qué es verdadero el teorema de lmss?
10.6.8 Ejercicios
10.7 Análisis de entidades
10.7.1 Determinar si el registro representa una entidad.
10.7.2 Fusionar registros similares
10.7.3 Similitud y propiedades útiles de las funciones de fusión
10.7.4icar registrado por icar? Algoritmo Swoosh
10.7.5 ¿Por qué R? El algoritmo Swoosh será efectivo
10.7.6 Otros métodos de resolución de entidades
10.7.7 Ejercicios
10.8 Resumen
10.9 Referencia Literatura
Capítulo 11 Minería de datos
11.1 Minería frecuente de conjuntos de artículos
11.1.1 Modelo de cesta de compras de mercado
11.1.2 El definición básica de
11.1.3 Reglas de asociación
11.1.4 Modelo de cálculo de conjuntos de elementos frecuentes
11.1.5 Movimiento
11.2 Algoritmo para encontrar conjuntos de elementos frecuentes
11.2.1 Distribución de conjuntos de elementos frecuentes
11.2.2 Algoritmo ingenuo para encontrar conjuntos de elementos frecuentes
11.2.3a? Algoritmo a priori
11.2.4a? Implementación de algoritmo a priori
11.2.5 Mejor utilización de la memoria principal
11.2.6 ¿Cuándo usar el algoritmo pcy?
11.2.7 Algoritmo multinivel
11.2.8 Movimiento
11.3 Buscar productos similares.
11.3.1 Medida de similitud de Jaccard
11.3.2 Aplicación de la similitud de Jaccard
11.3.3 Hash mínimo
11.3 .4 Similitud entre hash mínimo y jaccard
11.3.5 ¿Por qué se puede utilizar el hash mínimo para estimar la similitud?
Implementación de 11.3.6 Hash mínimo
11.3.7 Movimiento
11.4 Hash sensible local
11.4.1lsh Ejemplo: resolución de entidad
11.4.2 Hash sensible local marcado
11.4.3 Combinación de método de hash mínimo y hash sensible local
11.4.4 Movimiento
11.5 Agrupación de datos a gran escala
11.5.1 Aplicación de la agrupación
11.5.2 Definición de distancia
11.5.3 Agrupación cohesiva
11.5.4k? Algoritmo medio
Datos a gran escala 11.5.5 K? Métodos
11.5.6 Procesamiento después de que la memoria esté llena.
11.5.7 Movimiento
11.6 Resumen
11.7 Referencias
Capítulo 12 Sistemas de bases de datos e Internet
12.1 Arquitectura de los motores de búsqueda
12.1.1 Composición de los motores de búsqueda
12.1.2 Rastreadores web
12.1.3 Procesamiento de consultas en los motores de búsqueda
12.1.4 Ranking de páginas.
Pagerank utilizado para identificar páginas web importantes.
12.2.1 El pensamiento intuitivo de Pagerank
12.2.2 Fórmula recursiva de Pagerank - intento preliminar
12.2.3 Seguimiento de trampas y rincones muertos
12.3.2 Calcular el pagerank relacionado con el tema.
12.3.3 Trampas de enlaces
12.3.4 Trampas de enlaces y pagerank relacionados con temas
12.3.5 Ejercicio
12.4 Flujo de datos
12.4.1 Sistema de gestión de flujo de datos
12.4.2 Aplicación de flujo de datos
12.4.3 Modelo de datos de flujo de datos
12.4. 4 Convertir flujos de datos en relaciones
12.4.5 Convertir relaciones en flujos de datos
12.4.6 Ejercicios
12.5 Minería de flujos de datos
12.5.1 Motivación
12.5.2 Estadística de números binarios
12.5.3 Contar el número de elementos diferentes
12.5.4 Ejercicios
12.6 Resumen
12.7 Referencias