Capítulo 1

Análisis de los objetos y estructuras de almacenamiento de la información para diferentes SGBD

Contenido

1. Introducción

2. Tipos de sistemas de información para la gestión de datos

3. Relación de estos elementos con tablas, vistas e índices

4. Consecuencias prácticas de seleccionar los diferentes objetos de almacenamiento

5. Diferentes métodos de fragmentación de la información (en especial para bases de datos distribuidas)

6. Resumen

1. Introducción

Los Sistemas de Gestión de Bases de Datos (SGBD) han evolucionado a partir de aplicaciones informáticas especializadas hasta convertirse en una parte primordial dentro de un sistema informático moderno. Como consecuencia de esta especialización el conocimiento acerca de las bases de datos forma parte esencial de la informática y las tecnologías de la información.

Una base de datos se define como:

Colección o depósito de datos integrados, almacenados en soporte secundario (no volátil) y con redundancia controlada. Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos, y su definición (estructura de la base de datos) única y almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y restricciones existentes en el mundo real. Los procedimientos de actualización y recuperación, comunes y bien determinados, facilitarán la seguridad del conjunto de los datos.

Piattini et al. (2006)

Un sistema de gestión de bases de datos comprenderá un conjunto de programas que van a permitir la creación, administración, funcionamiento, uso y mantenimiento de una base de datos.

En definitiva, un SGBD está formado por una colección de datos interrelacionados entre sí que constituyen la base de datos y un conjunto de programas mediante los cuales poder acceder y manipular dichos datos.

El objetivo primordial de un SGBD es proveer de una herramienta adecuada para extraer y almacenar la información contenida en la base de datos.

2. Tipos de sistemas de información para la gestión de datos

Los sistemas para el almacenamiento de información (bases de datos) pueden clasificarse en dos tipos:

  1. Sistemas tradicionales de ficheros u orientados a procesos. En estos sistemas un dato puede estar almacenado en varios ficheros, hacerle varios tratamientos y obtener diferentes resultados. Tienen las siguientes características:

Este tipo de sistemas puede representarse de manera esquemática mediante la siguiente figura:

Image

Donde:

  1. Sistemas orientados a datos. En estos sistemas los datos se encuentran centralizados en una base de datos única para todas las aplicaciones. Los datos (D1 a D5) son añadidos a la base de datos empleando un Lenguaje de Definición de Datos (LDD) mediante el que se especifica el esquema de la base de datos. Más tarde, los datos alojados en la base de datos pueden manejarse (creación, recuperación, tratamiento) empleando un Lenguaje de Manipulación de Datos (LMD) y conseguir unos resultados (R1 a R3).
    Esquemáticamente puede representarse mediante la siguiente figura:

Image

Image

Actividades

1. Investigue y nombre algunas de las ventajas e inconvenientes que aportan los SGBD frente a los sistemas basados en ficheros.

2. Señale qué tipo de sistema de almacenamiento le parece mejor. Justifique su respuesta.

3. Relación de estos elementos con tablas, vistas e índices

Las bases de datos están diseñadas para gestionar grandes cantidades de información. La gestión de esta información implica:

  1. La definición de estructuras para el almacenamiento de los datos.
  2. Provisión de mecanismos de gestión de la información.
  3. Mantenimiento de la seguridad de la información almacenada.
  4. La gestión de usuarios.

Los componentes principales de una base de datos son:

  1. Datos: se van a almacenar físicamente en una o más bases de datos.
  2. Hardware: componente físico o dispositivo donde se guardan dichos datos.
  3. Software: conjunto de programas que actúa entre los usuarios y los datos a través del sistema de gestión de base de datos.
  4. Usuarios: informáticos y no informáticos. Son los analistas, diseñadores y administradores.

Image

Actividades

3. Averigüe cuáles son las funciones del administrador de la base de datos.

Los SGBD almacenan la información de manera que ocultan algunos detalles respecto a la forma de almacenamiento y mantenimiento de los datos. Por otro lado, para poder trabajar con los datos y que cualquier usuario pueda acceder cómodamente, se han de extraer con facilidad, lo que ha llevado al diseño de formas complejas de representación de los datos a través de diversos niveles de abstracción que simplifican la interacción con el sistema.

Image

Importante

Un objetivo importante de los SGBD es proporcionar a los usuarios una visión abstracta de los datos.

En los sistemas de información se pueden observar dos estructuras distintas: la lógica y la física. La lógica es la que ve el usuario y la física es la forma en la que se almacenan los datos.

