Unidad IV

 

  Unidad 1 Unidad 2 Unidad 3 Unidad IV Volver

Introducción a las Bases de Datos

Objetivos de un SGBD

Un sistema gestor de bases de datos por definición debe cumplir los siguientes objetivos

Independencia de los datos

Recordando uno de los problemas que plantean los ficheros convencionales. La independencia de los datos consiste en hacer que los programas no sean tan dependientes de la estructura de los datos.

Se han definido dos tipos de independencia:

La independencia física: consiste en poder modificar la definición interna de los datos (el esquema interno) sin que ello suponga una modificación de los programas existentes.
Por ejemplo, se puede cambiar la ubicación de la base de datos, o se puede añadir un índice sobre una tabla para que las consultas se ejecuten más rápidamente, sin que eso suponga una variación en los esquemas externos y conceptual, por lo que los programas (que utilizan el esquema externo) no se verán afectados.

La independencia lógica: consiste en poder cambiar el esquema conceptual sin que ello suponga una modificación de los programas existentes

Por ejemplo podemos añadir un nuevo dato en la tabla de clientes como la dirección de email sin que los esquemas externos se vean afectados.

  • Seguridad e integridad.

La seguridad consiste en que los usuarios no puedan acceder a datos sin  autorización

Si juntamos toda la información de la empresa en un mismo sitio, el SGBD debe tener mecanismos para que cualquier usuario pueda tener acceso a únicamente la información que necesita para las tareas que tiene encomendadas.

Esta seguridad se consigue por medio de los esquemas externos, ya que el usuario sólo tiene acceso a su esquema externo que le proporciona los datos que el administrador ha considerado incluir en ese esquema. Para el usuario no habrá más datos que estos.

Además los SGBD tienen mecanismos para definir autorizaciones que pueden ser de distinto tipo: autorización de lectura, de inserción, de actualización, autorizaciones especiales para poder variar el esquema conceptual etc.

La integridad se refiere a que la información almacenada en la base de datos esté libre de errores. Esto no siempre es posible ya que existen distintos tipos de errores que tienen diferentes soluciones:

Fallos de hardware. Estos errores no los puede evitar el SGBD pero se pueden subsanar facilitando copias de seguridad y procesos de recuperación.

Fallos del programador.

Puede que aparezcan datos erróneos en la base de datos como consecuencia de errores en el programa que genera estos datos. Para evitar al máximo este tipo de errores el sistema debe ser fácil de programar, cuantos más controles realice el sistema de forma automática, menos controles habrá que incluir a nivel de programación por lo que limitaremos la probabilidad de fallo y los programas deben ser probados con juegos de ensayos bien definidos.

Fallos del usuario final. El usuario que introduce datos en la base de datos también puede cometer errores, el sistema debe permitir controlar al máximo la información que se introduce para limitar el número de estos errores, para ello los SGBD incluyen cláusulas de validación de los datos, validaciones de diferentes tipos que veremos con más detalle más adelante.

Fallos derivados de la concurrencia. Ya que toda la información está centralizada y los distintos usuarios acceden a ella de forma simultánea, pueden ocurrir problemas cuando dos usuarios quieren acceder al mismo dato a la vez. Por ello el SGBD debe tener establecidos mecanismos para evitar este tipo de problema, bloquear registros, abortar automáticamente transacciones etc.

  • Redundancia mínima

La redundancia consiste en que exista algún dato repetido en varios lugares. 
Por ejemplo si tenemos la dirección del cliente en la factura, en la cuenta contable, en los datos generales del cliente; esto como ya vimos anteriormente nos producirá varios problemas:

  • la información repetida ocupa espacio innecesario.
  • a variación de un domicilio supone el variar ese domicilio en todos los lugares donde esté almacenado. .
  • mayor tiempo de proceso
  • posibilidad de inconsistencia

Por todo ello hay que evitar al máximo esa redundancia, esto se consigue utilizando herramientas de diseño y obteniendo un diseño óptimo de la base de datos.

  • Facilidad de recuperación de la información

Otro objetivo muy importante de un SGBD es el proporcionar al usuario (o programador) unas herramientas potentes de manejo de datos para que pueda de manera sencilla y rápida, obtener toda la información que desea sin que, por ello se tenga que hacer un programa complejo.

Veremos que el SQL, lenguaje empleado para recuperar información de la base de datos, es un lenguaje muy potente y cercano al lenguaje hablado, y además los SGBD incluyen entornos gráficos sencillos de utilizar.

