Lecturas

Esta página pretende ser una guía para aquellos que necesitan más, que quieren más. Normalmente se trata de comentarios sobre capítulos de la bibliografía recomendada.

Está organizado por los temas previstos en la planificación de la asignatura, y se marcan la página de comienzo y el número y título del capítulo o sección. Esta información puede cambiar dependiendo de la edición del libro que se esté consultando.

[Elmasri] Elmasri, Ramez (2002). Fundamentos de sistemas de bases de datos  Pearson Educación de México, SA de CV. 

[Connolly] Connolly, T., & Begg, C. (2005).  Sistemas de bases de datos: un enfoque práctico para diseño, implementación y gestión (4a ed.). Addison Wesley.

[Date] Date, C. (2001). Introducción a los sistemas de bases de datos (7th ed.). Pearson Educación.

[Silberschatz] Silberschatz, K. (2007). Fundamentos de diseño de bases de datos. McGraw-Hill.

Lecturas propuestas

Historia y ficheros: llegada de las técnicas de BD

101 [Silberschatz] 

(Pág 2) 1.2 Propósito de los sistemas de bases de datos.

Muestra con algún ejemplo más concreto el por qué las bases de datos han sustituido al fichero convencional en la gestión de grandes volúmenes de datos.

102 [Connolly]

(Pág 4) 1.1 Introducción.

No podemos aislarnos del mundo, somos una base de datos, no hay donde esconderse; unos cuantos ejemplos, muy pocos en realidad, de la penetración de las bases de datos en la gestión de la información.

103 [Connolly] 

(Pág 7) 1.2.1 La técnica basada en archivos; 1.2.2 Limitaciones de la técnica basada en archivos. 

Desarrollo de lo mismo que se cuenta en 101 pero valiéndose de un caso de estudio. 

104 [Elmasri] 

(Pág 105) Cap. 5, Almacenamiento de registros y organizaciones de ficheros primarios. 

Ficheros, desde la organización secuencial pura hasta la indexación y su relación con el hardware y el sistema operativo. Se deben extraer las ideas más generales ya que ofrece una visión bastante completa de los sistemas de ficheros. 

105 [Elmasri] 

(Pág 147) Cap. 6, Estructuras de índices para ficheros.

No tanto por los detalles más concretos y técnicas de programación sino por comprender las distintas opciones de indexación que se pueden utilizar y las ventajas e inconvenientes de unas respecto de las otras.

Modelo relacional

301 [Connolly] 

(Pág 64) 3.1 Breve historia del modelo relacional; 3.2 Terminología (de 3.2.1 hasta 3.2.4).

Una breve reseña histórica del contexto histórico en el que nace el modelo relacional y las primeras definiciones del modelo basadas en el concepto matemático de relación.

302 [Elmasri] 

(Pág 185) PARTE II Modelo, lenguajes y sistemas relaciónales: Capítulo 7. El modelo de datos relacional, las restricciones relacionales y el álgebra relacional: 7.1. Conceptos del modelo relacional hasta 7.3. Operaciones de actualización y tratamiento de las violaciones a las restricciones

Prácticamente toda la teoría de los fundamentos del modelo relacional que vamos a ver en clase: la relación matemática (tabla), restricciones, claves, integridad referencial. 

Álgebra y cálculos relacionales

401 [Elmasri] 

(Pág 200) 7.4, Operaciones básicas del álgebra relacional; 7.5, Operaciones relacionales adicionales; 7.6, Ejemplos de consultas en álgebra relacional

Se muestran los operadores y restricciones del lenguaje, con diferencias de notación y profundidad respecto a lo que se ve en clase, que es un resumen adaptado.

402 [Elmasri]

 (Pág 282) 9.3, El cálculo relacional orientado a tuplas; 9.4, El cálculo relacional orientado a dominios 

Se introducen los lenguajes de consulta formales basado en los paradigmas del cálculo orientado a tuplas y a dominios, respectivamente. 

403 [Connolly]

(Pág 79) Cap. 4, Álgebra relacional y cálculo relacional

Otra fuente sobre el mismo tema.

404 [Date]

(Pág. 198) Cap. 7, Cálculo relacional

Presenta otra sintaxis más textual. La sección 7.4 incluye una referencia a la demostración de que cálculo y álgebra son igualmente expresivos o potentes. La sección 7.7, especialmente la introducción, introduce una discusión interesante relacionada con el origen de SQL. 

405 [Date]

(Pág 198) Capítulo 7, Cálculo relacional. 7.1, Introducción; 7.7 Propiedades de SQL.

