Esta obra se publica con una licencia BY-NC-SA Creative Commons License
Introducción a las técnicas básicas de bases de datos, fundamentales para el desarrollo eficaz y eficiente del software de gestión y de muchas otras áreas que se benefician de su potencia y versatilidad.
Materiales publicados |
||||||||||||||||
archivos | recursos docentes | recursos web | ||||||||||||||
![]() |
![]() |
![]() |
||||||||||||||
doc | html | ppt | avi/mpeg/swf | mp3 | temas | prácticas | ejercicios | exámenes | artículos | site | docuwiki | blog | moodle | otros |
Clases de teoría divididas en 2 partes de 50 minutos cada una; prácticas en ordenador.
EVALUACIÓN CONTINUA (25%) Intermedios de teoría:
Básicamente de tipo test, junto con algún ejercicio de aplicación directa de la teoría. Se realizarán 2 durante el curso, de 1 hora cada uno
EVALUACIÓN CONTINUA (50%) SQL
Minicontroles al final de la sesión de prácticas relacionados con lo visto en ellas. 10 controles de 10 min.
EXAMEN FINAL (25%) Examen teórico-práctico
Examen escrito en la fecha oficial de la UA, básicamente de ejercicios de aplicación de la teoría, en primera convocatoria (junio) y recuperación (julio). No más de 3 horas.
Tema 1: Organización
Objetivos generales de la asignatura. Contenidos. Sistema de evaluación, descripción de actividades a realizar.
Tema 2: Ficheros y técnicas de base de datos
Justificación histórica de las técnicas de BD. Principales tipos y organizaciones de ficheros, ventajas y desventajas. Marco de aplicación y relación con la empresa de las bases de datos. Cuestiones legales asociadas a la gestión de grandes volúmenes de datos.
Tema 3: El modelo de datos Entidad-Relación
Conceptos básicos del modelo y función del mismo en las técnicas de BD.
Tema 4: El modelo de datos Relacional
Ámbito de aplicación. Fundamentos matemáticos y su implementación: conceptos de relación, dominio y atributo.
Claves de identificación, claves ajenas, valor nulo.
Integridad de clave, integridad referencial.
Representación de sistemas de información, diseño de esquemas de base de datos relacional.
Lenguajes de definición y manipulación de datos: álgebra y cálculos relacionales y SQL; lenguajes relacional y computacionalmente completos.
Normalización: concepto de dependencia funcional. Formas normales.
Tema 5: Sistemas de gestión de bases de datos
Conceptos básicos de los SGBD: arquitectura, funciones, componentes, transacciones, optimización y rendimiento, seguridad. Bases de datos distribuidas. Otros modelos de datos
Materiales (listado completo)
BDtolER.pdf | FBD bdTOL esquema entidad-relación | ||||||
BDtolERdetalle.pdf | FBD bdTOL detalle y explicaciones | ||||||
BDtolMR.pdf | FBD bdTOL esquema relacional | ||||||
fbdSQLejer.pdf | Ejercicios SQL | ||||||
Hora1 | Hora2 | Práctica | Vídeo | ||||
S1 | T1A historia.pdf | Historia de la informática. | SB Mapas.pdf | Enlaces a mapas conceptuales sobre algunos aspectos de la teoría a desarrollar. | T01_concepto_BD_y_relacion.pdf | FBD T01 Concepto de BD y relación | |
T1B ficheros.pdf | Ficheros, acceso y organización. | ||||||
S2 | T2A modelos datos.pdf | Modelos de datos. | SB02 ejercicios.pdf | Ejercicios SB02. | T02_Consultas.pdf | T02 Consultas (parte 1) | Clave candidata |
S3 | T2B-1 entidad-relación.pdf | Modelo entidad-relación. | SB03 ejercicios.pdf | Ejercicios SB03. | T02B_Consultas.pdf | T02 Consultas (parte 2) | SQL una consulta sencilla |
S4 | T2B-2 ER2MR.pdf | Transformación ER-modelo relacional (se apoya en los contenidos de TEORÍA2). | SB04 Correspondencia clases.pdf | Correspondencia entre clases, relaciones y cardinalidad. | T03_Expresiones_de_seleccion_de_filas.pdf | T03 Expresiones de selección de filas | Relación "Uno a Muchos" 1-N |
SB04 ejercicios.pdf | Ejercicios SB04. | Relación "Uno a Muchos" con restricción de existencia 1-N RE | |||||
Relación "Muchos a Muchos" N-N | |||||||
S5 | T2B-3 ERnotación.pdf | Notaciones usadas en el modelo, variantes gráficas. | SB05 ejercicios.pdf | Ejercicios SB05. | T04_Fechas_y_tiempo.pdf | T04 Fechas y tiempo | SQL usuarios y localidades en la BD de práctica |
S6 | T3 modelo relacional.pdf | Base matemática del modelo relacional. | SB06 integridad referencial.pdf | Integridad referencial. | T05_reunion-join.pdf | T05 Reunión (join) | |
SB06 ejercicios.pdf | Ejercicios SB06. | ||||||
S7 | T4A álgebra relacional.pdf | Álgebra relacional, todos los operadores menos la división. | SB07 ejercicios.pdf | Ejercicios SB07. | T06_Definicion_y_manipulacion_de_datos.pdf | T06 Definición y manipulación de datos | |
S8 | T4B álgebra relacional.pdf | Álgebra relacional, división. | SB08 ejercicios.pdf | Ejercicios SB08. | T07_Opciones_de_integridad_referencial.pdf | T07 Opciones de integridad referencial | |
S9 | T4B cálculo relacional.pdf | Cálculo relacional. | T08_Aritmetica_de_columna.pdf | T08 Aritmética de columna | |||
S10 | T5A normalización.pdf | Normalización, primera, segunda y tercera formas normales. | SB10 ejercicios.pdf | Ejercicios SB10. (el ítem SB09 no existe, esa sesión se utiliza para posibles retrasos). | T09_Agregacion.pdf | T09 Agregación | |
S11 | T5B normalización.pdf | Normalización, cuarta y quinta formas normales. | SB11 examen.pdf | Preparación para el examen FINAL. | T11_Conjuntos.pdf | T11 Conjuntos | |
S12 | T6 sistemas de gestión de bd.pdf | Sistemas de gestión de bases de datos (SGBD). | SB12 examen.pdf | Preparación para el examen FINAL. | T12_Vistas_y_tablas_temporales.pdf | T12 Vistas y tablas temporales | |
Txx Ejercicios.pdf | Enunciados de los ejercicios de TEORÍA1 (hora 1 de las sesiones de teoría) | ||||||
Txx Ejercicios SOLU.pdf | Soluciones a los ejercicios | SBxx soluciones.pdf | Soluciones a los ejercicios. | fbdSQLejersolu.pdf | Soluciones a los ejercicios SQL |
Historia y ficheros: llegada de las técnicas de BD |
||
Silberschatz, Abraham, Fundamentos de las bases de datos, McGraw Hill, 2007. | (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. |
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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. |
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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. |
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 390) Cap. 13, Almacenamiento en disco, estructuras básicas de ficheros y dispersión. | 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. |
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 429) Cap. 14, Estructuras de indexación para los 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 |
||
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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. |
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (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 |
||
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 145) Cap. 6, El álgebra relacional y los cálculos relacionales | Especialmente el texto introductorio del capítulo, que muestra la motivación y el porqué de estos lenguajes. De la página 146 a la 169 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. |
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (Pág 79) Cap. 4, Álgebra relacional y cálculo relacional | Otra fuente sobre el mismo tema. |
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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. |
La perspectiva lógica del modelo relacional |
||
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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 |
||
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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. |
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (Pág 375) 11.7, Resumen | La definición de 3FN y FNBC de Zaniolo. |
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 306) 10.4.1 y 10.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. |
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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 |
||
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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. |
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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. |
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 503) Cap. 16, Diseño físico y refinación de la base 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. |
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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 |
||
Elmasri, R., Fundamentos de sistemas de bases de datos , Addison Wesley, 2002. | (Pág 27) 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. |
Date, C. J., Introducción a los sistemas de bases de datos , Pearson Educación, 2001. | (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. |
Connolly, Thomas M., Sistemas de bases de datos : un enfoque práctico para diseño, implementación y gestión , Addison Wesley, 2005. | (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 . |
Historia |
||||||
Software crisis | Wikipedia |
![]() |
En qué consiste y cómo surgió el término. | |||
Historia de la informática | Sonia Lurueña Jiménez |
![]() |
Curiosa exposición de la evolución de la informática. | |||
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. | |||
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. | |||
Ficheros |
||||||
Organizaciones de ficheros y estructuras de acceso (1) . Organizaciones de ficheros y estructuras de acceso (2) . Preguntas y respuestas . |
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. | |||
Modelos de datos |
||||||
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. | |||
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. | |||
Concepto de modelo de datos (presentación pdf) | Grupo Kybele | ![]() ![]() |
Otro punto de vista con muchas coincidencias con los objetivos de este tema en la asignatura. | |||
Entidad relación |
||||||
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. | |||
Modelos de datos (presentación pdf) | Marta E. Zorrilla | ![]() |
Tras una introducción a los modelos de datos en general, entra a describir el modelo entidad-relación con una completa exposición de todas las abstracciones que se han ido incorporando. Como es habitual, la diferente notación no debe ser un obstáculo para entender cada uno de los conceptos representados. | |||
Entity Relationship Modeling and Normalization | Richard Holowczak |
![]() |
Otra fuente para comparar distintas notaciones de E-R, estas más enfocadas a productos comerciales. | |||
Modelo relacional |
||||||
El modelo relacional | Carlos A. García Chavez |
![]() ![]() |
En particular, la introducción, donde defiende con sencillez la necesidad de la "teoría" como base para el desarrollo de cualquier cosa. La continuación es un resumen del modelo que puede servir como paso previo a profundizar en los aspectos más relevantes para nuestra asignatura. | |||
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. | |||
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. | |||
El modelo relacional ya tiene unos añitos | Blog FBD |
![]() |
Sobre las carencias del modelo en estos tiempos. | |||
Álgebra y cálculos relacionales |
||||||
El álgebra relacional | Blog FBD |
![]() |
De por qué es tan importante este tema dentro de la asignatura. | |||
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. | |||
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. | |||
Cálculo relacional | Francisco Ruiz González |
![]() |
La definición del lenguaje en toda su extensión. | |||
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. | |||
Normalización |
||||||
Normalizar, que no "formalizar" | Blog FBD |
![]() |
Un texto introductorio, para qué sirve normalizar. | |||
Ahí va, la 4FN y la 5FN | Blog FBD |
![]() |
Una reflexión sobre estas formas normales. | |||
Sistemas de bases de datos |
||||||
Comparison of database tools | 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. | |||
Modelo-ANSI-X3-SPARC | Edu Mendez |
![]() |
Fuente utilizada en la presentación del tema. | |||
Consejos para optimizar bases de datos MySQL | Pablo Javier Suárez |
![]() |
Recopilación de enlaces sobre optimización en MySQL. | |||
Panorámica sobre optimización | MySQL Documentation |
![]() |
Capítulo del manual MySQL que sirve de entrada a los detalles más específicos relacionados con el rendimiento del motor de base de datos. | |||
Query optimization in DBMS | Koolcampus |
![]() |
Presentación de diapositivas que muestra diversos aspectos del rendimiento de una consulta y su optimización. | |||
EXPLAIN MySQL o cómo optimiza SQL | Sergi Quiñonero |
![]() |
Sobre el comando EXPLAIN en MySQL. | |||
El comando EXPLAIN | MySQL Documentation |
![]() |
EXPLAIN en el manual MySQL. | |||
Query optimization | Yannis E. Ioannidis |
![]() |
Sobre la optimización de consultas. | |||
Optimización de las cláusulas WHERE por parte de MySQL | MySQL Documentation |
![]() |
Cómo "ayudar" a MySQL cuando escribimos condiciones en el where . | |||
Optimización de Consultas SQL parte II | Mundo Business Intelligence |
![]() |
Más sobre cómo escribir consultas SQL. | |||
Optimizar subconsultas | MySQL Documentation |
![]() |
Otra sobre cómo ayudar a MySQL. Esta y las anteriores están más dirigidas a la práctica en SQL que a la teoría, pero ayuda a darse cuenta de que MySQL (o cualquier SGBD) no lo hace todo. |
Universidad de Alicante
Carretera de San Vicente del Raspeig s/n
03690 San Vicente del Raspeig
Alicante (Spain)
Tel: (+34) 96 590 3400Fax: (+34) 96 590 3464