En los sistemas de gestión de bases de datos aparece un nuevo nivel denominado nivel conceptual o estructura lógica global que pretende una representación global de los datos entre la estructura lógica y física, y que sea independiente tanto del equipo como de cada usuario.

Image

Nota

El objetivo fundamental de un sistema de gestión de base de datos es la independencia física y lógica entre datos y tratamiento.

Se distinguen tres niveles de abstracción:

  1. El esquema o nivel externo es la visión que tiene de la base de datos cada usuario en particular y depende del uso que se le vaya a dar.
  2. El esquema o nivel conceptual es el enfoque del conjunto de una empresa o la visión del administrador.
  3. Esquema o nivel interno es la forma de almacenamiento físico de datos, es decir, de qué forma están almacenados los datos y los métodos de acceso.

Image

La forma en que el usuario de una base de datos la ve y la manera en la que realmente está estructurada en un ordenador puede ser muy diferente. Por ejemplo, en la siguiente tabla se pueden ver las diferencias existentes entre lo que ve el administrador de una base de datos, y la estructura física real de cómo se almacenan los datos en un SGBD como puede ser SQL.

Lo que ve el administrador de la BD

Estructura física de SQL

Bases de datos almacenadas físicamente en archivos.

Bases de datos almacenadas físicamente en archivos.

Tablas, vistas e índices y otros objetos.

Páginas asignadas a vistas e índices.

Columnas (campos), y filas (registros) de tablas.

Información almacenada en tablas.

Las bases de datos se crean sobre un conjunto de archivos que componen la estructura física de la base de datos. En esta estructura se almacena toda la información y de ella depende en gran medida la velocidad de respuesta ante consultas y actualizaciones.

Image

Importante

La estructura física es muy dependiente de cada sistema de gestión de base de datos. Por ejemplo, SQL lo hace de una manera y Oracle de otra.

El gestor de almacenamiento es el responsable de relacionar los datos de bajo nivel en la base de datos y los programas de aplicación y consultas. Los datos en bruto se almacenan en el disco del ordenador que contiene la base de datos utilizando el sistema de archivos disponible en cualquier sistema operativo convencional, y el gestor de almacenamiento se encarga de traducir las diferentes instrucciones para la manipulación de los datos en órdenes adecuadas para el sistema de archivos físico.

El gestor de almacenamiento implementa varias estructuras:

  1. Archivos de datos donde se almacena la base de datos.
  2. Diccionario de datos que almacena la estructura de la base de datos y su esquema.
  3. Índices que proporcionan acceso rápido a los datos.

La estructura física depende del SGBD con el que se esté trabajando. El SGBD Oracle utiliza varias estructuras para el almacenamiento físico en el disco, así como para la gestión de los datos. Estas estructuras son:

  1. Estructuras de almacenamiento: archivos de datos, archivos de registro rehacer, archivos del registro rehacer archivados (contienen datos del propio usuario).
  2. Archivos de control: mantienen el estado de los objetos de la BD.
  3. Archivos de traza y alerta: tienen información de registro relativa a sucesos rutinarios como errores que puedan ocurrir.

Image

Los datos almacenados en una base de datos de Oracle se agrupan en una serie de espacios de tabla, denominados tablespaces, que son un conjunto de propiedades de almacenamiento aplicado a objetos creados en la BD para ese tablespace. Dentro de ellos existen otras estructuras lógicas denominadas segmentos que contienen datos para una estructura específica de datos. A su vez estos últimos se subdividen en extensiones, que consisten en un conjunto de bloques contiguos de la BD, y bloques, similares a los bloques BCP de un sistema operativo.

Image

Image

Definición

Bloque de Control de Proceso BCP

Es un registro del sistema operativo donde se agrupa toda la información necesaria para un proceso particular.

Las principales estructuras lógicas de la base de datos son:

  1. Tablas. Son las unidades básicas de almacenamiento.
  2. Índices. Permiten aumentar la velocidad de las operaciones mediante un acceso más rápido a los registros de datos contenidos en una tabla. Tienen un funcionamiento similar al índice en un libro.

Son manejados de manera inteligente por Oracle, de forma que el programador cuando los crea no ha de especificar el que va a usar.

  1. Vistas. Permiten al usuario acceder a una visualización personalizada de los datos de una tabla o una combinación de estas.

Image

Actividades

4. Busque en internet la estructura física de SQL Server.

