دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 5a ed. نویسندگان: Abraham Silberschatz, S. Sudarshan, Henry F. Korth, Fernando Sáenz Pérez سری: ISBN (شابک) : 9788448146443, 8448146441 ناشر: McGraw-Hill سال نشر: 2006 تعداد صفحات: 978 زبان: Spanish فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 13 مگابایت
در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد
در صورت تبدیل فایل کتاب Fundamentos de bases de datos به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مبانی پایگاه داده نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ویرایش پنجم Database Fundamentals هر آنچه را که برای درک عمیق سیستم های پایگاه داده نیاز دارید ارائه می دهد. نویسندگان مفاهیم اساسی مدیریت پایگاه داده را با تمام جزئیات و توجهی که خوانندگان این کتاب درسی کلاسیک انتظار دارند، توضیح می دهند. زبان های پرس و جو، طراحی طرحواره، توسعه برنامه، پیاده سازی سیستم، تجزیه و تحلیل داده ها و معماری پایگاه داده به طور عمیق مورد بررسی قرار می گیرند. این کتاب هم برای دوره های مقدماتی پیشرفته و هم مرجع برای حرفه ای ها مناسب است. ویرایش پنجم Database Fundamentals سبک کلی نسخه های قبلی را حفظ می کند و در عین حال محتوا و سازماندهی خود را برای منعکس کننده تغییراتی که در طراحی، مدیریت و استفاده از پایگاه های داده رخ داده است، تکامل می دهد. برخی از مطالب این ویرایش جدید عبارتند از: - سازماندهی جدید فصول، پیشبرد مطالعه SQL. - درمان SQL گسترده، از جمله SQL:2003. - بخش جدیدی به طراحی پایگاه داده با درمان گسترده نرمال سازی و داده های زمانی اختصاص داده شده است. - پردازش گسترده و به روز XML. - بررسی دقیق پیاده سازی و معماری سیستم های پایگاه داده. - درمان گسترده طراحی و توسعه برنامه. - فصل های داده کاوی و تجزیه و تحلیل و بازیابی اطلاعات. - مطالعات موردی شامل آخرین نسخه های IBM DB2، Oracle، Microsoft SQL Server و PostgreSQL (جدید در این نسخه). - تأکید بر جنبه های عملی، کاربردها و پیاده سازی، همراه با درمان شهودی مفاهیم کلیدی نظری. مانند نسخه قبلی، کتاب دارای یک OLC کامل از پشتیبانی و مکمل با مواد برای معلم و دانش آموز است.
La quinta edición del libro Fundamentos de bases de datos ofrece todo lo necesario para una profunda comprensión de los sistemas de bases de datos. Los autores explican conceptos fundamentales de la gestión de bases de datos con todo el detalle y atención que los lectores de este clásico libro de texto esperan. Se examinan en profundidad los lenguajes de consultas, el diseño de esquemas, el desarrollo de aplicaciones, la implementación de sistemas, el análisis de datos y las arquitecturas de las bases de datos. El libro es apropiado tanto para cursos introductorios avanzados, así como referencia para profesionales. La quinta edición de Fundamentos de bases de datos conserva el estilo general de las ediciones anteriores a la vez que evolucionan su contenido y organización para reflejar los camnios que se han producido al diseñar, gestionar y utilizar las bases de daos. Algunos de los contenidos de esta nueva edición son: - Nueva organización de los capítulos, adelantando el estudio de SQL. - Tratamiento ampliado de SQL,incluyendo SQL:2003. - Una nueva parte dedicada al diseño de bases de datos con un tratamiento ampliado de la normalización y los datos temporales. - Tratamiento ampliado y actualizado de XML. - Tratamiento detallado de la implementación y las arquitecturas de los sistemas de bases de datos. - Tratamiento ampliado del diseño y desarrollo de aplicaciones. - Capítulos sobre minería y análisis de datos, y de recuperación de información. - Estudios de casos que incluyen las últimas versiones de IBM DB2, Oracle, Microsoft SQL Server y PostgreSQL (nuevo en esta edición). - Énfasis en los aspectos prácticos, aplicaciones e implementación, acompañados de un tratamiento intuitivo de los conceptos teóricos clave. Como en la anterior edición, el libro cuenta con una completa OLC de apoyo y complemento con materiales para el profesor y el alumno.
FUNDAMENTOS DE BASES DE DATOS PÁGINA LEGAL CONTENIDO PREFACIO C A P Í T U L O 1 INTRODUCCION 1.1 Aplicaciones de los sistemas de bases de datos 1.2 Propósito de los sistemas de bases de datos 1.3 Visión de los datos 1.3.1 Abstracción de datos 1.3.2 Ejemplares y esquemas 1.3.3 Modelos de datos 1.4 Lenguajes de bases de datos 1.4.1 Lenguaje de manipulación de datos 1.4.2 Lenguaje de de nición de datos 1.5 Bases de datos relacionales 1.5.1 Tablas 1.5.2 Lenguaje de manipulación de datos 1.5.3 Lenguaje de de nición de datos 1.5.4 Acceso a las bases de datos desde los programas de aplicación 1.6 Diseño de bases de datos 1.6.1 Proceso de diseño 1.6.2 Diseño de la base de datos para una entidad bancaria 1.6.3 El modelo entidad-relación 1.6.4 Normalización 1.7 Bases de datos basadas en objetos y semiestructuradas 1.7.1 Modelos de datos basados en objetos 1.7.2 Modelos de datos semiestructurados 1.8 Almacenamiento de datos y consultas 1.8.1 Gestor de almacenamiento 1.8.2 El procesador de consultas 1.9 Gestión de transacciones 1.10 Minería y análisis de datos 1.11 Arquitectura de las bases de datos 1.12 Usuarios y administradores de bases de datos 1.12.1 Usuarios de bases de datos e interfaces de usuario 1.12.2 Administrador de bases de datos 1.13 Historia de los sistemas de bases de datos 1.14 Resumen Ejercicios Notas bibliográ cas P A R T E 1 BASES DE DATOS RELACIONALES C A P Í T U L O 2 El modelo relacional 2.1 La estructura de las bases de datos relacionales 2.1.1 Estructura básica 2.1.2 Esquema de la base de datos 2.1.3 Claves 2.1.4 Lenguajes de consultas 2.2 Operaciones fundamentales del álgebra relacional 2.2.1 Operación selección 2.2.2 Operación proyección 2.2.3 Composición de operaciones relacionales 2.2.4 Operación unión 2.2.5 Operación diferencia de conjuntos 2.2.6 Operación producto cartesiano 2.2.7 Operación renombramiento 2.2.8 De nición formal del álgebra relacional 2.3 Otras operaciones del álgebra relacional 2.3.1 Operación intersección de conjuntos 2.3.2 Operación reunión natural 2.3.3 Operación división 2.3.4 Operación asignación 2.4 Operaciones del álgebra relacional extendida 2.4.1 Proyección generalizada 2.4.2 Funciones de agregación 2.4.3 Reunión externa 2.5 Valores nulos 2.6 Modi cación de la base de datos 2.6.1 Borrado 2.6.2 Inserción 2.6.3 Actualización 2.7 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 3 SQL 3.1 Introducción 3.2 De nición de datos 3.2.1 Tipos básicos de dominios 3.2.2 De nición básica de esquemas en SQL 3.3 Estructura básica de las consultas SQL 3.3.1 La cláusula select 3.3.2 La cláusula where 3.3.3 La cláusula from 3.3.4 La operación renombramiento 3.3.5 Variables tupla 3.3.6 Operaciones con cadenas de caracteres 3.3.7 Orden en la presentación de las tuplas 3.3.8 Duplicados 3.4 Operaciones sobre conjuntos 3.4.1 La operación unión 3.4.2 La operación intersección 3.4.3 La operación excepto 3.5 Funciones de agregación 3.6 Valores nulos 3.7 Subconsultas anidadas 3.7.1 Pertenencia a conjuntos 3.7.2 Comparación de conjuntos 3.7.3 Comprobación de relaciones vacías 3.7.4 Comprobación de la ausencia de tuplas duplicada 3.8 Consultas complejas 3.8.1 Relaciones derivadas 3.8.2 La cláusula with 3.9 Vistas 3.9.1 De nición de vistas 3.9.2 Vistas de nidas en función de otras 3.10 Modi cación de la base de datos 3.10.1 Borrado 3.10.2 Inserción 3.10.3 Actualizaciones 3.10.4 Actualización de vistas 3.10.5 Transacciones 3.11 Reunión de relaciones 3.11.1 Ejemplos 3.11.2 Tipos y condiciones de reunión 3.12 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 4 SQL avanzado 4.1 Tipos de datos y esquemas 4.1.1 Tipos de datos prede nidos 4.1.2 Tipos de nidos por los usuarios 4.1.3 Tipos de datos para objetos grandes 4.1.4 Esquemas, catálogos y entornos 4.2 Restricciones de integridad 4.2.1 Restricciones sobre una sola relación 4.2.2 Restricción not null 4.2.3 Restricción unique 4.2.4 La cláusula check 4.2.5 Integridad referencial 4.2.6 Asertos 4.3 Autorización 4.4 SQL incorporado 4.5 SQL dinámico 4.5.1 ODBC 4.5.1.1 Apertura de conexiones y ejecución de consultas 4.5.2 JDBC 4.5.2.1 Instrucciones preparadas 4.5.2.2 Metadatos 4.5.2.3 Otras características 4.6 Funciones y procedimientos¤ 4.6.1 Funciones y procedimientos de SQL 4.6.2 Constructores procedimentale 4.6.3 Rutinas en otros lenguajes 4.7 Consultas recursivas 4.7.1 Cierre transitivo mediante iteración 4.7.2 Recursión en SQL 4.8 Características avanzadas de SQL¤¤ 4.8.1 Creación de tablas a partir de otras 4.8.2 Otros aspectos sobre las subconsultas 4.8.3 Constructores avanzados para la actualización de las bases de datos 4.9 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 5 Otros lenguajes relacionales 5.1 El cálculo relacional de tuplas 5.1.1 Ejemplos de consultas 5.1.2 De nición formal 5.1.3 Seguridad de las expresiones 5.1.4 Potencia expresiva de los lenguajes 5.2 El cálculo relacional de dominios 5.2.1 De nición formal 5.2.2 Ejemplos de consultas 5.2.3 Seguridad de las expresiones 5.2.4 Potencia expresiva de los lenguajes 5.3 Query-by-Example 5.3.1 Esqueletos de tablas 5.3.2 Consultas sobre una relación 5.3.3 Consultas sobre varias relaciones 5.3.4 Cuadro de condiciones 5.3.5 La relación resultado 5.3.6 QBE en Microsoft Access 5.4 Datalog 5.4.1 Estructura básica 5.4.2 Sintaxis de las reglas Datalog 5.4.3 Semántica de Datalog no recursivo 5.4.3.1 Semántica de las reglas 5.4.3.2 Semántica de los programas 5.4.4 Seguridad 5.4.5 Operaciones relacionales en Datalog 5.4.6 Recursividad en Datalog 5.4.7 La potencia de la recursividad 5.5 Resumen Ejercicios Notas bibliográ cas Herramientas P A R T E 2 DISEÑO DE BASES DE DATOS C A P Í T U L O 6 Diseño de bases de datos y el modelo E-R 6.1 Visión general del proceso de diseño 6.1.1 Fases del diseño 6.1.2 Alternativas de diseño 6.2 El modelo entidad-relación 6.2.1 Conjuntos de entidades 6.2.2 Conjuntos de relaciones 6.2.3 Atributos 6.3 Restricciones 6.3.1 Correspondencia de cardinalidades 6.3.2 Claves 6.3.2.1 Conjuntos de entidades 6.3.2.2 Conjuntos de relaciones 6.3.3 Restricciones de participación 6.4 Diagramas entidad-relación 6.5 Aspectos del diseño entidad-relación 6.5.1 Uso de conjuntos de entidades y de atributos 6.5.2 Uso de los conjuntos de entidades y de los conjuntos de relaciones 6.5.3 Conjuntos de relaciones binarias y n-arias 6.5.4 Ubicación de los atributos de las relaciones 6.6 Conjuntos de entidades débiles 6.7 Características del modelo E-R extendido 6.7.1 Especializacion 6.7.2 Generalización 6.7.3 Herencia de los atributos 6.7.4 Restricciones a las generalizaciones 6.7.5 Agregación 6.7.6 Notaciones E-R alternativas 6.8 Diseño de una base de datos para un banco 6.8.1 Alternativas de diseño E-R 6.8.2 Requisitos de datos de la base de datos bancaria 6.8.3 Conjuntos de entidades de la base de datos bancaria 6.8.4 Conjuntos de relaciones de la base de datos bancaria 6.8.5 Diagrama E-R de la base de datos bancaria 6.9 Reducción a esquemas relacionales 6.9.1 Representación de los conjuntos de entidades fuertes 6.9.2 Representación de los conjuntos de entidades débiles 6.9.3 Representación de los conjuntos de relaciones 6.9.3.1 Redundancia de los esquemas 6.9.3.2 Combinación de esquemas 6.9.4 Atributos compuestos y multivalorados 6.9.5 Representación de la generalización 6.9.6 Representación de la agregación 6.9.7 Esquemas relacionales para la entidad bancaria 6.10 Otros aspectos del diseño de bases de datos 6.10.1 Restricciones de datos y diseño de bases de datos relacionales 6.10.2 Requisitos de uso: consultas y rendimiento 6.10.3 Requisitos de autorización 6.10.4 Flujos de datos y de trabajo 6.10.5 Otros problemas del diseño de bases de datos 6.11 El lenguaje de modelado uni cado UML¤ 6.12 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 7 Diseño de bases de datos relacionales 7.1 Características de los buenos diseños relacionales 7.1.1 Alternativa de diseño: esquemas grandes 7.1.2 Alternativa de diseño: esquemas pequeños 7.2 Dominios atómicos y la primera forma norma 7.3 Descomposición mediante dependencias funcionales 7.3.1 Claves y dependencias funcionales 7.3.2 Forma normal de Boyce Codd 7.3.3 FNBC y la conservación de las dependencias 7.3.4 Tercera forma normal 7.3.5 Formas normales superiores 7.4 Teoría de las dependencias funcionales 7.4.1 Cierre de los conjuntos de dependencias funcionales 7.4.2 Cierre de los conjuntos de atributos 7.4.3 Recubrimiento canónico 7.4.4 Descomposición sin pérdida 7.4.5 Conservación de las dependencias 7.5 Algoritmos de descomposición 7.5.1 Descomposición en la FNBC 7.5.1.1 Comprobación de la FNBC 7.5.1.2 Algoritmo de descomposición de la FNBC 7.5.2 Descomposición en la 3FN 7.5.3 Comparación de la FNBC y la 3FN 7.6 Descomposición mediante dependencias multivaloradas 7.6.1 Dependencias multivaloradas 7.6.2 Cuarta forma normal 7.6.3 Descomposición en la 4FN 7.7 Más formas normales 7.8 Proceso de diseño de las bases de datos 7.8.1 El modelo ER y la normalización 7.8.2 Denominación de los atributos y de las relaciones 7.8.3 Desnormalización para el rendimiento 7.8.4 Otros problemas del diseño 7.9 Modelado de datos temporales 7.10 Resumen Términos de repaso Ejercicios prácticos Ejercicios Notas bibliográ cas C A P Í T U L O 8 Diseño y desarrollo de aplicaciones 8.1 Interfaces de usuario y herramientas 8.1.1 Formularios e interfaces grá cas de usuario 8.1.2 Generadores de informes 8.2 Interfaces Web para bases de datos 8.3 Fundamentos de Web 8.3.1 Los localizadores uniformes de recursos 8.3.2 El lenguaje de marcas de hipertexto 8.3.3 Secuencias de comandos del lado del cliente y applets 8.3.4 Los servidores Web y las sesiones 8.4 Servlets y JSP 8.4.1 Un ejemplo de servlet 8.4.2 Sesiones de los servlets 8.4.3 Ciclo de vida de los servlets 8.4.4 Soporte de los servlets 8.4.5 Secuencias de comandos en el lado del servidor 8.5 Creación de aplicaciones Web de gran tamaño 8.5.1 Creación de interfaces Web 8.5.2 Active Server Pages de Microsoft 8.5.3 Mejora del rendimiento de las aplicaciones 8.6 Disparadores 8.6.1 Necesidad de los disparadores 8.6.2 Los disparadores en SQL 8.6.3 Cuándo no deben emplearse los disparadores 8.7 Autorización en SQL 8.7.1 Concesión de privilegios 8.7.2 Concesión de privilegios en SQL 8.7.3 Roles 8.7.4 Retirada de los privilegios 8.7.5 Autorización en vistas, funciones y procedimientos 8.7.6 Limitaciones de la autorización de SQL 8.7.7 Trazas de auditoría 8.8 Seguridad de las aplicaciones 8.8.1 Técnicas de cifrado 8.8.2 Soporte del cifrado en las bases de datos 8.8.3 Autenticación 8.8.3.1 Sistemas de respuesta por desafío 8.8.3.2 Firmas digitales 8.8.3.3 Certi cados digitales 8.8.3.4 Autenticación centralizada 8.8.4 Protección de las aplicaciones 8.8.5 Intimidad 8.9 Resumen Ejercicios Sugerencias de proyectos Notas bibliográ cas Herramientas P A R T E 3BASES DEDATOSORIENTADASAOBJETOSYXML C A P Í T U L O 9 Bases de datos basadas en objetos 9.1 Visión general 9.2 Tipos de datos complejos 9.3 Tipos estructurados y herencia en SQL 9.3.1 Tipos estructurados 9.3.2 Herencia de tipos 9.4 Herencia de tablas 9.5 Tipos array y multiconjunto en SQL 9.5.1 Creación y acceso a los valores de los conjuntos 9.5.2 Consulta de los atributos valorados como conjuntos 9.5.3 Anidamiento y desanidamiento 9.6 Identidad de los objetos y tipos de referencia en SQL 9.7 Implementación de las características O-R 9.8 Lenguajes de programación persistentes 9.8.1 Persistencia de los objetos 9.8.2 Identidad de los objetos y punteros 9.8.3 Almacenamiento y acceso a los objetos persistentes 9.8.4 Sistemas persistentes de C++ 9.8.5 Sistemas Java persistentes 9.9 Sistemas orientados a objetos y sistemas relacionales orientados a objetos 9.10 Resumen Ejercicios Notas bibliográ cas Herramientas C A P Í T U L O 10 XML 10.1 Motivación 10.2 Estructura de los datos XM 10.3 Esquema de los documentos XML 10.3.1 De nición de tipos de documentos 10.3.2 XML Schema 10.4 Consulta y transformación 10.4.1 XPath 10.4.2 XQuery 10.4.2.1 Expresiones FLWOR 10.4.2.2 Reuniones 10.4.2.3 Consultas anidadas 10.4.2.4 Ordenación de resultados 10.4.2.5 Funciones y tipos 10.4.2.6 Otras características 10.4.3 XSLT¤¤ 10.5 La interfaz de programación de aplicaciones de XML 10.6 Almacenamiento de datos XML 10.6.1 Almacenamiento de datos no relacionales 10.6.2 Bases de datos relacionales 10.6.2.1 Almacenamiento con cadenas 10.6.2.2 Representación con árboles 10.6.2.3 Representación con relaciones 10.6.2.4 Publicación y fragmentación de datos XML 10.6.2.5 Almacenamiento nativo en bases de datos relacionale 10.6.3 SQL/XML 10.7 Aplicaciones XML 10.7.1 Almacenamiento de datos con estructura compleja 10.7.2 Formatos normalizados para el intercambio de datos 10.7.3 Servicios Web 10.7.4 Mediación de datos 10.8 Resumen Ejercicios Notas bibliográ cas Herramientas P A R T E 4 ALMACENAMIENTO DE DATOS Y CONSULTAS C A P Í T U L O 11 Almacenamiento yestructuradearchivo 11.1 Visión general de los medios físicos de almacenamiento 11.2 Discos magnéticos 11.2.1 Características físicas de los discos 11.2.2 Medidas del rendimiento de los discos 11.2.3 Optimización del acceso a los bloques del disco 11.3 RAID 11.3.1 Mejora de la abilidad mediante la redundancia 11.3.2 Mejora del rendimiento mediante el paralelismo 11.3.3 Niveles de RAID 11.3.4 Elección del nivel RAID adecuado 11.3.5 Aspectos hardware 11.3.6 Otras aplicaciones de RAID 11.4 Almacenamiento terciario 11.4.1 Discos ópticos 11.4.2 Cintas magnéticas 11.5 Acceso al almacenamiento 11.5.1 Gestor de la memoria intermedia 11.5.2 Políticas para la sustitución de la memoria intermedia 11.6 Organización de los archivos 11.6.1 Registros de longitud ja 11.6.2 Registros de longitud variable 11.7 Organización de los registros en archivos 11.7.1 Organización de archivos secuenciales 11.7.2 Organización de archivos en agrupaciones de varias tablas 11.8 Almacenamiento con diccionarios de datos 11.9 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 12 Indexación y asociación 12.1 Conceptos básicos 12.2 Índices ordenados 12.2.1 Índices densos y dispersos 1.2.2.2 Índices multinive 12.2.3 Actualización del índice 12.2.4 Índices secundarios 12.3 Archivos de índices de árbol B+ 12.3.1 Estructura de árbol B+ 12.3.2 Consultas con árboles B+ 12.3.3 Actualizaciones en árboles B+ 12.3.4 Organización de archivos con árboles B+ 12.3.5 Índices sobre cadenas de caracteres 12.4 Archivos de índices de árbol B 12.5 Accesos bajo varias claves 12.5.1 Uso de varios índices de clave única 12.5.2 Índices sobre varias claves 12.5.3 Claves de búsqueda duplicadas 12.5.4 Índices de cobertura 12.5.5 Índices secundarios y reubicación de registros 12.6 Asociación estática 12.6.1 Funciones de asociación 12.6.2 Gestión de desbordamientos de cajones 12.6.3 Índices asociativos 12.7 Asociación dinámica 12.7.1 Estructura de datos 12.7.2 Consultas y actualizaciones 12.7.3 Comparación entre la asociación estática y la dinámic 12.8 Comparación de la indexación ordenada y la asociación 12.9 Índices de mapas de bits 12.9.1 Estructura de los índices de mapas de bits 12.9.2 Implementación e ciente de las operaciones de mapas de bits 12.9.3 Mapas de bits y árboles B+ 12.10 De nición de índices en SQL 12.11 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 13 Procesamiento de consultas 13.1 Visión general 13.2 Medidas del coste de una consulta 13.3 Operación selección 13.3.1 Algoritmos básicos 13.3.2 Selecciones con índice 13.3.3 Selecciones con condiciones de comparación 13.3.4 Implementación de selecciones complejas 13.4 Ordenación 13.5 Operación reunión 13.5.1 Reunión en bucle anidado 13.5.2 Reunión en bucle anidado por bloques 13.5.3 Reunión en bucle anidado indexada 13.5.4 Reunión por mezcla 13.5.5 Reunión por asociación 13.5.5.1 Fundamentos 13.5.5.2 División recursiva 13.5.5.3 Gestión de desbordamientos 13.5.5.4 Coste de la reunión por asociación 13.5.5.5 Reunión por asociación híbrida 13.5.6 Reuniones complejas 13.6 Otras operaciones 13.6.1 Eliminación de duplicados 13.6.2 Proyección 13.6.3 Operaciones sobre conjuntos 13.6.4 Reunión externa 13.6.5 Agregación 13.7 Evaluación de expresiones 13.7.1 Materialización 13.7.2 Encauzamiento 13.7.2.1 Implementación del encauzamiento 13.7.2.2 Algoritmos de evaluación para el encauzamiento 13.8 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 14 Optimización de consultas 14.1 Visión general 14.2 Transformación de expresiones relacionales 14.2.1 Reglas de equivalencia 14.2.2 Ejemplos de transformaciones 14.2.3 Ordenación de las reuniones 14.2.4 Enumeración de expresiones equivalentes 14.3 Estimación de las estadísticas de los resultados de las expresiones 14.3.1 Información de catálogo 14.3.2 Estimación del tamaño de la selección 14.3.3 Estimación del tamaño de las reuniones 14.3.4 Estimación del tamaño de otras operaciones 14.3.5 Estimación del número de valores distintos 14.4 Elección de los planes de evaluación 14.4.1 Interacción de las técnicas de evaluación 14.4.2 Optimización basada en el coste 14.4.3 Heurísticas de optimización 14.4.4 Optimización de subconsultas anidadas¤ 14.5 Vistas materializadas¤ 14.5.1 Mantenimiento de las vistas 14.5.2 Mantenimiento incremental de las vistas 14.5.2.1 La operación reunión 14.5.2.2 Las operaciones selección y proyección 14.5.2.3 Las operaciones de agregación 14.5.2.4 Otras operaciones 14.5.2.5 Tratamiento de expresiones 14.5.3 Optimización de consultas y vistas materializada 14.6 Resumen Ejercicios Notas bibliográ cas P A R T E 5 GESTIÓN DE TRANSACCIONES C A P Í T U L O 15 Transacciones 15.1 Concepto de transacción 15.2 Estados de una transacción 15.3 Implementación de la atomicidad y la durabilidad 15.4 Ejecuciones concurrentes 15.5 Secuencialidad 15.5.1 Secuencialidad en cuanto a con ictos 15.5.2 Secuencialidad en cuanto a vistas¤ 15.6 Recuperabilidad 15.6.1 Plani caciones recuperables 15.6.2 Plani caciones sin cascada 15.7 Implementación del aislamiento 15.8 Comprobación de la secuencialidad 15.9 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 16 Control de concurrencia 16.1 Protocolos basados en el bloqueo 16.1.1 Bloqueos 16.1.2 Concesión de bloqueos 16.1.3 Protocolo de bloqueo de dos fases 16.1.4 Implementación de los bloqueos¤¤ 16.1.5 Protocolos basados en grafos 16.2 Protocolos basados en marcas temporales 16.2.1 Marcas temporales 16.2.2 Protocolo de ordenación por marcas temporales 16.2.3 Regla de escritura de Thomas 16.3 Protocolos basados en validación 16.4 Granularidad múltiple 16.5 Esquemas multiversión 16.5.1 Ordenación por marcas temporales multiversión 16.5.2 Bloqueo de dos fases multiversión 16.6 Tratamiento de interbloqueos 16.6.1 Prevención de interbloqueos 16.6.2 Esquemas basados en límite de tiempo 16.6.3 Detección y recuperación de interbloqueos 16.6.3.1 Detección de interbloqueos 16.6.3.2 Recuperación de interbloqueos 16.7 Operaciones para insertar y borrar 16.7.1 Borrado 16.7.2 Inserción 16.7.3 El fenómeno fantasma 16.8 Niveles débiles de consistenci 16.8.1 Consistencia de grado dos 16.8.2 Estabilidad del cursor 16.8.3 Niveles débiles de consistencia en SQL 16.9 Concurrencia en los índices¤¤ 16.10 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 17 Sistema de recuperación 17.1 Clasi cación de los fallos 17.2 Estructura del almacenamiento 17.2.1 Tipos de almacenamiento 17.2.2 Implementación del almacenamiento estable 17.2.3 Acceso a los datos 17.3 Recuperación y atomicidad 17.4 Recuperación basada en el registro histórico 17.4.1 Modi cación diferida de la base de datos 17.4.2 Modi cación inmediata de la base de datos 17.4.3 Puntos de revisión 17.5 Transacciones concurrentes y recuperación 17.5.1 Interacción con el control de concurrencia 17.5.2 Retroceso de transacciones 17.5.3 Puntos de revisión 17.5.4 Recuperación al reiniciar 17.6 Gestión de la memoria intermedia 17.6.1 Registro histórico con memoria intermedia 17.6.2 Base de datos con memoria intermedia 17.6.3 Lafuncióndelsistemaoperativoenlagestióndelamemoriaintermedia 17.7 Fallo con pérdida de almacenamiento no volátil 17.8 Técnicas avanzadas de recuperación 17.8.1 Registro de deshacer lógico 17.8.2 Retroceso de transacciones 17.8.3 Puntos de revisión 17.8.4 Recuperación al reiniciar 17.8.5 Revisión difusa 17.8.6 ARIES 17.8.6.1 Estructuras de datos 17.8.6.2 Algoritmo de recuperación 17.8.6.3 Otras características 17.9 Sistemas remotos de copias de seguridad 17.10 Resumen Ejercicios Notas bibliográ cas P A R T E 6 MINERÍA DE DATOS Y RECUPERACIÓN DE INFORMACIÓN C A P Í T U L O 18 Análisis y minería de datos 18.1 Sistemas de ayuda a la toma de decisiones 18.2 Análisis de datos y OLAP 18.2.1 Procesamiento analítico en línea 18.2.2 Implementación de OLAP 18.2.3 Agregación extendida 18.2.4 Clasi cación 18.2.5 Ventanas 18.3 Almacenes de datos 18.3.1 Componentes de los almacenes de datos 18.3.2 Esquemas de los almacenes de datos 18.4 Minería de datos 18.4.1 Aplicaciones de la minería de datos 18.4.2 Clasi cación 18.4.2.1 Clasi cadores de árboles de decisión 18.4.2.2 Otros tipos de clasi cadores 18.4.2.3 Regresión 18.4.3 Reglas de asociación 18.4.4 Otros tipos de asociación 18.4.5 Agrupamiento 18.4.6 Otros tipos de minería 18.5 Resumen Ejercicios Notas bibliográ cas Herramientas C A P Í T U L O 19 Recuperación de información 19.1 Visión general 19.2 Clasi cación por relevancia según los términos 19.2.1 Clasi cación según TF-IDF 19.2.2 Recuperación basada en la semejanza 19.3 Relevancia según los hipervínculos 19.3.1 Clasi cación por popularidad 19.3.2 PageRank 19.3.3 Otras medidas de popularidad 19.4 Sinónimos, homónimos y ontologías 19.5 Creación de índices de documentos 19.6 Medida de la efectividad de la recuperación 19.7 Motores de búsqueda en Web 19.8 Recuperación de información y datos estructurados 19.8.1 Extracción de información 19.8.2 Consulta de datos estructurados 19.8.3 Respuesta a las preguntas 19.9 Directorios 19.10 Resumen Ejercicios Notas bibliográ cas Herramientas P A R T E 7 ARQUITECTURA DE SISTEMAS C A P Í T U L O 20 Arquitecturas de los sistemas de bases de datos 20.1 Arquitecturas centralizadas y cliente servidor 20.1.1 Sistemas centralizados 20.1.2 Sistemas cliente servidor 20.2 Arquitecturas de sistemas servidores 20.2.1 Estructura de procesos del servidor de transacciones 20.2.2 Servidores de datos 20.3 Sistemas paralelos 20.3.1 Ganancia de velocidad y ampliabilidad 20.3.2 Redes de interconexión 20.3.3 Arquitecturas paralelas de bases de datos 20.3.3.1 Memoria compartida 20.3.3.2 Disco compartido 20.3.3.3 Sin compartimiento 20.3.3.4 Jerárquica 20.4 Sistemas distribuidos 20.4.1 Un ejemplo de una base de datos distribuida 20.4.2 Aspectos de la implementación 20.5 Tipos de redes 20.5.1 Redes de área local 20.5.2 Redes de área amplia 20.6 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 21 Bases de datos paralelas 21.1 Introducción 21.2 Paralelismo de E/S 21.2.1 Técnicas de división 21.2.2 Comparación de las técnicas de división 21.2.3 Tratamiento del sesgo 21.3 Paralelismo entre consultas 21.4 Paralelismo en consultas 21.5 Paralelismo en operaciones 21.5.1 Ordenación paralela 21.5.1.1 Ordenación con división por rangos 21.5.1.2 Ordenación y mezcla externas paralelas 21.5.2 Reunión paralela 21.5.2.1 Reunión por división 21.5.2.2 Reunión con fragmentos y réplicas 21.5.2.3 Reunión por asociación dividida en paralelo 21.5.2.4 Reuniones con bucles anidados en paralelo 21.5.3 Otras operaciones relacionales 21.5.4 Coste de la evaluación paralela de las operaciones 21.6 Paralelismo entre operaciones 21.6.1 Paralelismo de encauzamiento 21.6.2 Paralelismo independiente 21.6.3 Optimización de consultas 21.7 Diseño de sistemas paralelos 21.8 Resumen Ejercicios prácticos Ejercicios Notas bibliográ cas C A P Í T U L O 22 Bases de datos distribuidas 22.1 Bases de datos homogéneas y heterogéneas 22.2 Almacenamiento distribuido de datos 22.2.1 Réplica de datos 22.2.2 Fragmentación de los datos 22.2.3 Transparencia 22.3 Transacciones distribuidas 22.3.1 Estructura del sistema 22.3.2 Modos de fallo del sistema 22.4 Protocolos de compromiso 22.4.1 Compromiso de dos fases 22.4.1.1 El protocolo de compromiso 22.4.1.2 Tratamiento de los fallos 22.4.1.3 Recuperación y control de concurrencia 22.4.2 Compromiso de tres fase 22.4.3 Modelos alternativos del procesamiento de transacciones 22.5 Controldela concurrencia en las basesdedatos distribuidas 22.5.1 Protocolos de bloqueo 22.5.1.1 Enfoque de gestor único de bloqueos 22.5.1.2 Gestor distribuido de bloqueos 22.5.1.3 Copia principal 22.5.1.4 Protocolo de mayoría 22.5.1.5 Protocolo sesgado 22.5.1.6 Protocolo de consenso de quórum 22.5.2 Marcas temporales 22.5.3 Réplica con grado de consistencia bajo 22.5.4 Tratamiento de los interbloqueos 22.6 Disponibilidad 22.6.1 Enfoque basado en la mayoría 22.6.2 Enfoque leer uno, escribir todos los disponibles 22.6.3 Reintegración de los sitios 22.6.4 Comparación con la copia de seguridad remot 22.6.5 Selección del coordinador 22.7 Procesamiento distribuido de consultas 22.7.1 Transformación de consultas 22.7.2 Procesamiento de reuniones sencillas 22.7.3 Estrategia de semirreunión 22.7.4 Estrategias de reunión que aprovechan el paralelismo 22.8 Bases de datos distribuidas heterogéneas 22.8.1 Vista uni cada de los datos 22.8.2 Procesamiento de las consultas 22.9 Sistemas de directorio 22.9.1 Protocolos de acceso a directorios 22.9.2 El protocolo de acceso ligero a directorios LDAP (Lightweight Directory Access Protocol) 22.9.2.1 El modelo de datos LDAP 22.9.2.2 Tratamiento de los datos 22.9.2.3 Árboles de directorio distribuidos 22.10 Resumen Ejercicios Notas bibliográ cas P A R T E 8 OTROS TEMAS C A P Í T U L O 23 Desarrollo avanzado de aplicaciones 23.1 Ajuste del rendimiento 23.1.1 Localización de los cuellos de botella 23.1.2 Parámetros ajustables 23.1.3 Ajuste del hardware 23.1.4 Ajuste del esquema 23.1.5 Ajuste de los índices 23.1.6 Uso de vistas materializadas 23.1.7 Ajuste automático del diseño físico 23.1.8 Ajuste de las transacciones 23.1.9 Simulación del rendimiento 23.2 Pruebas de rendimiento 23.2.1 Familias de tareas 23.2.2 Clases de aplicaciones de bases de dato 23.2.3 Las pruebas de rendimiento TPC 23.2.4 Las pruebas de rendimiento OODB 23.3 Normalización 23.3.1 Normas de SQ 23.3.2 Normas de conectividad de las bases de datos 23.3.3 Normas de las bases de datos de objetos 23.3.4 Normas basadas en XML 23.4 Migración de aplicaciones 23.5 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 24 Tipos de datos avanzados y nuevas aplicaciones 24.1 Motivación 24.2 El tiempo en las bases de datos 24.2.1 Especi cación del tiempo en SQL 24.2.2 Lenguajes de consultas temporales 24.3 Datos espaciales y geográ cos 24.3.1 Representación de la información geométrica 24.3.2 Bases de datos para diseño 24.3.3 Datos geográ cos 24.3.3.1 Representación de los datos geográ cos 24.3.3.2 Aplicaciones de los datos geográ cos 24.3.4 Consultas espaciales 24.3.5 Índices sobre los datos espaciales 24.3.5.1 Los árboles k-d 24.3.5.2 Árboles cuadráticos 24.3.5.3 Árboles R 24.4 Bases de datos multimedia 24.4.1 Formatos de datos multimedia 24.4.2 Datos de medios continuos 24.4.3 Recuperación basada en la semejanza 24.5 Computadoras portátiles y bases de datos personales 24.5.1 Un modelo de informática móvil 24.5.2 Encaminamiento y procesamiento de consultas 24.5.3 Datos de difusión 24.5.4 Desconexiones y consistencia 24.6 Resumen Ejercicios Notas bibliográ cas C A P Í T U L O 25 Procesamiento avanzado de transacciones 25.1 Monitores de procesamiento de transacciones 25.1.1 Arquitecturas de los monitores TP 25.1.2 Coordinación de las aplicaciones mediante los monitores TP 25.2 Flujos de trabajo de transacciones 25.2.1 Especi cación de los ujos de trabajo 25.2.2 Requisitos de atomicidad ante fallos de los ujos de trabajo 25.2.3 Ejecución de los ujos de trabajo 25.2.4 Recuperación en los ujos de trabajo 25.2.5 Sistemas gestores de ujos de trabajo 25.3 Comercio electrónico 25.3.1 Catálogos electrónicos 25.3.2 Mercados 25.3.3 Liquidación de pedidos 25.4 Bases de datos en memoria principal 25.5 Sistemas de transacciones de tiempo real 25.6 Transacciones de larga duración 25.6.1 Ejecuciones no secuenciables 25.6.2 Control de concurrencia 25.6.3 Transacciones anidadas y multinivel 25.6.4 Transacciones compensadoras 25.6.5 Problemas de implementación 25.7 Gestión de transacciones en varias bases de datos 25.7.1 Secuencialidad de dos niveles 25.7.2 Aseguramiento de la secuencialidad global 25.8 Resumen Ejercicios Notas bibliográ cas P A R T E 9 ESTUDIOS DE CASOS C A P Í T U L O 26 PostgreSQL Anastassia Ailamaki, Sailesh Krishnamurthy, Spiros Papadimitriou, Bianca Schroeder CMU 26.1 Introducción 26.2 Interfaces de usuario 26.2.1 Interfaces de terminal interactivas 26.2.2 Interfaces grá cas 26.2.3 Interfaces para lenguajes de programación 26.3 Variaciones y extensiones de SQL 26.3.1 Tipos de PostgreSQL 26.3.1.1 El sistema de tipos de PostgreSQL 26.3.1.2 Tipos no estándar 26.3.2 Las reglas y otras características de las bases de datos activa 26.3.3 Extensibilidad 26.3.3.1 Tipos 26.3.3.2 Funciones 26.3.3.3 Extensiones de los índices 26.3.3.4 Lenguajes procedimentales 26.3.3.5 Interfaz de programación para servidores 26.4 Gestión de transacciones en PostgreSQL 26.4.1 Control de concurrencia en PostgreSQL 26.4.1.1 Niveles de aislamiento en PostgreSQL 26.4.1.2 Control de concurrencia para los comandos LMD 26.4.1.3 Implementación de MVCC en PostgreSQL 26.4.1.4 Repercusiones del empleo de MVCC 26.4.1.5 Control de la concurrencia LDD 26.4.1.6 Bloqueos e índices 26.4.2 Recuperación 26.5 Almacenamiento e índices 26.5.1 Tablas 26.5.2 Índices 26.5.2.1 Tipos de índices 26.5.2.2 Otras variaciones de los índices 26.6 Procesamiento y optimización de consultas 26.6.1 Reescritura de consultas 26.6.2 Plani cación y optimización de consultas 26.6.3 Ejecutor de consultas 26.6.4 Disparadores y restricciones 26.7 Arquitectura del sistema Notas bibliográ cas C A P Í T U L O 27 Oracle 27.1 Herramientas para el diseño de bases de datos y la consult 27.1.1 Herramientas para el diseño de bases de dato 27.1.2 Herramientas de consulta 27.2 Variaciones y extensiones de SQL 27.2.1 Características relacionales orientadas a objetos 27.2.2 OLAP 27.2.3 Disparadores 27.3 Almacenamiento e índices 27.3.1 Espacios de tablas 27.3.2 Segmentos 27.3.3 Tablas 27.3.4 Tablas organizadas con índices 27.3.5 Índices 27.3.6 Índices de mapas de bits 27.3.7 Índices basados en funciones 27.3.8 Índices de reunión 27.3.9 Índices de dominio 27.3.10 División en particiones 27.3.10.1 División por rangos 27.3.10.2 División asociativa 27.3.10.3 División compuesta 27.3.10.4 División por listas 27.3.11 Vistas materializadas 27.4 Procesamiento y optimización de consultas 27.4.1 Métodos de ejecución 27.4.2 Optimización 27.4.2.1 Transformaciones de consultas 27.4.2.2 Selección de la ruta de acceso 27.4.3 SQL Tuning Advisor 27.4.4 Ejecución en paralelo 27.5 Control de concurrencia y recuperación 27.5.1 Control de concurrencia 27.5.2 Estructuras básicas de recuperación 27.5.3 Oracle Data Guard 27.6 Arquitectura del sistema 27.6.1 Servidor dedicado: estructuras de memoria 27.6.2 Servidor dedicado: estructuras de proceso 27.6.3 Servidor compartido 27.6.4 Oracle Real Application Clusters 27.7 Réplica, distribución y datos externos 27.7.1 Réplica 27.7.2 Bases de datos distribuidas 27.7.3 Orígenes de datos externos 27.7.3.1 SQL*Loader 27.7.3.2 Tablas externas 27.8 Herramientas de gestión de bases de datos 27.8.1 Repositorio automático de carga de trabajo 27.8.2 Gestión de los recursos de la base de datos 27.8.3 Oracle Enterprise Manager 27.9 Minería de datos Notas bibliográ cas C A P Í T U L O 28 DB2 Universal Database de IBM 28.1 Visión general 28.2 Herramientas de diseño de bases de datos 28.3 Variaciones y extensiones de SQL 28.3.1 Características XML 28.3.2 Soporte para tipos de datos 28.3.3 Funciones y métodos de nidos por el usuario 28.3.4 Objetos de gran tamaño 28.3.5 Extensiones de índices y restricciones 28.3.6 Servicios Web 28.3.7 Colas de mensajes 28.4 Almacenamiento e indexación 28.4.1 Arquitectura de almacenamiento 28.4.2 Colas de memorias intermedias 28.4.3 Tablas, registros e índices 28.5 Agrupación multidimensional 28.5.1 Índices de bloque 28.5.2 Mapas de bloques 28.5.3 Consideraciones de diseño 28.5.4 Impacto sobre las técnicas existentes 28.6 Procesamiento y optimización de consultas 28.6.1 Métodos de acceso 28.6.2 Operaciones de reunión, agregación y de conjuntos 28.6.3 Soporte para el procesamiento de SQL complejo 28.6.4 Procesamiento de consultas en multiprocesadores 28.6.5 Optimización de consultas 28.7 Tablas de consultas materializadas 28.7.1 Encaminamiento de consultas a MQTs 28.7.2 Mantenimiento de MQTs 28.8 Características autónomas de DB2 28.8.1 Con guración 28.8.2 Optimización 28.9 Herramientas y utilidades 28.9.1 Utilidades 28.10 Control de concurrencia y recuperación 28.10.1 Concurrencia y aislamiento 28.10.2 Compromiso y retroceso 28.10.3 Registro histórico y recuperación 28.11 Arquitectura del sistema 28.12 Réplicas, distribución y datos externos 28.13 Características de inteligencia de negocio Notas bibliográ cas C A P Í T U L O 29 SQL Server de Microsoft 29.1 Herramientas para la administración, el diseño y la consulta de las bases de datos 29.1.1 Desarrollo de bases de datos y herramientas visuales para las bases de datos 29.1.2 Herramientas para la consulta y el ajuste de las bases de datos 29.1.2.1 Query Editor 29.1.2.2 SQL Pro ler 29.1.2.3 Database Tuning Advisor 29.1.3 Management Studio de SQL Server 29.2 Variaciones y extensiones de SQL 29.2.1 Tipos de datos 29.2.2 Mejoras del lenguaje de consultas 29.2.3 Rutinas 29.2.3.1 Vistas indexadas 29.2.3.2 Vistas actualizables y disparadores 29.3 Almacenamiento e índices 29.3.1 Grupos de archivos 29.3.2 Gestión del espacio en los grupos de archivos 29.3.3 Tablas 29.3.4 Índices 29.3.5 Particiones 29.3.6 Creación en línea de índices 29.3.7 Exploraciones y lecturas anticipadas 29.4 Procesamiento y optimización de consultas 29.4.1 Visión general del proceso de optimización 29.4.2 Simpli cación de las consultas 29.4.3 Reordenación y optimización basadas en el coste 29.4.4 Planes de actualización 29.4.5 Análisis de los datos durante la optimización 29.4.6 Búsquedas parciales y heurísticas 29.4.7 Ejecución de las consultas 29.5 Concurrencia y recuperación 29.5.1 Transacciones 29.5.2 Bloqueos 29.5.2.1 Bloqueos dinámicos 29.5.2.2 Detección de los interbloqueos 29.5.2.3 Versiones de las las para el aislamiento de instantáneas 29.5.3 Recuperación y disponibilidad 29.5.3.1 Recuperación de caídas 29.5.3.2 Recuperación de los medios 29.5.3.3 Copias exactas de las bases de datos 29.6 Arquitectura del sistema 29.6.1 Agrupación de hebras en el servidor 29.6.2 Gestión de la memoria 29.6.3 Seguridad 29.7 Acceso a los datos 29.8 Procesamiento de consultas heterogéneas distribuidas 29.9 Duplicación 29.9.1 Modelo de duplicación 29.9.2 Opciones de duplicación 29.10 Programación de servidores en .NET 29.10.1 Conceptos básicos de .NET 29.10.2 CLR en SQL 29.10.3 Contratos para la extensión 29.10.3.1 Rutinas 29.10.3.2 Funciones que devuelven tablas 29.10.3.3 Tipos 29.10.3.4 Agregados 29.11 Soporte de XML en SQL Server 2005 29.11.1 Almacenamiento y organización nativos de XML 29.11.2 Validación y tipi cación de tipos de datos XML 29.11.3 Consultas y actualizaciones sobre el tipo de datos XML 29.11.4 Ejecución de expresiones XQuery 29.12 Service Broker de SQLServer 29.13 Almacenes de datos e inteligencia de negocio 29.13.1 SQL Server Integration Services 29.13.2 SQL Server Analysis Services 29.13.2.1 SQL Server Analysis Services: OLAP 29.13.2.2 SQL Server Analysis Services: minería de datos 29.13.3 SQL Server Reporting Services Notas bibliográ cas BIBLIOGRAFÍA ÍNDICE