Tema 34 – Sistemas gestores de bases de datos.

Tema 34 – Sistemas gestores de bases de datos.

1.INTRODUCCIÓN 1

2.SISTEMAS GESTORES DE BASES DE DATOS 2

2.1Justificación de la utilización de una base de datos 2

3.COMPONENTES DE UN SISTEMA DE BASE DE DATOS 3

3.1Usuarios 3

3.2Hardware 3

3.3Software 3

3.4Datos 4

4.FUNCIONES 4

4.1Definición de datos 4

4.2Manipulación de datos 4

4.3Otras funcionalidades 5

5.ARQUITECTURA 5

5.1De referencia 5

5.2Operacional 6

6.TIPOS DE SISTEMAS 6

  1. INTRODUCCIÓN

Los sistemas gestores comenzaron en los 60.

Hoy en día, se utiliza para trabajar con un gran volumen de información.

Un modelo de datos es una colección de conceptos, normas y acuerdos que permiten representar los hechos que queremos plasmar y la posterior manipulación de los datos descritos.

Se han creado 3 modelos:

  1. Modelo jerárquico

  2. Modelo en red

  3. Modelo relacional

  1. SISTEMAS GESTORES DE BASES DE DATOS

Una BD está formada por una colección de datos, entre los cuales se establece una relación, y se encuentran almacenadas sobre un soporte físico. Su estructura, debe de poder ser utilizada por varios usuarios de forma concurrente.

El gestor de la base de datos es el SW que permite la creación de la base de datos (BD), su manipulación y su uso, y establece las premisas que justifican su utilización, como son seguridad o la integridad.

    1. Justificación de la utilización de una base de datos

Inconvenientes:

  • Redundancia: Repetición de datos en distintos ficheros, aumenta el espacio.

  • Difícil actualización: Se puede modificar un dato en un fichero y en otro no.

  • Independencia entre los programas y los datos: El acceso a datos se realiza mediante programas específicos. Si queremos recuperar un dato que no esté en las opciones de los programas habrá que reprogramar.

  • Concurrencia: Exhaustivo control si varios usuarios quieren acceder a los mismos datos al mismo tiempo.

  • Diferencia en los formatos: Los archivos en los que se almacenan los datos pueden disponer de distintos formatos, por lo que su modificación puede afectar a las aplicaciones.

  • Seguridad: Deben establecerse mecanismos que controlen el acceso de los usuarios a los datos en función de su importancia.

  • Integridad: Los datos deben de ser consistentes y correctos en todo momento.

Ventajas (“centralización de la información” superar los inconvenientes anteriores)

  • Disminuir la redundancia: Los datos requieren más espacio. Puede aparecer inconsistencia. Complicar la actualización y eliminación de datos. Genera problemas de concurrencia.

  • Prevenir la inconsistencia: En caso de repetición de datos debe controlarse que las actualizaciones sean registradas en todas sus apariciones.

  • Compartición de datos: Disponibilidad de datos tanto para los usuarios como para las aplicaciones existentes o de nueva creación, sin modificar la BD.

  • Cumplimiento de las normas:

    • Unificar los formatos aplicados en la representación de los datos para facilitar tanto la escritura de los programas como el acceso e intercambio de info.

    • Aplicar normas de seguridad que aseguren el control de acceso a los usuarios según su categoría.

  • Integridad: Se minimiza el fallo de integridad o exactitud de datos.

  • Independencia de los datos: La independencia de los datos debe establecerse con respecto a la estructura de almacenamiento y al método de acceso a los mismos. Existen 2 tipos:

    • Independencia física: Se podrá modificar la estructura física de la BD sin retocar los programas que actúan sobre ellas.

    • Independencia lógica: el programador no tiene que conocer la estructura interna para poder manipular los datos.

  1. COMPONENTES DE UN SISTEMA DE BASE DE DATOS

Los elementos que componen un sistema gestor son:

    1. Usuarios
  1. Administrador o DBA (Database Administrator): Usuario principal ya que sobre él recae la tarea de diseñar y mantener la organización o estructura de la base de datos.

    1. Definir el esquema mediante la utilización de los DDL.

    2. Determinar la estructura de almacenamiento y del método de acceso.

    3. Cambiar el esquema y la organización de los datos en el soporte físico.

    4. Determinar qué usuarios tendrán permiso para acceder a la BD.

    5. Establecer las restricciones de integridad.

2. Programadores: Escriben los programas utilizando lenguajes de programación.

3. Usuario final: 3 grupos:

– Usuario ingenuo: sólo manipula datos a través de programas creados por programadores.

– Usuario sofisticado: Poseen ciertos conocimientos y realizan consultas en tiempo real en la BD utilizando la sentencia pertenecientes a un lenguaje en concreto.

– Usuario experto: Diseñador de programas. No están relacionados con los procesos habituales que se realizan en la BD.

    1. Hardware

Todos los dispositivos que participan en el almacenamiento físico (disco duro, CPU…)

    1. Software

El usuario deberá poder operar sobre la BD sin tener que conocer la máquina con la que se está trabajando. El SW que permite manipular los datos sin necesidad de conocer como han almacenado físicamente recibe el nombre “Sistemas de administración de bases de datos” estando integrado por una serie de rutinas que realizan un trabajo determinado:

  • Integridad: El gestor es el encargado de que las restricciones sean respetadas.

  • Seguridad de acceso: Se debe asegurar de que las restricciones para los distintos usuarios para el acceso a los datos sean cumplidas.

  • Seguridad y recuperación de los datos: Se tiene que controlar que los datos puedan recuperarse en el mismo estado en que se encontraban previamente a la producción de un fallo.

  • Acceso concurrente: Distintos usuarios pueden acceder a la misma base de datos, por lo que se debe encargar de que los datos sean consistentes.

  • Interactuar con el gestor de archivos: El gestor de la BD se encargará del almacenamiento y manipulación de los datos.

    1. Datos