4. Consecuencias prácticas de seleccionar los diferentes objetos de almacenamiento

La estructura física de un sistema de gestión de bases datos establece cómo se encuentran almacenados los diferentes objetos de almacenamiento de una base de datos. Dicha estructura determina:

  1. La eficiencia con la que el sistema maneja los diferentes objetos de almacenamiento.
  2. El rendimiento, de manera que la relación existente entre la carga de trabajo y los tiempos de respuesta en las transacciones sea elevado. Este concepto se encuentra muy ligado a la satisfacción del usuario del SGBD.
  3. El tiempo de respuesta transcurrido entre el inicio de una operación y la obtención del resultado. Debe buscarse un diseño físico del sistema que almacene los datos de manera que su recuperación, manipulación y actualización sea lo más baja posible.

Image

Nota

Los tiempos de respuesta elevados son la queja más frecuente entre los usuarios de un SGBD.

Image

Actividades

5. Indique qué otras posibles consecuencias piensa que pueden derivarse de la elección de un SGBD teniendo en cuenta que cada uno va a tener una estructura física diferente.

5. Diferentes métodos de fragmentación de la información (en especial para bases de datos distribuidas)

La información alojada en una base de datos se encuentra fragmentada. Esta fragmentación va a depender de la arquitectura empleada para alojar el sistema de bases de datos, que a su vez depende del sistema informático subyacente utilizado para alojar el SGBD.

Según esta arquitectura pueden encontrarse diferentes sistemas de bases de datos: centralizados, cliente-servidor, en paralelo, o sistemas distribuidos.

5.1. Sistemas centralizados

Se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora.

Se distinguen dos tipos:

  1. Sistemas monousuario. Son ordenadores personales con una única CPU y un sistema operativo monousuario.
  2. Sistema multiusuario. Ordenadores con varias CPU y sistemas operativos multiusuario conectados al sistema servidor.

Image

Definición

CPU

Es la Unidad Central de Procesamiento (Central Processing Unit) y el principal componente del ordenador. Se encarga de interpretar las instrucciones de los programas y de procesar los datos.

Sistema monousuario

Es un sistema operativo que únicamente puede ser utilizado por un usuario determinado en un periodo de tiempo. Se distingue del sistema multiusuario en que este puede ser utilizado por varios usuarios de manera simultánea.

5.2. Sistemas cliente-servidor

La base de datos se aloja en un computador central (servidor) que recibe las peticiones generadas por los sistemas clientes.

Estos sistemas tienen las siguientes características:

  1. Reparto de funcionalidades.
  2. Se utilizan como terminales ordenadores personales que gestionan la interfaz de usuario.
  3. El servidor satisface las peticiones realizadas por el sistema cliente.
  4. Existen dos tipos de servidores:
  1. Servidores de transacciones o servidor de consultas. Los clientes envían peticiones para realizar una acción que el servidor ejecutará devolviendo los resultados al cliente.
  2. Servidores de datos. El servidor envía los datos a los clientes realizándose en estos el procesamiento de los datos para después enviar el resultado de vuelta al servidor.

La estructura de un sistema cliente-servidor puede verse en el siguiente esquema:

Image

5.3. Sistemas paralelos

Son sistemas que han surgido debido a la necesidad de manejar sistemas de bases de datos extremadamente grandes (del orden de terabytes, esto es 1012 bytes), o que deben procesar gran cantidad de transacciones por segundo.

Estos sistemas mejoran la velocidad de procesamiento de Entrada-Salida (E/S) mediante el empleo de una CPU y de discos en paralelo, realizando muchas operaciones de manera simultánea y a una velocidad elevada que disminuye el tiempo empleado para realizar una tarea dada.

Se distinguen dos tipos de máquinas en paralelo:

  1. Máquinas de grano grueso que consisten en un pequeño número de potentes procesadores.
  2. Máquinas masivamente paralelas o de grano fino que utilizan miles de procesadores pequeños.

Entre sus inconvenientes se encuentran:

  1. Costes de inicio. Una operación paralela puede estar compuesta por miles de procesos, pudiendo llegar a ser mucho mayor el tiempo de inicio que el tiempo real de procesamiento.
  2. Interferencia. Pueden darse interferencias entre todos los procesos que se ejecutan en paralelo y que acceden de manera simultánea a los recursos compartidos del sistema.
  3. Sesgo. El tiempo empleado para una tarea vendrá determinado por el tiempo empleado en el proceso más lento. No puede dividirse una tarea en partes exactamente iguales, por lo que se dice que habrá una distribución sesgada de tamaños.

