Bases de datos. Master de Software Libre de la UOC

 

Software libre

 

 Bases de datos  

Rafael Camps Paré
Luis Alberto Casillas Santillán
Dolors Costal Costa
Marc Gibert Ginestà
Carme Martín Escofet
Oscar Pérez Mora

Se garantiza permiso para copiar, distribuir y modificar este documento según los términos de la GNU Free Documentation License, Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delanterao trasera. Se dispone de una copia de la licencia en el apartado “GNU Free Documentation License” de este documento.

Agradecimientos

Los autores agradecen a la Fundación para la Universitat Oberta de Catalunya (http://www.uoc.edu) la financiación de la primera edición de esta obra, enmarcada en el Máster Internacional en Software Libre ofrecido por la citada institución.

El autor Óscar Pérez Mora desea hacer constar el agradecimiento siguiente: “A José Pérez Arias, gracias por haber sido mi padre”, en memoria de su padre fallecido durante la realización de este material.

 

Introducción

Las bases de datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones multiusuario, hasta los teléfonos móviles y las agendas electrónicas utilizan tecnología de bases de datos para asegurar la integridad de los datos y facilitar la labor tanto de usuarios como de los programadores que las desarrollaron.

Desde la realización del primer modelo de datos, pasando por la administración del sistema gestor, hasta llegar al desarrollo de la aplicación, los conceptos
y la tecnología asociados son muchos y muy heterogéneos. Sin embargo, es imprescindible conocer los aspectos clave de cada uno de estos temas para tener éxito en cualquier proyecto que implique trabajar con bases de datos.

En este curso trataremos de dar una visión completa de los conceptos relacionados con los sistemas gestores de bases de datos. En los primeros capítulos veremos los aspectos involucrados en los motores de estos almacenes de datos, su evolución histórica y los distintos tipos de organización y abtracción que han ido surgiendo desde su conceptualización hasta nuestros días.

A continuación profundizaremos en el modelo llamado relacional (el más usado en nuestros días), proporcionando los métodos y herramientas que nos permitan representar necesidades de almacenamiento y consulta de datos en este modelo. En el siguiente capítulo estudiaremos a fondo el lenguaje de consultas estructurado SQL, imprescindible para trabajar con bases de datos relacionales, ya sea directamente o a través de cualquier lenguaje de programación.

El diseño de bases de datos tiene también un capítulo dedicado a aprender a modelar y representar gráficamente una base de datos, a detectar los posibles problemas de diseño antes de que éstos afecten a la aplicación, y a construir bases de datos óptimas para los distintos casos de relaciones entre entidades que formarán nuestra base de datos.

Una vez sentadas estas bases, estaremos en disposición de examinar detenidamente dos de los sistemas gestores de bases de datos de software libre más usados y populares actualmente. Así pues, aprenderemos el uso, administración y particularidades de MySQL y PostgreSQL mediante ejemplos y casos prácticos. También veremos las herramientas de consulta y administración gráficas para estos dos sistemas gestores de bases de datos, que nos permitirán mejorar nuestra productividad en el trabajo diario con ellos.

A continuación, veremos los métodos de acceso a estos sistemas gestores de bases de datos desde algunos lenguajes de programación. En cada caso, comentaremos las mejores prácticas para cada uno, así como sus particularidades, e introduciremos algunos conceptos relacionados con la programación en bases de datos como
la persistencia, tratamiento de errores, etc.

Finalmente, creemos que la mejor forma de finalizar este curso es mediante un caso de estudio completo que aborde los temas tratados en todos los capítulos, en el orden en que se producirían en la realidad de un proyecto y primando la práctica sobre la teoría.

Así pues, este curso trata de proporcionar al estudiante una visión completa de los aspectos implicados en el trabajo con bases de datos. Aunque no profundizaremos en algunos temas muy especializados como el diseño interno de un sistema gestor de bases de datos, profundizaremos técnicamente en los temas más necesarios.

 

Objetivos

Los objetivos que el estudiante deberá alcanzar al finalizar el curso Bases de datos son los siguientes:

  •Comprender los diferentes modelos de bases de datos, y en concreto dominar el modelo relacional.

  •Ser capaz de realizar el modelo de una base de datos relacional, a partir de la especificación de requerimientos de un proyecto, comprendiendo y aplicando los conceptos y transformaciones implicados.

  •Conocer el uso y administración de dos de los gestores de bases de datos relacionales más populares en el ámbito del software libre: PostgreSQL y MySQL.

  •Tener experiencia en el desarrollo de aplicaciones en conexión con bases de datos en varios lenguajes.

 

Autores y coordinadores

David Megías Jiménez
Coordinador
Ingeniero de Informática por la UAB. Magíster en Técnicas Avanzadas de Automatización de Procesos por la UAB. Doctor en Informática por la UAB. Profesor de los Estudios de Informática y Multimedia de la UOC.

Jordi Mas Hernández
Coordinador
Coordinador general de Softcatalà y desarrollador del procesador de textos libre Abiword. Miembro fundador de Softcatalà y de la red telemática RedBBS. En calidad de consultor, ha trabajado en empresas como Menta, Telépolis, Vodafone, Lotus, eresMas, Amena y Terra España.

Rafael Camps Paré
Autor
Profesional informático en varias empresas. Ha sido profesor universitario en la Facultad de Informática de Barcelona de la Universidad Politécnica de Cataluña. Actualmente está adscrito a la Escuela Universitaria Politécnica de Vilanova i la Geltrú.

Luis Alberto Casillas Santillán
Autor
Licenciado en Informática (1995), maestro en Sistemas (1998), doctorante en Ingeniería y Tecnología (2003), está estudiando el doctorado en la UOC. Profesor universitario desde marzo de 1995. Investigador en Inteligencia Artificial desde 1998. Consultor Universitario para cuestiones educativas.

Dolors Costal Costa
Autora
Doctora en Informática por la Universidad Politécnica de Cataluña. Profesora titular del Departamento de Lenguajes y Sistemas Informáticos de la Universidad Politécnica de Cataluña, asignada a la Facultad de Informática de Barcelona.

Marc Gibert Ginestà
Autor
Ingeniero en Informática por la Universidad Ramon Llull. Socio fundador y jefe de proyectos de Cometa Technologies, empresa dedicada a dar soluciones en tecnologías de la información, basadas en el uso de estándares y herramientas de código abierto. Profesor del Máster en Seguridad en Tecnologías de la Información en Enginyeria y Arquitectura La Salle y consultor del Master Internacional en Software Libre de la UOC.

Carme Martín Escofet
Autora
Licenciada en Informática por la Universidad Politécnica de Cataluña. Profesora de la asignatura Introducción a las bases de datos en la Facultad de Informática de Barcelona, y de la asignatura Sistemas orientados a bases de datos en la Facultad de Matemáticas y Estadística. También ha sido profesora de las asignaturas Diseño de sistemas y Gestión de sistemas informáticos en la Escuela Universitaria Politécnica de Vilanova i la Geltrú.

Oscar Pérez Mora
Autor
Ingeniero en Comunicaciones y Electrónica por la Universidad de Guadalajara (México) y Maestro en Sistemas de Información.  Ha participado en diversas publicaciones e impartido cursos especializados. Miembro
Fundador del Marichi del SUTUdeG y del Grupo Linux de Occidente A. C. (www.glo.org.mx). Organizador del Festival GNU/Linux y Software Libre