Arquitectura de Manejadores de Base de Datos - Bases de ...

27
Arquitectura de Manejadores de Base de Datos Bases de Datos 2 - Tecnologo de Informatica BD2 - Arquitectura de Manejadores de Base de Datos

Transcript of Arquitectura de Manejadores de Base de Datos - Bases de ...

Page 1: Arquitectura de Manejadores de Base de Datos - Bases de ...

Arquitectura de Manejadores de Base deDatos

Bases de Datos 2 - Tecnologo de Informatica

BD2 - Arquitectura de Manejadores de Base de Datos

Page 2: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 3: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 4: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 5: Arquitectura de Manejadores de Base de Datos - Bases de ...

Modelos de DatosData Models

Lenguajes usados para especificar BDs.Un Modelo de Datos permite expresar:

EstructurasObjetos de los problemasEj.: CURSOS(nro_curso, nombre, horas)

RestriccionesReglas que deben cumplir los datos.Ej.: (c CURSOS) (c.horas < 120)

OperacionesInsertar, borrar y consultar la BD.Ej.: INSERT INTO CURSOS(303, “BD”, 90)

Algunos modelos permiten especificar aspectos dinámicoso de comportamiento.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 6: Arquitectura de Manejadores de Base de Datos - Bases de ...

Modelos de DatosCategorización

Según el nivel de abstracción:Conceptuales

Representan la realidad independientemente de cualquierimplementación de BD.Usado en etapa de Análisis.Conceptos como por ej.: entidades, atributos, relaciones.Ej.: Modelo entidad-relación

LógicosImplementados en DBMSs.Usados en etapas de Diseño e Implementación.Ej.: Modelo de datos relacional.

FísicosImplementación de estructuras de datos.Ej.: Árboles B, Hash.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 7: Arquitectura de Manejadores de Base de Datos - Bases de ...

Modelos de DatosEsquemas, Instancias y Estado de Base de Datos

Esquema de BD (DB Schema). Es la descripción de unabase de datos.

No se espera que cambie frecuentemente.Se especifica durante el diseño de la BD.A la modificación del esquema se le dice “evolución delesquema”.

Estado/Snapshot de la BD (DB State). Son los datos enla BD en un determinado momento.

También llamado “conjunto actual” de ocurrencias oinstancias.Cambiamos de estado cada vez que se insertan, borrantúplas o se modifica algún valor de una túpla.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 8: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 9: Arquitectura de Manejadores de Base de Datos - Bases de ...

Arquitectura lógica de DBMSPropiedades importantes

Control global único de la BD.Separación entre esquema y aplicaciones.

Esquema: visión global de los datos de la realidad.Aplicaciones: programas sobre la BD.

Soporte a diferentes visiones de los datos.Usuarios/aplicaciones ven subconjuntos de la BD.

Independencia de datos.Esquema lógico independiente de implementación.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 10: Arquitectura de Manejadores de Base de Datos - Bases de ...

Arquitectura en 3 nivelesThree-Schema Architecture

Figura : Elmasri edición 7, fig. 2.2

BD2 - Arquitectura de Manejadores de Base de Datos

Page 11: Arquitectura de Manejadores de Base de Datos - Bases de ...

Independencia de datosData Independence

Independencia Lógica.

Independencia entre especificaciones de nivel Lógico yExterno.

Cambiar partes de esquema lógico sin afectar a losesquemas externos o a las aplicaciones.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 12: Arquitectura de Manejadores de Base de Datos - Bases de ...

Independencia de datosData Independence

Independencia Física.

Independencia entre especificaciones de nivel Lógico yFísico.

Cambiar implementaciones sin afectar esquema Lógico.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 13: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 14: Arquitectura de Manejadores de Base de Datos - Bases de ...

Lenguajes DBMS

Definición de esquema:VDL (o SSDL) - View Definition Language.SDL - Storage Definition Language.DDL - Data Definition Language.

Manipulación de la BD:DML - Data Manipulation Language.

Modificaciones en instancias.QL - Query Language.Subconjunto del DML, sólo para consultas.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 15: Arquitectura de Manejadores de Base de Datos - Bases de ...

Tipos de Query Language

Se distinguen dos tipos de QL: declarativos yprocedurales.Declarativos.