Los sistemas en paralelo están formados por una serie de componentes (procesadores, memoria y discos) que se interconectan a través de una red de conexión. Se distinguen tres tipos de redes:

  1. Bus. Los componentes se encuentra conectados a través de un único bus (canal) de conexión.
  2. Malla. Los componentes se encuentran conectados formando una red reticular en la que los vértices se encuentran ocupados por los componentes.
  3. Hipercubo. Los componentes se alojan en los vértices de una red cúbica tridimensional.

Image

Image

Aplicación práctica

Suponga que trabaja como administrador de una base de datos en una empresa que crece rápidamente cada año, y donde el trabajo principal consiste en el procesamiento de un elevado número de transacciones. ¿Qué sistema elegiría?

SOLUCIÓN

La empresa crece rápidamente, luego el tamaño de la base de datos también crecerá de manera exponencial. Por otro lado el trabajo principal del SGBD consiste en procesar un elevado número de transacciones.

La elección de un sistema en paralelo sería la más adecuada. Estos sistemas son capaces de manejar bases de datos extremadamente grandes, y además pueden procesar gran cantidad de transacciones por segundo.

5.4. Sistemas distribuidos

En estos sistemas la base de datos se almacena en varios ordenadores conectados a través de redes de alta velocidad o líneas telefónicas. Los ordenadores que componen el sistema, también denominados sitios o nodos, no comparten ni memoria ni discos, y pueden variar en tamaño y función. Además, estos nodos pueden encontrarse en lugares geográficos muy distintos.

Existen dos tipos de transacciones:

  1. Transacciones locales. Cuando se accede a datos del nodo que inició la transacción.
  2. Transacciones globales. Cuando se accede a datos de un nodo distinto o acceso a datos de varios nodos distintitos.

En cuanto a las ventajas que ofrecen los sistemas distribuidos frente a otros:

  1. Acceso a los datos alojados en sitios distintos. Por ejemplo, dos sucursales bancarias.
  2. Cada sistema es autónomo, y por tanto controlado por su propio administrador del sistema.
  3. Seguridad y disponibilidad de los datos. Por ejemplo, si falla un nodo los datos pueden encontrarse disponibles a través de otro si se encuentran duplicados.

Image

Image

Sabía que

Existen básicamente dos tipos de redes: redes de área local, en las que los equipos que la componen (ordenadores, discos, impresoras, etc.) se encuentran en áreas geográficas pequeñas (edificios, almacenes, centros de trabajo, etc.), y redes de área amplia, donde los equipos que la componen se encuentran distribuidos en un área geográfica extensa, como puede ser un país, varios o incluso el mundo.

Las bases de datos distribuidas pueden almacenar la información de dos maneras: mediante Réplica o mediante Fragmentación. En la primera el sistema mantiene copias idénticas de la información, y guarda copias en sitios diferentes. En la segunda, la información se divide en fragmentos y se guarda cada fragmento en sitios distintos.

Considerando una relación “r” que hay que almacenar en una base de datos, esta puede replicarse dos o más veces, hasta incluso generar una réplica completa para guardar en cada uno de los sitios que componen el sistema.

Las réplicas tienen las siguientes ventajas e inconvenientes:

  1. Disponibilidad. La información se haya en todos los sitios, de manera que si uno falla puede encontrarse en cualquier otro.
  2. Paralelismos. Varios sitios pueden procesar a la vez las lecturas que impliquen una misma relación de datos “r”. A mayor número de réplicas, mayor será la probabilidad de que los datos se encuentren en el sitio donde se ejecuta la transacción, minimizándose el movimiento de los datos.
  3. Sobrecarga. Cada vez que se actualiza una relación de datos esta ha de propagarse a todos los sitios que contengan réplicas, lo que puede ocasionar una sobrecarga en el sistema.

Cuando una relación “r” se fragmenta se divide en varios fragmentos (r1, r2,…,rn,) de manera que la reunión de estos fragmentos permite la reconstrucción de la información contenida en “r”.

Existen tres formas principales de fragmentación:

  1. Fragmentación horizontal. Cada uno de los fragmentos r1, r2, …, rn, ha de contener al menos una tupla (fila de una tabla de datos) de la relación.

    Image

    Se utiliza para conservar las tuplas en los sitios que más se emplean y disminuir así la transferencia de datos.

  2. Fragmentación vertical. La relación se va a dividir en un conjunto de relaciones más pequeñas de manera que las aplicaciones únicamente hagan uso de un fragmento, minimizándose el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.