El administrador de la base de datos

El administrador es el encargado  de gestionar y controlar todo el sistema con la ayuda que le proporciona el SGBD. Tiene una gran responsabilidad ya que de él depende que el sistema funcione correctamente y como tiene el máximo nivel de privilegios, sus errores pueden ser desastrosos.
Entre sus responsabilidades se incluye:

  •  nstalar el SGBD en el sistema informático (a veces)

  • Realizar el diseño de la base de datos.

  • Crear las bases de datos que se vayan a gestionar.

  • Crear y mantener los esquemas de las bases de datos.

  • Crear y mantener las cuentas de los usuarios de las bases de datos.

  • Colaborar con el administrador del sistema en las tareas de ubicación, dimensionado y control de los archivos y espacios de disco ocupados por el SGBD.
  • Establecer estándares de uso, políticas de acceso y protocolos de trabajo diario para los usuarios de las bases de datos.
  • Efectuar tareas de explotación como:
  • Vigilar el trabajo diario colaborando en la resolución de las dudas de los usuarios.

  • Controlar los tiempos de acceso, tasas de uso, cargas en los servidores, anomalías, etc.

  • Llegado el caso, reorganizar las bases de datos.

  • Diseñar y efectuar el planning de copias de seguridad periódicas.

  • Restaurar la base de datos después de un incidente.

  • Estudiar las auditorías mediante el ajuste de parámetros y con ayuda de las herramientas de monitorización del sistema y de las estadísticas.

El diccionario de datos

Dentro del SGBD, hay una parte que son datos sobre los datos, es una base de datos en la que se almacena toda la información necesaria para que el sistema funcione. Esta base de datos es el diccionario de datos y contiene:

  • La estructura lógica y física de la base de datos.

  • Las definiciones de todos los objetos de la base de datos: tablas, vistas, índices, disparadores (triggers) funciones, procedimientos almacenados, etc.

  • El espacio asignado y utilizado por los objetos.

  • Los valores por defecto de las columnas de las tablas.

  • Los privilegios otorgados a los usuarios.

  • Información que permita obtener estadísticas y evaluaciones del rendimiento del sistema

Tipos de bases de datos

Podemos realizar distintas clasificaciones de las bases de datos:

  • Según su ubicación

  • Según la organización lógica de la información

Tipos de bases de datos según su ubicación

1. Bases de datos locales.

En modo local tenemos la base de datos y el usuario ubicados en el mismo ordenador. Un ejemplo de base de datos que funciona en modo local es Microsoft Access, MS Access es una base de datos fácil de manejar por usuarios poco expertos que funciona bien en modo local y mientras no tenga que albergar grandes cantidades de información

Ventajas
Desventajas
Economía
Es la más barata.
Monousuario
En un instante determinado sólo la puede utilizar una persona.
Simplicidad
No se necesita llevar controles de accesos concurrentes, de transmisión de datos, etc.
Capacidad
Suele tener una capacidad de almacenamiento limitado.

2. Bases de datos centralizadas

En los sistemas centralizados tenemos la base de datos completa en un mismo servidor, y todos los usuarios acceden a ese servidor. Que la base de datos esté en un mismo servidor no implica que esté en un solo archivo o en el mismo disco, puede estar repartida.

 

Sistema centralizado

En modo Cliente/Servidor, la base de datos se encuentra en un ordenador (el Servidor) y los usuarios acceden simultáneamente a esa base de datos a través de la red (sea una red local o Internet) desde sus ordenadores a través de un programa Cliente.

A nivel de empresas es el sistema que más se utiliza en la actualidad.

Ventajas Desventajas

Multiusuario
Permite que varios usuarios accedan a la vez a la misma información.

Complejidad
Tiene que incluir y gestionar un sistema de usuario y subesquemas.
No redundancia
Al estar todos los datos en el mismo servidor, la información no se duplica y es más facil evitar fallos debidos a redundancias.
Seguridad
Se tienen que realizar controles para garantizar la seguridad de los datos, tanto a nivel interno como a nivel de comunicaciones.

 

3. Bases de datos distribuidas

Tenemos la información repartida en distintas localizaciones unidas todas ellas mediante red y un sistema gestor de bases de datos distribuidas.

Las distintas localizaciones suelen ser distintas geográficamente.

Base de datos distribuida

 

