Tema 34 Boe 13 02 1996 - Sistemas gestores de bases de datos-

Tema 34

Sistemas gestores de bases de datos. Funciones. Componentes. Arquitectura de referencia y operacionales. Tipos de sistemas.

Introducción

Historia: inicialmente, ficheros.

Problemas que se daban:

-Redundancia

-Dependencia del programa respecto de los datos

-Problemas con accesos concurrentes

-Recuperación costosa

-Problemas de seguridad

SGBD

SGBD=interface entre los datos y el programa.

SGBD ofrece:

-Independencia de los datos

-Integridad

-Seguridad

Jerárquico y red fueron puentes

Relacional: salto cualitativo, muy extendido.

Arquitecturas

Relación de SGBD respecto a usuarios y datos:

De referencia

Se define la BD a distintos niveles:

ANSI/SPARC: propuesta a tres niveles, muchos autores dividen el conceptual en dos ya que no existe una herramienta general que permita definir el modelo conceptual.

-Esquema conceptual (ER)

-Esquema lógico (engloba a los externos)

-Esquema interno (tablas)

-Esquema externo (visiones del usuario)

Debe tener tres propiedades:

  1. Permitir la descripción de los esquemas de la BD, excepto conceptual
  2. Correspondencia entre esquemas
  3. Aislar los esquemas (independencia de los datos)->

<nowiki>*Independencia lógica entre el esquema lógico y los externos</nowiki>

<nowiki>*Independencia física entre el esquema lógico y el esquema interno.</nowiki>

Operacional

La arquitectura que permite el funcionamiento de un SGBD está basada en los siguientes módulos:

  • Módulo de análisis y ejecución de consultas
  • Módulo de acceso a datos
  • Manejador de transacciones y locks
  • Manejador de recuperación

Un acceso a datos se realizaría de la siguiente forma:

  1. El SGBD recibe un comando, que es analizado.
  2. A partir del esquema externo se haya la correspondencia con el esquema lógico.
  3. Se construye un plan de actuación que es optimizado y ejecutado
  4. Mediante el esquema interno, se averigua los datos físicos a los que se debe acceder
  5. El ejecutor del plan invoca a los módulos de acceso a datos, quienes utilizan a su vez los gestores de buffers y gestores de espacio para acceder a los datos de la forma más eficiente.
  6. El proceso se apoya en un manejador de transacciones y un manejador de bloqueos que se encargan de mantener la coherencia.
  7. También se apoya en un manejador de recuperación que permite mantener la coherencia de los datos aún en el caso de interrupciones del servicio

Funciones

  • Descripción de los esquemas de la BD (excepto conceptual)
  • Manipulación de la BD: consulta, recuperación y actualización, ocultando estructura física
  • Diccionario de datos
  • Integridad de datos
  • Seguridad de acceso
  • Comunicaciones

Componentes

Extender esquema de arriba:

  • Lenguaje de definición de los esquemas lógico, interno y externo
  • Lenguajes de manipulación
  • Control de autorización
  • Procesador de comandos
  • Control de la integridad
  • Optimizador de consultas
  • Gestor de transacciones
  • Planificador
  • Gestor de recuperación
  • Gestor de buffers

Tipos de sistemas

Tipos de sistema según modelos

Jerárquico

Fueron los primeros.

Estructuras de datos

Segmento: registro de la bd. Nombres de campos junto con su tamaño

**Árbol: **representa relaciones uno a muchos

Operadores

Es navegacional. Sus operaciones seleccionan objetos por posición lógica en relación al último segmento accedido

Limitaciones:

  • Imposibilidad de representar relaciones complejas como: un objeto que se relaciona con dos padres, relaciones muchos a muchos.
  • Lenguaje de manipulación fuertemente navegacional

Extras:

Los ficheros XML tienen una estructura muy similar a las bases de datos jerárquicas. Las utilidades de recorrido son parecidas a las utilizadas para la navegación y recorrido de bases de datos jerárquicas. Comparte, además, las mismas limitaciones en cuanto a la descripción de relaciones complejas, ya que un elemento sólo puede relacionarse con un padre.

Esta comparación es sólo aproximada y, además, debemos tener en cuenta que un fichero XML y los frameworks de acceso a los mismos no son un SGBD ya que no proporcionan más que una parte limitada de las funciones que deben proveer.

Red

Una nueva familia. Llamada también CODASYL.

Estructuras de datos

**registro: **estructura determinada de campos

**fichero: **grupo de registros

set: permite relaciones uno a muchos. representa registro propietario y registros miembros

Operadores

Es un lenguaje navegacional.

Tiene dos tipos de indicadores de posición: respecto a registros, y respecto a sets

Permite representar relaciones muchos a muchos, pero de forma indirecta al descomponerla en dos uno a muchos con un registro puente.

Ficheros

Tiendas = (tienda1)

Vendedores=(vendedor1, vendedor2)

Articulos=(artículo1,artículo2)

Sets

{| class="prettytable"
| Tienda_Vendedor
| Vendedor_Articulo

|-
| Tienda1,

vendedor1

vendedor2
| Vendedor1

Articulo1

Articulo2

Vendedor2

Articulo2

Articulo3

|}

Relacional

Creado por Codd, fuerte marco teórico basado en teoría de relaciones.

Estructura

Una única estructura: relación => nombres de atributo, cada uno con un dominio