Se especifica qué propiedad cumplen los datos.No se especifica cómo se recuperan de la BD.Suelen recuperar conjuntos de ítems (registros).Es el DBMS que define el plan de ejecución.

Procedurales.Se especifica un algoritmo que accede a estructuras delesquema lógico y recupera los datos ítem por ítem (registroa registro).

BD2 - Arquitectura de Manejadores de Base de Datos

Page 16: Arquitectura de Manejadores de Base de Datos - Bases de ...

Lenguajes de programación

Lenguajes host (anfitrión):Lenguajes de uso general (C, JAVA, etc) en el cual seembeben sentencias de DML.Se tiene un pre-procesador que traduce el programa conDML embebido en un programa puro.PROBLEMAS: impedance-mismatch.

Lenguajes 4GL:Lenguajes procedurales orientados a acceso a BDs.Conexión privilegiada con DMLs, reduce elimpedance-mismatch.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 17: Arquitectura de Manejadores de Base de Datos - Bases de ...

Interfaces especializadas

Interfaces gráficas de consulta.Se visualizan las estructuras en forma gráfica.Resultados como gráficas (torta, líneas, etc).

Interfaces de Lenguaje Natural.Se procesan frases y se traducen al QL.

Interfaces para Administración.Ambientes especializados.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 18: Arquitectura de Manejadores de Base de Datos - Bases de ...

Outline

1 Arquitectura de DBMSModelos de DatosArquitectura en 3 niveles e Independencia de datosLenguajes e Interfaces en ambientes BDArquitectura cliente/servidor y categorización de DBMS

BD2 - Arquitectura de Manejadores de Base de Datos

Page 19: Arquitectura de Manejadores de Base de Datos - Bases de ...

ArquitecturasArquitectura lógica de dos capas

BD2 - Arquitectura de Manejadores de Base de Datos

Page 20: Arquitectura de Manejadores de Base de Datos - Bases de ...

ArquitecturasArquitectura física de dos capas

BD2 - Arquitectura de Manejadores de Base de Datos

Page 21: Arquitectura de Manejadores de Base de Datos - Bases de ...

ArquitecturasArquitectura de tres capas

BD2 - Arquitectura de Manejadores de Base de Datos

Page 22: Arquitectura de Manejadores de Base de Datos - Bases de ...

Diferentes tipos de DBMS

Según el Modelo de Datos.Relacional.Orientado a Objetos.Otros: Redes, Jerárquico, Deductivo, . . .

Según el porte.Desktop (escritorio) / mono-usuario.Servidor / multi-usuario.

Según distribución de la BD.Centralizado.Distribuido.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 23: Arquitectura de Manejadores de Base de Datos - Bases de ...

Resumen de los elementos de Bases de Datos

Figura : Elmasri edición 7, fig. 2.2BD2 - Arquitectura de Manejadores de Base de Datos

Page 24: Arquitectura de Manejadores de Base de Datos - Bases de ...

Algunos problemas que nos interesan

¿Cómo se procesan las consultas?.¿Cómo buscar soluciones más eficientes?.¿Cómo se resuelve el acceso concurrente?.Recuperación en caso de fallo.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 25: Arquitectura de Manejadores de Base de Datos - Bases de ...

Procesamiento y Optimización de Consultas

Organización y acceso a los datos.Que estructuras de datos suelen implementar losmanejadores y como se utilizan.Procesamiento de Consultas.Diferentes algoritmos para implementar los operadores delalgebra relacional.Optimización de Consultas.Estrategias que utiliza un manejador para modificar lasconsultas y para elegir los algoritmos a ejecutar.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 26: Arquitectura de Manejadores de Base de Datos - Bases de ...

Control de concurrencia

TransaccionesOperaciones complejas que se ven como una sola.Concurrencia¿Qué debe considerar el manejador para que variastransacciones se ejecuten simultáneamente y produzcanresultados correctos en la base?.

BD2 - Arquitectura de Manejadores de Base de Datos

Page 27: Arquitectura de Manejadores de Base de Datos - Bases de ...

Recuperación

Estrategias de recuperación.Mecanismos que suelen implementar los manejadorespara recuperar los datos frente a fallas del sistema.

BD2 - Arquitectura de Manejadores de Base de Datos