Es una exposición interesante de los orígenes de SQL y de los distintos caminos tomados para desarrollar lenguajes de consulta para el modelo relacional.

Normalización

501 [Date]

(Pág 366) 11.5, Forma normal de Boyce-Codd

Concretamente en esta página, antes de comenzar a definir la FNBC, una explicación muy clara y concisa de porqué se hizo necesaria una forma normal adicional a la 3FN. Y un dato curioso sobre el nombre de la forma normal en la nota al pie.

502 [Date]

(Pág 375) 11.7, Resumen

La definición de 3FN y FNBC de Zaniolo.

503 [Elmasri]

(Pág 463) 14.4.1 y 14.4.2, definiciones generales de 2FN y 3FN

Otra visión complementaria al problema de la normalización generalizando a cualquier cantidad de claves candidatas y no solo una.

504 [Date]

(Pág 389) Cap. 12, Normalización adicional II: formas normales superiores

Para el que quiera ampliar conocimientos con la 4FN y la 5FN.

Organización física

701 [Connolly]

(Pág 1149) Apéndice C, Organizaciones de archivos e índices.

La introducción necesaria a las organizaciones de archivos que se suelen o pueden ser utilizadas en el esquema interno de un sistema de gestión de bases de datos.

702 [Connolly]

(Pág 451) Cap. 17, Metodología: diseño físico de bases de datos relacionales.

Descripción más detallada de los factores que afectan al rendimiento de una base de datos relacional, con una frontera difusa entre el diseño conceptual y lógico, y el diseño físico.

703 [Elmasri]

(Pág 497) Cap. 16, Diseño y ajuste práctico de bases de datos.

Este capítulo ofrece una visión resumida, a lo mejor demasiado resumida, de qué cosas se pueden hacer para mejorar el rendimiento de un sistema de bases de datos.

704 [Silberschatz]

(Pág 355) Parte 4, Almacenamiento de datos.

Esta referencia es más generalista y se basa en la descripción de las distintas opciones de medios físicos y organizaciones de archivos que se podrían elegir y la definición de índices para acelerar la recuperación de datos.

Sistemas de gestión de bases de datos

801 [Elmasri]

(Pág 23) Cap. 2, Conceptos y arquitectura de los sistemas de bases de datos.

Esta lectura hay que tomársela como lo que es: una descripción con ánimo generalista que después cada producto software implementa según sus objetivos. Las dos primeras secciones, las más claramente relacionadas con los objetivos de la asignatura, describen las características y arquitectura lógica de cualquier sistema. Las secciones 2.3 y 2.4 son las que dependerían más de un software u otro, ya que tratan los lenguajes, interfaces y módulos de apoyo al propio motor de base de datos. Las últimas secciones tratan aspectos más especializados como la arquitectura cliente-servidor y las bases de datos distribuidas.

802 [Date]

(Pág 33) Cap. 2, Arquitectura de los sistemas de bases de datos.

Nuevamente, casi un glosario de términos que todo sistema de gestión de base de datos contempla. También, en la segunda parte del capítulo, hace hincapié en la arquitectura cliente-servidor, modelo que, por otra parte, es el común de la mayoría de instalaciones.

803 [Connolly]

(Pág 31) Cap. 2, El entorno de la base de datos.

Otro más, con una enfoque casi clónico al de las otras referencias. Hace especial mención de las diferencias de modelado implícitas según el tipo de esquema que queramos tratar, mezclando aquí conceptos que se muestran en el tema de modelos de datos.

Lecturas en línea

 i101 Software crisis, Wikipedia. En qué consiste y cómo surgió el término.

 i102 Historia de las bases de datos, Historia de la Informática. Breve y fácil de leer, evolución de las técnicas de almacenamiento y procesamiento de datos desde mucho antes de la aparición de los ordenadores, ligado precisamente al estado tecnológico de cada momento.

 i103 El camino hacia las Bases de Datos Relacionales, Macluskey. Curiosa aproximación con muchos datos interesantes al recorrido histórico de la informática hasta llegar a las bases de datos, que incluye también al fichero.

Historia

 i201

Mercedes Marqués. En formato diapositiva, aunque con bastante texto. Demasiado extenso para nuestros objetivos pero un buen punto de partida para profundizar y, buscando los conceptos mencionados en clase, ofrece más ejemplos e información.

Ficheros

 i301 Data model, Wikipedia. Entrada extensa en la wikipedia, nos interesa extraer los datos más relevantes: qué son y para qué sirven, qué tipos hay y qué modelos se pueden destacar. 

 i302 Bases de datos: modelos de datos, Antonio Moreno. Esta publicación se ha elegido por su brevedad y concisión, es prácticamente un resumen de lo comentado en clase.

