Informática‎ > ‎Bases de Datos‎ > ‎

01. Introducción a las Bases de Datos

INTRODUCCIÓN A LAS BASES DE DATOS

El tratamiento automático de la información con un computador, ha experimentado una larga evolución desde los pioneros sistemas de ficheros hasta los actuales sistemas de bases de datos. En la actualidad, las técnicas de bases de datos representan la tecnología informática disponible para la organización y gestión de grandes volúmenes de datos, ocupando un lugar relevante en todas las áreas en las que son utilizados los computadores: gestión, ingeniería, aplicaciones científicas, etc.

En este tema se introducen los conceptos de base de datos y de sistema gestor de bases de datos, así como las características principales de esta tecnología. Aunque estos conceptos serán desarrollados a lo largo del curso, se trata en este tema de presentar unas ideas básicas que irán adquiriendo mayor significado a medida que se avance en el estudio de la asignatura.

SISTEMA DE INFORMACIÓN

Uno de los pilares de cualquier organización es la información que necesita para su funcionamiento; asimismo, una de sus actividades principales es el tratamiento de dicha información que, ya sea de forma manual o automática, tiene como objetivo proporcionar a las personas autorizadas la información que necesitan en el momento y el lugar adecuados. Por ello uno de los sistemas básicos en cualquier organización es su sistema de información.

Un sistema de información es un conjunto de elementos ordenadamente relacionados entre sí de acuerdo a ciertas reglas, que aportan a la organización a la que sirven la información necesaria para el cumplimiento de sus fines. Un sistema de información mecanizado es aquél que está soportado por un computador.

Las funciones básicas de un sistema de información son la recogida, el procesamiento y almacenamiento de datos, así como la elaboración y presentación de los mismos.

Para el cumplimiento de estas funciones un sistema de información se compone de los siguientes elementos:

  • contenido: los datos, su descripción y los programas que los manipulan,

  • equipo físico: el computador soporte del sistema de información,

  • equipo lógico: sistema de comunicaciones, sistema de gestión de base de datos, sistema operativo, etc.,

  • administrador: persona o equipo de personas responsables de asegurar la calidad y disponibilidad de los datos, y

  • usuarios.

De todos estos elementos, los datos constituyen la parte esencial del sistema de información, y son los que justifican su existencia. Para organizar y gestionar estos datos en el computador, se han desarrollado técnicas cuya evolución ha estado determinada principalmente por el desarrollo de la tecnología de los computadores así como por los nuevos requisitos y necesidades planteados por los usuarios.

En la actualidad las técnicas de bases de datos representan la tecnología informática disponible para la organización y gestión de grandes volúmenes de datos en un computador. Se puede afirmar que el núcleo de todo sistema de información actual es una base de datos, y que su diseño y creación constituyen una etapa importante en la construcción del sistema.

Además de constituir la base de los sistemas de información, lo que representa la aplicación más extendida, la tecnología de bases de datos ocupa actualmente un lugar relevante en todas las áreas en las que son utilizados los computadores: ingeniería, ciencia, medicina, etc.

BASE DE DATOS

Una base de datos (BD) es una colección estructurada de datos.

Estos datos describen los objetos y actividades relevantes para una organización desde el punto de vista de su funcionamiento interno; por ello, los datos deben estar estructurados de forma que reflejen fielmente los objetos, las relaciones y las restricciones existentes en la parcela del mundo real de la cual la base de datos es una representación. Asimismo, y para que esta representación sea fiable, la base de datos debe evolucionar reflejando los cambios que los sucesos del mundo real puedan provocar en la parcela del mundo representada. Los mecanismos de estructuración de datos que se pueden utilizar dependen del sistema informático con el que se vaya a crear y manipular la base de datos, lo que se conoce como sistema de gestión de bases de datos.

SISTEMA DE GESTIÓN DE BASES DE DATOS

Un sistema de gestión de bases de datos (SGBD) es una herramienta de software (conjunto de programas) que permite la creación y manipulación de bases de datos.

Es importante destacar que un sistema de gestión de bases de datos es un herramienta de propósito general que permite crear bases de datos de cualquier tamaño y complejidad y con propósitos específicos distintos.

Todo sistema de gestión de bases de datos se construye en base a un modelo de datos.