Image

  1. Fragmentación mixta. Es una combinación de las dos anteriores.

Image

6. Resumen

Un sistema gestor de bases de datos (SGBD) consiste básicamente en un conjunto de datos relacionados entre ellos, y en una serie de aplicaciones o programas mediante los cuales se podrá trabajar con dichos datos.

Los SGBD están diseñados para gestionar gran cantidad de información. Dicha gestión implica un modelo para el almacenaje y conservación de los datos, así como proveer de herramientas adecuadas (lenguajes de definición y manipulación) para el tratamiento de dicha información.

La arquitectura de un SGBD se encuentra altamente influenciada por el sistema informático subyacente donde está instalado el sistema. Los sistemas pueden ser centralizados o cliente-servidor. En los primeros el sistema se ejecuta en un único sistema informático sin interaccionar con ninguna otra computadora, mientras que en los segundos el servidor ejecuta trabajos en múltiples máquinas clientes.

Image

Ejercicios de repaso y autoevaluación

1. Un SGBD comprenderá un conjunto de programas que van a permitir la

  1. … redacción, funcionamiento y mantenimiento de una base de datos.
  2. … creación, alteración, y compactación de una base de datos.
  3. … creación, administración, funcionamiento, uso y mantenimiento de una base de datos.
  4. Todas las opciones son incorrectas.

2. Indique si las siguientes afirmaciones son verdaderas o falsas.

  1. El objetivo primordial de un SGBD es proveer de una herramienta adecuada para extraer y almacenar la información contenida en la base de datos.
  2. Los sistemas tradicionales de ficheros también son conocidos como sistemas orientados a la gestión de bases de datos.

3. Los sistemas tradicionales de ficheros

  1. … cuentan con numerosas aplicaciones, cada una destinada a la realización de determinadas operaciones.
  2. … almacenan los datos en archivos dentro de diferentes unidades de almacenamiento.
  3. … cada programa gestiona y almacena sus propios datos.
  4. Todas las opciones son correctas.

4. Los SGBD utilizan

  1. … Lenguajes de Definición de Datos LDD.
  2. … Lenguajes de Definición de Programas LDP.
  3. … Lenguajes de Manipulación Definidos LMD.
  4. … Lenguajes de Manipulación de Programas LMP.

5. Indique si las siguientes afirmaciones son verdaderas o falsas.

  1. Los componentes principales de una base de datos son los datos, hardware, software y usuarios.
  2. Los usuarios de un SGBD únicamente pueden ser expertos informáticos.

6. Complete el siguiente párrafo con las palabras correctas.

En los sistemas de ______ se pueden observar dos estructuras distintas: la ______ y la ______. La lógica es la que ve el ______ y la física es la forma en la que se almacenan los datos.

7. ¿Qué se pretende con la introducción en los SGBD del denominado nivel conceptual o estructura lógica global?

8. Los niveles de abstracción de un SGBD son:

  1. Interno, externo y superior.
  2. Externo, conceptual e inferior.
  3. Conceptual, material y lógico.
  4. Externo, conceptual e interno.

9. Respecto a la estructura física

  1. … es muy dependiente de cada SGBD.
  2. … no va a depender del SGBD con el que se esté trabajando.
  3. … dependerá del nivel lógico.
  4. … dependerá del sistema operativo del ordenador.

10. Complete el siguiente párrafo con las palabras correctas.

El ______ ______ ______ es el responsable de relacionar los datos de ______ ______ en la base de datos y los programas de aplicación y consultas.

11. Indique si las siguientes afirmaciones son verdaderas o falsas.

  1. El diccionario de datos almacena la estructura de la base de datos y su esquema.
  2. Los índices tienen como función proporcionar un acceso rápido a los datos.

12. Complete el siguiente esquema.

Image

13. Nombre las arquitecturas que pueden encontrarse para los diferentes SGBD.

14. En los sistemas en paralelo pueden encontrase hasta tres tipos de redes. Indique cuáles.

  1. Bus, malla y cónica.
  2. Bus, hipermalla y cúbica.
  3. Hiperbus, malla y cúbica.
  4. Todas las opciones son incorrectas.

15. Las formas de almacenamiento de la información son:

  1. Réplica y cúbica.
  2. Cúbica y fragmentada.
  3. Completa y fragmentada.
  4. Réplica y fragmentada.