Operadores

Lenguajes de especificación, no navegacionales. Se indica qué se quiere obtener, no cómo.

Orientado a objetos

Pensadas para integrar con lenguajes orientados a objetos. La complejidad de aplicaciones y el creciente uso de estos lenguajes hacían insuficiente los tipos de datos y estructuras de BDs relacionales.

ODMG define un estándar, el ODMG 3.0, y se disuelve. Además se han creado modelo híbridos: sistemas objeto-relacionales, como Oracle o SQL3. También se han creado capas de persistencia que mapean objetos sobre estructuras relacionales (Hibernate para java, Zope para phyton…); se denominan ORM, Object Relational Mapping.

Comentaremos las bases de datos de orientación a objetos puras.

Estructura

**Objetos: **tienen un identificador único. Pertenecen a un tipo.

Literales: no tienen identificador, y están embebidos en los objetos

El lenguaje que permite definir la estructura es ODL (Object Definition Languaje)

Operadores

Las bases de datos de objetos puras son navegacionales. Se acceden mediante OQL (Object Query Languaje), que no permite la manipulación: se hace mediante los métodos de cada objeto.

Datawarehouse

Orientada a consultas de objetos y actividades, no operacional. Grandes volúmenes de datos. Integración desde varios sistemas. Incremental y no volátil.

Estructura

Tablas multidimensionales de hechos (venta de objetos. Venta por provincia (2d). Venta por provincia y mes(3d))

ROLAP se apoya en estructuras relacionales, tabla de hechos más dimensiones Modelo de estrella, copo de nieve. Copo de nieve es normalizando dimensiones.

Hecho: ventas

producto+sucursal+mes+cantidad

dimensiones: producto, sucursal, mes

MOLAP: multidimensionalidad nativa

HOLAP: modelo híbrido

Operadores

Hay operadores especiales para el manejo n-dimensional

Roll-up / Drill-down: navegar en las jerarquías de dimensiones

Slice / Dice: fijar una o varias dimensiónes de la tabla

Tipos de sistemas según estructura

Centralizados

Se ejecuta en un único sistema. No paralelización. Visualización y gestión de los datos en la misma máquina.

Cliente/Servidor

El interface está en el lado del cliente y el servidor provee acceso a los datos. Transaccionales o de datos.

Paralelos

Varios procesadores y varios discos conectados. Gran paralelización. Hay de memoria compartida, disco compartido, sin compartición de memoria ni disco.

Distribuidos

Computadores separados conectados por una red, situados en distintos emplazamientos o nodos.

Características:

-Los emplazamientos están distribuidos geográficamente

-Se comparte un esquema global común aunque hay datos que pueden estar sólo en un nodo

-Hay transacciones tanto locales como globales. (ejemplo: cada sucursal tiene sus cuentas. transferencia sería una transacción global)

Sistemas actuales

Algunos SGBD actuales, sin entrar en detalles internos de la implementación ya que es muy compleja y además, es variable según evolucionan:

**Oracle: **Servidor corporativo de bases de datos relacionales. Posee extensiones para bases de datos orientadas a objetos.

Existen muchos SGBD relacionales. Algunos de ellos son software libre y muy adecuados para su uso en el aula como herramientas de enseñanza, como mySQL o PostreSQL.

db4o (database for objects): base de datos orientada a objetos para programación en Java y .NET. Es de licencia GPL.

SAS OLAP Server: Servidor de bases de datos multidimensionales para datawarehouses.

**DB2 Connect: **Trabaja sobre bases de datos DB2 y permite acceso distribuido a bases de datos implementando la arquitectura DRDA (Distributed Relational Database Architecture)

Contextualización

{| class="prettytable"
| Ciclo
| Modulo
| Curso

|-
| Administración de Sistemas Informáticos

(ASI)
| Sistema de Gestión de Bases de Datos
| 2

|-
| Desarrollo de aplicaciones informáticas

(DAI)
| Análisis y diseño detallado de aplicaciones informáticas de gestión
| 1

|-
| Desarrollo de aplicaciones informáticas (DAI)
| Desarrollo de aplicaciones en entornos de cuarta generación y con herramientas CASE
| 2

|-
| Explotación de Sistemas Informáticos

(ESI)
| Operaciones con bases de datos ofimáticas y corporativas
| 2

|}

Bibliografía

Elmasri, R. y Shamkant, B.** “Sistemas de bases de datos: conceptos fundamentales”**

El libro trata los sistemas de bases de datos desde diferentes niveles: desde el modelado con E/R hasta la implementación física de los sistemas. Tiene un apartado específico para sistemas jerárquicos y en red, otro para los sistemas de bases de datos distribuido. Es muy completo, e único problema es que es un tanto antiguo.

Hansen, G. y J. “Diseño y Administración de bases de datos”

Libro también muy completo. Habla también de administración, de modelos de bases avanzados (orientados a objetos, cliente servidor) etc. En la primera parte del libro habla del papel de las bases de datos en las organizaciones, y puede ser una muy buena introducción para los alumnos en las asignaturas que traten con bases de datos.

Contiene también una última parte donde habla de los sistemas jerárquicos y en red, completamente inútiles hoy en día salvo para preparar pruebas de oposiciones.

Temas liberados en el blog de Yabu [http://elblogde.yabu.es] con licencia creative commons attribution, non commertial share-alike
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License