Un modelo de datos es un conjunto de conceptos y reglas que permiten estructurar los datos resultantes de la observación de la realidad de forma que queden representadas tanto sus propiedades, estáticas como dinámicas. Para ello los modelos de datos proporcionan estructuras de datos predefinidas con sus operadores asociados (modelos clásicos), o bien mecanismos de estructuración de datos o constructores de tipos más generales (modelo orientado a objetos). Los sistemas de gestión de bases de datos existentes se clasifican en función del modelo de datos subyacente constituyendo las distintas familias de sistemas de gestión de bases de datos.

SGBD

↓ se basa

modelo de datos

↓ se compone

estructuras de datos y operadores asociados

(o constructores de tipos)

Familias de SGBD:

        SGBD                                    Modelo de datos                        Estructuras

    jerárquicos                                    jerárquico                            segmento (registro)

                                                                                                                árbol

        red                                                red                                            registro

    (CODASYL)                                                                                      fichero

                                                                                                                  set (lista)

    relacionales                                    relacional                                 tupla (registro)

                                                                                                                   relación

    OO (orientados a objetos     OO (orientado a objetos)         constructores de tipos:

                                                                                                                  conjunto, lista, ...

CARACTERÍSTICAS DE LAS TÉCNICAS DE BASES DE DATOS

Aunque en esencia una base de datos es una colección estructurada de datos, no cualquier conjunto de estructuras de datos se puede considerar una base de datos. La tecnología de bases de datos se ha desarrollado intentando dar respuesta a las crecientes exigencias de funcionalidad y eficiencia que los usuarios plantean a los sistemas de información. Las características que definen esta tecnología y que la diferencian de otras técnicas de gestión de datos anteriores son:

  • integración de toda la información de la organización: la base de datos se crea para dar servicio a toda (o a una parte importante) de la organización y no para unos usuarios particulares; de esta forma se evita la redundancia de datos dentro del sistema de información y los problemas de inconsistencia asociados.

  • persistencia de los datos: los datos deben estar disponibles en todo momento lo que significa que la base de datos debe almacenarse en un dispositivo de memoria secundaria.

  • accesibilidad simultánea para distintos usuarios (o aplicaciones): debido al carácter integrador que tiene la base de datos, ésta tendrá que ser compartida por distintos grupos de usuarios, lo que significa que éstos podrán acceder simultáneamente a los datos.

  • descripción unificada de los datos e independiente de las aplicaciones: las estructuras de datos que constituyen la base de datos se definen independientemente de las aplicaciones que las van a manipular quedando almacenada esta definición junto a los datos para uso del SGBD.

  • independencia de las aplicaciones respecto a la representación física de los datos: las aplicaciones que se desarrollen para manipular los datos deben ser independientes de la implementación elegida para las estructuras de la base de datos.

  • definición de vistas parciales de los datos para distintos usuarios: debido al carácter integrador de la base de datos, en ésta se recogen los datos que interesan a cada grupo de usuarios de la organización, con lo que se incrementa su tamaño y complejidad. Para que los usuarios puedan seguir teniendo su visión particular de los datos sin que se pierda este carácter integrador, el SGBD debe permitir definir vistas parciales de la base de datos que contengan sólo aquellos datos que son relevantes para cada uno de estos grupos.

  • mecanismos para asegurar la integridad y la seguridad de los datos: para que la base de datos refleje fielmente la realidad de la cual es una representación, el SGBD debe asegurar en todo momento la calidad (integridad) de la información almacenada evitando que esta se deteriore por un uso incorrecto (actualizaciones que no son válidas, accesos concurrentes no controlados, etc.). Asimismo debe asegurar que a la información almacenada sólo acceden las personas autorizadas y en la forma autorizada (seguridad).

Estas características se pueden resumir diciendo que las técnicas de bases de datos se desarrollan con el objetivo de integrar la información del sistema para evitar redundancias sin que se pierdan por ello las distintas perspectivas que de la misma tienen los usuarios, y que las herramientas de software (SGBD) que se construyen para aplicar estas técnicas deben asegurar la independencia, la integridad y la seguridad de los datos.

Para cumplir con estos objetivos, los sistemas de gestión de bases de datos, independientemente de la familia a la que pertenecen y del fabricante responsable, disponen de componentes con funciones bien definidas y tienen una arquitectura estándar, conocida como arquitectura de niveles del SGBD

ARQUITECTURA DE NIVELES DEL SGBD

La propiedad de la independencia de datos, entendida como la propiedad que asegura que los programas de aplicación escritos por los usuarios son independientes de los cambios realizados en datos que no usan o en los detalles de representación física (implementación) de los datos a los que acceden, es una concreción del principio de abstracción de datos de los lenguajes de programación, entendido como la independencia entre la especificación de las estructuras de datos y su implementación.

independencia de datos ↔ abstracción de datos

Para alcanzar este objetivo, los sistemas de gestión de bases de datos permiten la definición de la base de datos a tres niveles de abstracción: lógico, físico y externo. La definición de la base de datos en cada uno de estos niveles se denomina esquema.

En el nivel lógico se hace una definición de las estructuras de datos que constituyen la base de datos, a esta definición se le denomina esquema lógico. Los tipos de estructuras que se pueden utilizar dependen del SGBD, es decir del modelo de datos subyacente al mismo.

En el nivel físico, se elige una implementación para cada una de las estructuras definidas en el esquema lógico, a esta definición se le denomina esquema físico o interno. Para cada tipo de estructura de datos, el SGBD ofrece distintas implementaciones que serán seleccionadas siguiendo criterios de eficiencia y optimización.

En el nivel externo se definen vistas parciales de la base de datos para distintos grupos de usuarios. Cada vista parcial a la que se denomina esquema externo, consiste en un conjunto de estructuras (estructuras derivadas) definidas a partir de las estructuras del esquema lógico.

El SGBD debe asegurar que estos niveles sean independientes entre sí, es decir que los cambios realizados en cualquiera de ellos no afecten a los niveles superiores.

Con esta arquitectura de niveles, los programas escritos por un usuario que accede a la base de datos a través de un esquema externo, serán totalmente independientes de los cambios que se realicen en el esquema lógico relativos a datos no incluidos en el esquema externo; y serán también independientes de cualquier cambio realizado en el esquema físico relativo a la implementación de las estructuras de datos.

Además de esta arquitectura de niveles estándar, los sistemas de gestión de bases de datos, están formados por componentes que les permiten cumplir con las funciones de definición, manipulación y gestión de la base de datos. De forma resumida estas funciones y los componentes asociados son:

  • Funciones de un SGBD → Componentes de un SGBD

  • definición de los datos → lenguajes de definición de los esquemas de la base de datos

  • manipulación de los datos → lenguajes de manipulación de datos

  • gestión de los datos → herramientas para la gestión

En el tema III de la asignatura se hará un estudio más detallado de los componentes de un SGBD y de las herramientas y técnicas que utiliza para asegurar la independencia, la integridad y la seguridad de los datos.

Por último y como resumen de las características de la tecnología de bases de datos estudiadas en este capítulo, en la Figura 1.1 se representa un sistema de base de datos, entendido como el sistema que integra el SGBD y la base de datos en un sentido amplio: los datos, sus definiciones, los programas de manipulación, etc. En esta figura se puede observar como el SGBD introduce un nuevo nivel de independencia entre los usuarios y los datos que no existía en sistemas de gestión de datos más primitivos.

En un sistema de bases de datos los usuarios acceden a los datos a través de peticiones al SGBD, estas peticiones consisten en operaciones sobre las estructuras de datos de su esquema externo; El SGBD con el conocimiento que tiene del esquema externo, lógico y físico, traduce estas peticiones en operaciones sobre los ficheros sobre los que se implementa la base de datos, encargando al sistema operativo (SO) su ejecución. En sistemas más primitivos (sistemas de ficheros), los programas de los usuarios accedían a los datos a través de los métodos de acceso a ficheros del SO, con lo que existía una estrecha dependencia entre los programas y los datos.


EJEMPLO

Para ilustrar de forma sencilla los conceptos e ideas introducidos en este tema, se va a plantear un sistema de información simplificado relativo a la gestión docente de una universidad.

Descripción del sistema de información

El vicerrectorado de ordenación académica de la Universidad Politécnica ha decidido crear un sistema de información para la gestión del POD (Plan de Ordenación Docente) del curso académico.

El POD se diseña al principio de cada curso y contiene la planificación de la docencia de todos los estudios que se imparten en la Universidad durante el curso académico.

Algunos datos sobre la estructura de la universidad que son relevantes para la construcción de este sistema son:

  • la Universidad se estructura en centros y departamentos,

  • los centros son responsables de organizar la docencia de los estudios de una o varias titulaciones: definir los grupos (teoría y prácticas) de cada asignatura, organizar los horarios, gestionar la matrícula de los alumnos, etc. Por ejemplo, la Escuela Universitaria de Informática es responsable de organizar la enseñanza de los estudios de ITIG (Ingeniero Técnico en Informática de Gestión) e ITIS (Ingeniero Técnico en Informática de Sistemas), y

  • los departamentos son los órganos responsables de la docencia; en ellos se agrupan los profesores pertenecientes a una o varias áreas de conocimiento afines; algunos departamentos de la Universidad son: Matemática Aplicada (DMA), Idiomas (DI), Sistemas Informáticos y Computación (DSIC), etc. Cada departamento tiene adscritas asignaturas relacionadas con sus áreas de conocimiento, estas asignaturas pueden pertenecer al plan de estudios de cualquier título. Por ejemplo el DSIC imparte la docencia de las asignaturas de programación en todos los centros de la universidad.

Antes de esta iniciativa del vicerrectorado, cada centro y cada departamento disponía de su propio sistema de información independiente, por ello y de acuerdo al carácter integrador de la tecnología de bases de datos, el sistema que se cree, concretamente la base de datos que se diseñe, deberá integrar toda la información sobre la docencia en la universidad permitiendo al mismo tiempo que los centros y los departamentos sigan teniendo la perspectiva de los datos que les resulta cómoda para el cumplimiento de sus funciones. A continuación se presentan las perspectivas de centros y departamentos.

Desde el punto de vista de un centro, la información que necesita para realizar sus funciones es la relacionada con las asignaturas de los planes de estudios de las titulaciones que imparte. De cada una de estas asignaturas necesita conocer: código, nombre, curso y semestre, departamento al que está adscrita, número de créditos de teoría y de prácticas, grupos de teoría y de prácticas creados para el presente curso académico, profesores responsables de la asignatura y para cada uno de ellos número de créditos asignados en la misma. Por simplicidad se omite la información relativa a la distribución de los profesores de una asignatura en los grupos. Esta información queda recogida en los informes que con más frecuencia maneja el centro a continuación se presentan informes de la Escuela Universitaria de Informática):