Modelos de datos

 i401 Entity-relationship model, Wikipedia. Particularmente interesante porque muestra gráficos muy simples como ejemplo de las distintas notaciones del modelo que han tenido más aceptación. Por otro lado, resumen de las estructuras del modelo y de los conceptos que pueden llegar a representar.

 i403 Entity Relationship Modeling in Database Management Systems, Richard Holowczak. Otra fuente para comparar distintas notaciones de E-R.

Entidad-relación

 i502 Relational model,  Wikipedia. Como la mayoría de las entradas de este tipo en Wikipedia, un buen punto inicial para descubrir las definiciones del modelo y poder profundizar a partir de ellas. El artículo en inglés es más completo que el escrito en español, como suele ser habitual también.

 i503 De registros y tuplas, Blog FBD. Una exposición sobre el uso a veces indiscriminado del término registro cuando hablamos de bases de datos relacionales.

 i504 El modelo relacional ya tiene unos añitos, Blog FBD. Sobre las carencias del modelo en estos tiempos.

Modelo relacional

 i601 El álgebra relacional, Blog FBD. De por qué es tan importante este tema dentro de la asignatura.

 i602 Cálculo relacional: ¿pero qué necesidad tengo yo…?, Blog FBD. Origen, detalles y justificación de su inclusión en el temario, de forma excesivamente breve, de estos lenguajes.

 i603 Relational algebra, Wikipedia. Para ver que el álgebra relacional tiene más operadores o versiones de operadores que lo acercan más al núcleo de SQL (más bien, al revés). A destacar el apunte sobre su utilización en optimización de consultas. También un par de enlaces a implementaciones del lenguaje que se pueden descargar y probar.

 i604 Cálculo relacional, Francisco Ruiz González. La definición del lenguaje en toda su extensión.

 i605 La perspectiva lógica del modelo relacional. Eva Gómez, Patricio Martínez, Paloma Moreda, Armando Suárez, Andrés Montoyo, Estela Saquete. De producción propia, con objetivos parecidos a i604, hace más hincapié en la idea de "otra forma" de ver una base de datos.

Álgebra y Cálculo relacionales

i701 Normalizar, que no "formalizar", Blog FBD. Un texto introductorio, para qué sirve normalizar.

i702 Ahí va, la 4FN y la 5FN, Blog FBD. Una reflexión sobre estas formas normales.

Normalización

i801 Comparison of relational database management systems, Wikipedia. Más que nada, por mostrar que sistemas de bases de datos hay muchos, pero más, todavía, herramientas de acceso, diseño, etc.

i802 Arquitectura ANSI-SPARC, Wikipedia

i803 Consejos para optimizar bases de datos MySQL, Pablo Javier Suárez. Recopilación de enlaces sobre optimización en MySQL.

i804 Optimization and Tuning, MariaDB Knowledge Base.

i805 Query optimization in DBMS, Koolcampus. Presentación de diapositivas que muestra diversos aspectos del rendimiento de una consulta y su optimización.

i807 Understanding the Query Execution Plan, MySQL Documentation. EXPLAIN en el manual MySQL.

i808 Query optimization, Yannis E. Ioannidis. Sobre la optimización de consultas.

i810 Optimización de Consultas SQL parte II, Mundo Business Intelligence. Más sobre cómo escribir consultas SQL.

Sistemas de gestión de bases de datos

i901 Fundamentos de bases de datos NoSQL: MongoDB, José Manuel Alarcón. Descripción breve de los sistemas NoSQL, centrándose en MongoDB y sus aplicaciones. Entre otras cosas dice que "este tipo de bases de datos no sustituyen a las bases de datos tradicionales, como SQL Server, Oracle o MySQL, sino que las complementan para ciertos tipos de aplicaciones especializadas". Y estamos de acuerdo.

i902 Bases de datos NoSQL. Elige la opción que mejor se adapte a tus necesidades, Genbeta dev. Una clasificación de los tipos de BD NoSQL más comunes.

i903 NoSQL. Wikipedia

i904 ¿Qué es NoSQL?. Incluye "Introducción a DynamoDB". AWS.

i905 El concepto NoSQL, o cómo almacenar tus datos en una base de datos no relacional. Carlos Paramio.

i906 ACID. Wikipedia.

i907 List of NoSQL Databases.  NoSQL.

i908 NoSQL para no programadores.  Sergio Montoro 2012.

i909 MongoDB

i910 JSON. Wikipedia.

i911 BSON. https://bsonspec.org/.

i912 Javascript. W3.

NoSQL