Ventajas Desventajas
Rendimiento
Una clara ventaja es que es posible ubicar los datos en lugares donde se necesitan con más frecuencia, aunque también se permita a usuarios no locales acceder a los datos según sus necesidades. Esto hace que la información se recupere de forma más rápida y ágil en las ubicaciones locales. Además los sistemas trabajan en paralelo, lo cual permite balancear la carga en los servidores.
Complejidad en el diseño de datos
Además de las dificultades que generalmente se encuentran al diseñar una base de datos, el diseño de una base de datos distribuida debe considerar la fragmentación, replicación y ubicación de los fragmentos en sitios específicos, se tiene que trabajar tomando en cuenta su naturaleza distribuida, por lo cual no podemos pensar en hacer joins que afecten a tablas de varios sistemas, etc.
Disponibilidad
En caso de que falle la base de datos de alguna localidad, el sistema no se colapsa, puede seguir funcionando excluyendo los datos de la localidad que haya fallado.
Complejidad técnica
Se debe asegurar que la base de datos sea transparente, se debe lidiar con varios sistemas diferentes que pueden presentar dificultades únicas.
Autonomía local
Un departamento puede controlar los datos que le pertenecen.
Economía en el mantenimiento
La complejidad y la infraestructura necesaria implica que se necesitará mayor mano de obra.
Economía en la implantación
Es más barato crear una red de muchas máquinas pequeñas, que tener una sola máquina muy poderosa.
Seguridad
Se debe trabajar en la seguridad de la infraestructura así como cada uno de los sistemas.
Modularidad
Se pueden modificar, agregar o quitar sistemas de la base de datos distribuida sin afectar a los demás sistemas (módulos).
Integridad
Se vuelve difícil mantener la integridad, aplicar las reglas de integridad a través de la red puede ser muy caro en términos de transmisión de datos.
 
Falta de experiencia
Las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados.
 
Carencia de estándares
Aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido.

Tipos de bases de datos según la organización lógica de los datos

En un principio existían tres tipos de bases de datos según su estructura interna (la manera de organizar la información)

Bases de datos jerárquicas

Bases de datos en red

Bases de datos relacionales.

Más recientes son las bases de datos orientadas a objetos y las bases de datos multidimensionales

1. Las bases de datos jerárquicas

En una base de datos jerárquica se organizan los datos utilizando estructuras arborescentes (en árbol). 
Un ÁRBOL es una estructura jerárquica en la que los elementos se suelen denominar NODOS y existen dependencias entre los nodos.

La dependencia es de 1:M del tipo padre/hijo. Un hijo no puede tener más de un padre, pero un padre varios hijos.

BBDD Jerárquicas

Un ejemplo de base de datos jerárquica es el sistema IMS.

2. Las bases de datos en red

También en desuso, en una base de datos en red se utiliza la estructura de grafo/red, como en el caso anterior los distintos objetos están relacionados entre sí mediante relaciones del tipo 1:M pero en este caso un objeto puede estar relacionado como hijo con varios elementos que serán sus padres. Un este caso las relaciones que se crean se denominan SET y el equivalente al padre se denomina PROPIETARIO (OWNER) y el equivalente al hijo se denomina MIEMBRO (MEMBER).

Un ejemplo de sistema en red es el CODASYL. También existen modelos para realizar el diseño de datos orientado a bases de datos en red.

En red podríamos representar lo mismo que la estructura anterior y además lo siguiente:

BBDD Red

Los sistemas jerárquico y en red constituyen la primera generación de los SGBD. Pero estos sistemas presentan algunos inconvenientes:

 

  • Es necesario escribir complejos programas de aplicación para responder a cualquier tipo de consulta de datos, por simple que ésta sea.

  • La independencia de datos es mínima.

  • No incluyen controles de integridad

Por lo que pronto fueron sustituidos por los sistemas relacionales.

 

3. Las bases de datos relacionales

Esta es la estructura que se ha impuesto para aplicaciones de gestión, consiste en organizar los datos en forma de tablas, las relaciones entre los objetos se consiguen incluyendo en la tabla del hijo, la clave del objeto padre. Como son las que utilizaremos durante todo el módulo hemos reservado un apartado especial para ellas.

 

4. Las bases de datos orientadas a objetos

Es un modelo más reciente, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). La información que contienen se organiza en atributos y el comportamiento en operaciones.

 

5. Las bases de datos mutidimensionales

En una base de datos multidimensional los datos se almacenan en tablas de múltiples dimensiones en vez de tablas bidimensionales como las del modelo relacional. Se utilizan para grandes volúmenes de información.

 

 Volver

 

 

*