Desde el punto de vista de un departamento, la información que necesita para realizar sus funciones es la relacionada con las asignaturas de cuya docencia es responsable así como la relacionada con los profesores que son miembros del departamento. De cada asignatura necesita conocer: código, nombre, curso y semestre, titulación a la que pertenece, número de créditos de teoría y de prácticas, grupos de teoría y de prácticas creados el presente curso académico, profesores del departamento asignados a la asignatura con el número de créditos en la misma. De cada profesor necesita conocer: nombre, dirección, teléfono, categoría y asignaturas asignadas con el número de créditos en ella. Esta información queda recogida en los informes que con más frecuencia maneja el departamento a continuación se presentan informes del DSIC):

Con independencia de la tecnología de gestión de datos que haya utilizado cada centro y cada departamento para construir su sistema de información, de los informes anteriores se desprende la existencia de redundancia de datos dentro de la universidad, por ejemplo:

  • los datos de un profesor: teléfono y dirección, se repiten en cada centro en el que el profesor imparte docencia y en el departamento al que pertenece.

  • los datos de una asignatura: curso, grupos y créditos, se repiten en el departamento al que está adscrita y en el centro en el que se imparte el título al que pertenece la asignatura.

  • los datos sobre el POD del año académico, es decir la asignación de la docencia de las asignaturas a profesores, se repiten en el departamento al que está adscrita y en el centro en el que se imparte el título al que pertenece la asignatura.