Información que conforman la BD. Los datos como la relación existente entre ellos serán guardados físicamente sobre un dispositivo de almacenamiento.

  1. FUNCIONES

Tenemos:

    1. Definición de datos

Nos permite especificar el esquema o diseño de una BD mediante la definición de los objetos que la constituyen, la estructura y las interrelaciones.

    1. Manipulación de datos

Realizar ciertas acciones sobre los datos ya existentes o añadir nuevos datos:

  1. Consultas

  2. Insertar nuevos datos

  3. Bajas: eliminar

  4. Modificaciones o actualizaciones: modificar los ya almacenados

Para poder realizarlas se utilizan los lenguajes de manipulación de datos (DML, DATA MANIPULATING LANGUAGE), que se clasifican:

  1. Procedimentales: El usuario tiene que precisar qué datos va a utilizar y cómo los va a adquirir. Para el acceso a los datos se trata los registros de forma individual.

  2. No procedimentales: El usuario sólo indicará qué datos va a utilizar. El más extendido es el SQL. Manejan grupos de registros cuando se quiere acceder a los datos.

    1. Otras funcionalidades
      1. Seguridad

La información contenida en la base de datos sólo debe ser utilizada por determinados usuarios, ya sea para acceder a todos los datos o a parte de ellos. Para aumentar la privacidad se establecerán contraseñas a distintos niveles.

      1. Integridad

Los datos comunes que relacionan una tabla con otra deben ser coherentes.

      1. Recuperación

Hay que prever que se produzcan fallos, debiendo existir mecanismos que permitan la recuperación de los datos devolviendo la consistencia a la BD. Los fallos pueden producirse a distintos niveles:

  • Fallo en la transacción o del SW.

  • Fallo en el sistema o del HW.

  • Fallo del medio de almacenamiento.

      1. Concurrencia

El mecanismo que nos permite salvaguardar la consistencia es la aplicación del concepto de planificación, que consiste en establecer la secuencia en el tiempo con que se van a ejecutar las instrucciones, de manera que se mantenga un orden cronológico en la ejecución independiente de la operación (suma, resta, multiplicación…) que se realice en los datos. Existen 2 métodos de planificación:

    • Planificaciones en serie: Para realizar una transacción, cada orden tendrá una secuencia de ejecución, de modo que, siempre, ante una misma sentencia se realizará la misma serie de instrucciones.

    • Planificaciones en paralelo: Se aplica ante transacciones concurrentes, donde existe más de un patrón para cada orden o sentencia.

      1. Diccionario de datos

Un buen SGBD debe describir los datos que integran la base de datos para que puedan ser usadas por los usuarios. El diccionario de datos es un fichero especial que contiene una serie de tablas obtenidas como resultado de la compilación del esquema de la base de datos diseñada con un lenguaje de definición de datos.

  1. ARQUITECTURA

Una BD erigida con una buena arquitectura debe permitir ser utilizable en distintas máquinas que soporten distintos S.O (admitir la portabilidad)

    1. De referencia

La base de datos en sí. El usuario no tiene que conocer los detalles sobre la forma en que se han almacenado los datos en el soporte, ni cómo se realiza el mantenimiento.

3 niveles de abstracción:

  1. Nivel físico o interno: Nivel más bajo, más próximo al HW, más complejo. Especifica cómo se han estructurado los datos sobre un soporte físico.

  2. Nivel conceptual o lógico: Nivel intermedio, define los datos que realmente se almacenan y describe las relaciones que se han establecido entre ellos junto con otras características como seguridad… Es el nivel utilizado por el Admin de la BD.

  3. Nivel externo: Nivel de visión, relacionado con el usuario final, define la forma en que la BD se presenta ante el usuario, pudiendo variar de unos a otros. Normalmente la BD no la observa en su totalidad, sino que cada usuario la verá en función de la info que desea obtener.

Existe una comunicación entre estos 3 niveles:

  1. Conceptual-interna: cualquier modificación a nivel interno implicará un cambio en esta correspondencia sin que se modifique el nivel conceptual.

  2. Externa-conceptual: Establece la correspondencia entre el nivel externo y conceptual, existiendo una correspondencia para cada vista externa.

    1. Operacional

Se refiere a las aplicaciones que se ejecutan dentro del SGDB. Se clasifica en:

  • Procesadores de consulta

  • Generadores de informes

  • Generadores de pantallas

  • Generadores gráficos

  • Hojas de cálculo

  • Procesadores de lenguaje natural

  1. TIPOS DE SISTEMAS

RED

Los datos se describen como registros independientes. (relaciones mediante punteros) Representación en forma de grafo.

JERÁRQUICO

Similar a la anterior pero con la representación toma forma arborescente.

RELACIONALES

Datos descritos en tablas.

ORIENTADO A OBJETOS

Todo el sistema se representa en objetos, que se pueden dividir en subclases.

MULTIMEDIA

CONOCIMIENTO

SISTEMAS DISTRIBUIDOS

Los datos se encuentran almacenados en distintas máquinas interconectadas entre sí. Debe ser un proceso transparente para el usuario.