La redundancia de datos puede generar inconsistencias dentro de la organización, por ejemplo los datos sobre un profesor pueden ser distintos en su departamento y en alguno de los centros en los que imparte docencia. Asimismo la redundancia de datos provoca que los procesos de actualización sean más costosos, por ejemplo un cambio en el POD de una asignatura debe realizarse tanto en el departamento como en el centro correspondiente.

Construcción del sistema de información

La creación de un sistema de información único que integre toda la información de la universidad, relativa a la docencia, que dé servicio a los centros y departamentos según sus necesidades y que sea seguro y fiable, obliga a utilizar tecnología de bases de datos.

La creación de este sistema se inicia con el análisis de las necesidades de los potenciales usuarios (centros y departamentos), necesidades que de forma muy simplificada se han comentado anteriormente. Este análisis permite conocer la información (datos) y operaciones (consultas, informes, etc.) que con más frecuencia van a realizar los usuarios.

A continuación y dependiendo del sistema de gestión de bases de datos que se vaya a utilizar como soporte del sistema de información, se debe pasar a definir el esquema lógico de la base de datos. Esto significa definir un conjunto de estructuras de datos en las cuales se puedan organizar los datos, recogidos en la etapa de análisis, de forma que se capture lo mejor posible el conocimiento que se tiene de la realidad a representar. Los tipos de estructuras que se podrán utilizar dependerán del modelo de datos subyacente al sistema de gestión de bases de datos disponible. Una vez definido el esquema lógico, en el que se especifican las estructuras de datos, se pasa a definir el esquema interno en el que se incluyen los detalles de implementación de estas estructuras.

Si el sistema de gestión de bases de datos disponible fuese un sistema relacional, el esquema lógico consistiría en un conjunto de relaciones (tablas de filas y columnas) de la forma siguiente (en el tema II se estudiará con profundidad el modelo relacional de datos):

Este conjunto de relaciones recogen de forma estructurada todos los datos necesarios para satisfacer las necesidades de los centros y los departamentos aunque se han diseñado sin pensar en ninguna aplicación (consulta, informe, etc.) particular, es decir se ha hecho una descripción unificada de los datos independiente de las aplicaciones actuales o futuras que vayan a acceder a ellos.

En el esquema interno correspondiente a este esquema lógico se elegiría una implementación para cada una de las relaciones del esquema lógico, por ejemplo la relación Asignatura se podría implementar con un fichero indexado con índices sobre los atributos: código y título como se muestra en la Figura 1.2.2

Figura 1.2: Implementación de la relación Asignatura

Evidentemente al integrar los datos de distintos usuarios se ha perdido la perspectiva original que estos tenían de los mismos. Un buen sistema de gestión de bases de datos debe permitir definir a partir del esquema lógico vistas parciales de los datos (esquemas externos) para cada grupo de usuarios particular en las que se recojan los datos que son relevantes para el cumplimiento de sus funciones. En nuestro ejemplo se deberían definir un esquema externo para cada centro y cada departamento de la universidad; en la Figura 1.3 se presenta el esquema externo correspondiente al departamento DSIC, el esquema consiste en un conjunto de relaciones derivadas, definidas a partir de las relaciones del esquema lógico, en las que se incluyen los datos que el departamento necesita para obtener los tipos de informe que se han ilustrado anteriormente.

La definición de la base de datos en los tres niveles: lógico, físico y externo, favorece la independencia de datos que asegura que los cambios en un esquema no afectan a los esquemas superiores. Así la independencia entre el nivel lógico y el nivel físico permite hacer cambios en la implementación de cualquiera de las relaciones sin que ello afecte al esquema lógico ni consecuentemente a los esquemas externos, consiguiendo de esta forma que los programas sean independientes de los cambios en la organización física de los datos. Asimismo, la independencia entre el nivel lógico y el externo permite hacer algunos cambios en el esquema lógico que no afectarán a los programas, por ejemplo, se pueden incluir más atributos (columnas) en la relación Profesor sin que ello afecte a los esquemas externos ni por lo tanto a los programas; en general cualquier cambio en el esquema lógico que permita definir las mismas relaciones que aparecen en los esquemas externos será totalmente transparente para los programas. Como conclusión, se puede afirmar que la independencia de datos representa la posibilidad de construir aplicaciones más seguras y duraderas, reduciendo significativamente el coste del mantenimiento de los programas.

Por último, y teniendo en cuenta el carácter integrador de la base de datos diseñada, será imprescindible que el SGBD disponga de mecanismos para controlar el acceso simultáneo de varios usuarios a los mismos datos, situación que sucederá con frecuencia; también y en la línea de conseguir sistemas de información cada vez más seguros, el SGBD deberá disponer de herramientas para recuperar la base de datos frente a cualquier fallo del usuario o del sistema (estos aspectos de la tecnología de bases de datos se verán con más detalle en el tema III de la asignatura).