Está en la página 1de 38

TEMA 2

ARQUITECTURA

1. Arquitectura ANSI-SPARC . . . . . . . . . . . . . . . . . . . . 3 2. El DBA y el SGBD . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3. Arquitectura back-end / front-end . . . . . . . . . . . . 31

Arquitectura de un Sistema de Base de Datos: Estructuracin de los mdulos de un Sistema de BD, sus o o funciones y relaciones entre ellos. Dos arquitecturas ms usuales: a Arquitectura ANSI/SPARC (Study Group on Database Management System) Arquitectura back-end / front-end

Sistemas pequeos basados en PC: n


Usualmente no incorporan estas arquitecturas Arquitectura ms simplicada a

Arquitectura ANSI/SPARC

Dividida en tres niveles: 1. NIVEL INTERNO 2. NIVEL EXTERNO 3. NIVEL CONCEPTUAL

1. NIVEL INTERNO
Ms prximo a almacenamiento f a o sico. Se ocupa de organizar y almacenar los datos f sicamente.

2. NIVEL EXTERNO
Ms prximo a usuarios. a o Se ocupa de la forma com los usuarios individuales perciben los datos.

3. NIVEL CONCEPTUAL
Nivel intermedio entre los dos

n vistas externas (Nivel Externo) abstracciones

1 vista conceptual (Nivel Conceptual) abstraccin o

1 vista interna (Nivel Interno)

Ejemplo: NIVEL EXTERNO

PASCAL: C:

PROFESOR: codi gent PROFESOR: codi prof lloc alumnes

CHAR(6) REAL

CHAR(8) CHAR(6) CHAR(3)

NIVEL CONCEPTUAL
PROFESOR codigo aula alumnos asignatura CHAR(6) CHAR(6) NUMBER(3) CHAR(8)

NIVEL INTERNO
PROFE F ISIC prejo codi assig aula alum LENGHT=27 TYPE=BYTE(6), OFFSET=0 TYPE=BYTE(6), OFFSET=6, INDEX=CODI.NDX TYPE=BYTE(3), OFFSET=12 TYPE=BYTE(6), OFFSET=15 TYPE=WORD, OFFSET=21 5

Nivel Externo: Diferentes vistas


codigo, gente (PASCAL) codigo prof, lugar, alumnos (C)

Entidades IGUALES semnticamente pueden tener a DIFERENTES nombres en diferentes niveles. Es importante establecer las correspondencias entre los nombres.

N. EXTERNO codi gent lloc

N. CONCEPTUAL codi alumnes aula

N. INTERNO codi alum aula

Consideraciones:
NIVEL CONCEPTUAL: RELACIONAL Tablas, operadores, relaciones

NIVEL EXTERNO: RELACIONAL Declaraciones PL/I, COBOL, PASCAL equivalentes a tabla relacional sobre respectivos lenguajes.

NIVEL INTERNO: NO RELACIONAL Estructura de bajo nivel (registros, apuntadores, ndices,etc.)

ESQUEMA DE LA ARQUITECTURA ANSI/SPARC

Mdulos importantes del esquema: o

Nivel Externo

Nivel Conceptual

Nivel Interno

Correspondencias

NIVEL EXTERNO
Nivel de usuarios individuales donde cada usuario tendr a ciertos lenguajes a su disposicin o
Usuario Final Lenguaje de consulta (cuarta generacin): SQL o o u Lenguaje de la aplicacin (mens, comandos, sistemas ventanas, etc.) Programador de aplicaciones Lenguaje de consulta (cuarta generacin): SQL o Lenguaje de programacin de alto nivel (C, PL/I, COBOL, o PASCAL...) DBA Todos los lenguajes utilizados por los anteriores usuarios.

Estos lenguajes han de incluir un sublenguaje de datos (DSL - Data SubLanguage):


Encargado de interactuar con la Base de Datos Sublenguaje dentro del lenguaje de alto nivel (lenguaje anfitrin: o C, COBOL, BASIC, etc.) DSL proporciona acceso a los datos Lenguaje antrin proporciona las estructuras de control o y las variables 10

DSL - Data SubLanguage: Dividido en dos partes: DDL -Data Denition Language
Denicin/declaracin de los objetos a la Base de Datos o o

DML -Data Manipulation Language


Manipulacin/procesamiento de los objetos denidos en o la Base de Datos

Relacin entre DSL y lenguaje antrin: De dos o o formas:


DSL aadido: Nuevas funciones DSL llamadas por librer n a con parmetros. a table function SQLSelect(par1,par2,...,parn); DSL Inmerso: Poner sentencias DSL directamente dentro del programa fuente, indicando al compilador que han de ser pasadas al mdulo del DBMS para ser interpretadas. (Ejemo plo: SQL Inmerso) Compilador del lenguaje antrin no ha de generar cdigo o o sobre ellas. /* SQL SELECT FROM WHERE */ ... ... ...

11

Deniciones importantes en el Nivel Externo: VISTA EXTERNA: Contenido de la Base de Datos tal y como es vista por un usuario concreto.
Formada por una coleccin de registros externos (o o lgicos). No han de coincidir con registros internos. o DML trabaja sobre registros externos.

ESQUEMA EXTERNO: Deniciones de los registros externos que forman una vista externa.
Esquema denido en lenguaje DDL

Ha de existir correspondencia entre Esquema Externo Conceptual Esquema

12

NIVEL CONCEPTUAL
VISTA CONCEPTUAL: Representacin de TODO o el contenido de la Base de Datos.
o Representacin abstracta de los datos. NO coincide con la representacin f o sica. NO coincide con vista externa. Vista formada por el conjunto de REGISTROS CONCEPTUALES que denen entidades y relaciones entre entidades. Registros conceptuales no han de coincidir con registros externos o registros internos. Vista denida mediante ESQUEMA CONCEPTUAL.

ESQUEMA CONCEPTUAL: Denicin de cada tipo o de registro conceptual.


Denido mediante DDL CONCEPTUAL (Data Denition Language). Denicin del contenido de informacin. o o No se han de incluir relaciones con el nivel interno (estructura de almacenamiento, tcnicas de acceso, campos y e registros f sicos). Se especican controles de integridad y de seguridad. 13

NIVEL INTERNO
VISTA INTERNA: Representacin de bajo nivel de la o Base de Datos.
Vista ms cercana a la mquina, a un paso del nivel f a a sico. No manipula registros f sicos. Supone espacio lineal en direccionamiento. No se especica correspondencia entre este espacio y los dispositivos lgicos. o Vista compuesta de ocurrencias de diferentes tipos de REGISTROS INTERNOS. Vista denida mediante ESQUEMA INTERNO.

ESQUEMA INTERNO: Deniciones de los registros internos, ndices y campos.


Denido mediante DDL INTERNO.

14

CORRESPONDENCIAS
Tres niveles de correspondencias: Correspondencia conceptual/interna Correspondencia externa/conceptual Correspondencia externa/externa

1. Correspondencia conceptual/interna
Correspondencia entre vista conceptual y la Base de Datos. Controlada por el DBA. Especica com se estructuran los registros y campos conceptuales en el nivel interno. Si se modica la estructura de la Base de Datos f sica se ha de modicar la correspondencia conceptual/interna.

15

2. Correspondencia externa/conceptual
Correspondencia entre la vista externa y la vista conceptual. Permite especicar campos con diferentes tipos de datos. El campo conceptual est especicado en un solo tipo. a Nombre de campos y registros pueden ser diferentes entre diferentes vistas. Diversos campos conceptuales un slo campo externo. o Pueden existir n vistas externas. Una vista externa puede ser compartida por m usuarios.

3. Correspondencia externa/externa
e Expresar una vista externa en trminos de otras vistas externas. Util si existe relacin estrecha entre vistas externas. o

16

El DBA y el SGBD
Partes importantes en la gestin de la Base de Datos: o Administrador de la Base de Datos (DBA) Sistema Gestor de la Base de Datos (DBMS)

17

ADMINISTRADOR DE LA BASE DE DATOS (DBA)


Encargado del control general a nivel tcnico. e Por debajo del ADMINISTRADOR DE DATOS: Persona que toma las decisiones estratgicas y de pol e tica respecto la informacin de la empresa. o Funciones del DBA:
1. Denir el Esquema Conceptual 2. Denir el Esquema Interno 3. Relacionarse con los usuarios 4. Denir controles de integridad y de seguridad 5. Gestionar las copias de seguridad 6. Controlar el rendimiento del sistema

18

1. Denir el Esquema Conceptual


ADMINISTRADOR DE DATOS: Realizar el diseo lgico de la n o Base de Datos. DISENO LOGICO DE LA BASE DE DATOS: Nivel relacional. Denir las relaciones (tablas) que interesan a la organizacin o (empresa). Denir la informacin que ha de ir en las tablas. o

TAREAS DEL DBA: Denir el Esquema Conceptual a partir del Diseo n Lgico. El Esquema Conceptual se dene mediante o el DDL Conceptual. o DBMS utiliza la versin objeto del Esquema Conceptual para responder a solicitudes de acceso. Versin fuente del Esquema Conceptual utilizado o por usuarios del sistema.

19

2. Denir el Esquema Interno


DBA ha de realizar el Diseo F n sico: Representacin de la inforo macin f o sica de la BD. DBA dene el Esquema Interno: Denicin de la estructura f o sica correspondiente. Descrito mediante el DDL interno. DBA dene la correspondencia entre el Esquema Interno y el Esquema Conceptual mediante DDL Conceptual (especialmente) DDL Interno

Ambas tareas del DBA (crear Esquema Interno y denir correspondencias) son claramente separables. Esquema Interno y correspondencias existirn en versin fuente y a o versin objeto. o

20

3. Relacionarse con los usuarios


DBA ha de estar en comunicacin con los usuarios para denir o Esquemas Externos (con DDL externo). Correspondencias entre Esquema Externo / Esquema Conceptual (con DDL Externo).

Ambas tareas del DBA (crear Esquema Externo y denir correspondencias) son claramente separables. Esquema Externo y correspondencias existirn en versin fuente y a o versin objeto. o

Otras funciones del DBA para los usuarios: Consultas sobre el diseo de las aplicaciones. n o e Instruccin tcnica. Localizacin y solucin de problemas que tengan o o los usuarios.

4. Denir controles de integridad y seguridad


Denidas dentro el Esquema Conceptual, mediante el DDL Conceptual. 21

5. Gestionar las copias de seguridad


La utilizacin de la BD depende del funcionamiento correcto del o sistema. Importante poder restaurar informacin en caso de fallo humano o o del sistema. Es necesario reparar la informacin en: o M nimo retraso. Afectando el minimo posible el resto de los usuarios y del sistema. DBA ha de denir pol ticas de recuperacin de informacin: o o o Vaciado peridico de la BD en sistema secundario (disco). Carga de la BD a partir del ltimo vaciado. u Almacenar transacciones.

6. Controlar el rendimiento del sistema


Es responsabilidad del DBA: Organizar el sistema para obtener el mximo rendimiento. a Ajustar el sistema si cambian los requerimientos para poder garantizar el rendimiento mximo: a Cambios de las vistas internas. Realizar backup y restore de la informacin para reorgao nizar los datos. 22

UTILIDADES DEL DBA


Ayudas al DBA en su tarea de administracin de la Base o de Datos. Algunas utilidades trabajan sobre nivel interno. Utilidades proporcionadas por el fabricante del sistema. Ejemplos: o Rutinas de carga (load): Introducir informacin a la BD contenida en cheros de otras aplicaciones. Rutinas de backup: Realizar copias de seguridad y restaurarlas (restore). Rutinas de reorganizacin: Reorganizar los datos o y evitar la fragmentacin. o Rutinas estad sticas: Realizar clculos estad a sticos de comportamiento del sistema para mejorarlo.

23

SISTEMA GESTOR DE BASE DE DATOS (DBMS)


Conjunto de programas que controla todo el acceso a la BD. Interf cie entre el usuario y el Sistema de Base de Datos.

24

PROCESO:

Peticin de acceso por parte de un o usuario (sublenguaje de acceso SQL)

DBMS interpreta peticin o y analiza la

DBMS inspecciona 1. Esquema Externo del usuario 2. Correspondencia (mapping) con el Esquema Conceptual 3. Esquema Conceptual 4. Correspondencia (mapping) con el Esquema Interno 5. Esquema Interno

DBMS ejecuta operaciones sobre la BD f sica Acceso 1 registro externo n registros conceptuales Acceso 1 registro conceptual m registros internos Construir registro conceptual de los m registros internos le dos Construir registro externo de los n registros conceptuales 25

Funciones del DBMS:


I. Denicin de los Datos o II. Manipulacin de los Datos o III. Seguridad e Integridad de los Datos IV. Proveer de mecanismos de recuperacin y concuro rencia de los datos V. Diccionario de Datos VI. Rendimento

26

I. Denicin de los Datos o DBMS ha de aceptar deniciones de los datos


Esquemes Externos Esquema Conceptual Esquema Interno Correspondencias

Ha de interpretar deniciones DDL para poder interpretar y responder solicitudes de los usuarios.

27

II. Manipulacin de los Datos o DBMS ha de atender solicitudes de usuario para * recuperar * modicar INFORMACION * insertar * borrar Solicitudes hechas en DML. DBMS ha de interpretar DML. Peticiones en DML pueden ser:
PREVISTAS: Peticiones que ya se planicaron en el sistema, de forma que el diseo est afectado por estas peticiones con el n a n de mejorar el rendimiento. Peticiones realizadas normalmente en programas de aplicacin. o IMPREVISTAS: Peticiones no planicadas en el diseo, poco fren cuentes. Diseo f n sico puede ser que se adapte o no a la peticin. o Usualmente la respuesta de estos comandos es pobre. Peticiones realizadas normalmente de forma interactiva (SQL).

28

III. Seguridad e Integridad de los Datos DBMS ha de supervisar las solicitudes de acceso de los usuarios, para rechazar los intentos de violar las medidas de integridad y de seguridad denidas por el DBA.

IV. Proveer mecanismos de recuperacin y concur o rencia de los Datos DBMS ha de cuidar el cumplimiento de los controles de recuperacin y de concurrencia. o Tarea que realiza el mdulo del DBMS denominado o ADMINISTRADOR DE TRANSACCIONES

29

V. Diccionario de Datos DBMS ha de mantener un diccionario de datos (o METADATOS) METADATOS: Base de Datos sobre la Base de Datos
Deniciones de los objetos del sistema (esquemas, correspondencias, etc.), tanto en versiones fuente como objeto. Referencias cruzadas para indicar qu programas usan ciertos datos e qu usuarios requieren qu informes e e terminales conectados al sistema Informacin consultable como culaquier otra Base de Datos. o Importante a la hora de saber el grado de afectacin del siso tema (qu programas o usuarios se ven afectados por una e modicacin del sistema). o

VI. Rendimiento DBMS ha de realizar todas las funciones anteriores de la forma ms FIABLE y EFICIENTE possible. a
30

Arquitectura back-end / front-end


Visin diferente de la arquitectura de una BD. Visin o o desde el punto de vista del desarrollo y ejecucin de o aplicaciones sobre la BD. Sistema BD: Estructura formada por dos partes:
back-end (seccin posterior) o n front-ends (secciones frontales)

back-end: DBMS. Realiza todas las funciones descritas en el DBMS. front-ends: Diferentes aplicaciones ejecutadas en el DBMS ESCRITAS por los usuarios. INTEGRADAS: subministradas por el proveedor del DBMS. 31

Aplicaciones pueden dividirse en diferentes categor as: 1. Aplicaciones escritas por los usuarios. Escritas en lenguaje de alto nivel junto con DSL. 2. Aplicaciones integradas (herramientas). Ayudan a la creacin y ejecucin de otras aplicaciones. o o Tipos:
e Intrpretes de lenguajes de consulta Generadores de informes Sistemas de generacin de grcos o a a Hojas de clculo Procesadores de lenguaje natural Paquetes estad sticos Herramientass para administrar copias Generadores de aplicaciones Herramientas para desarrollar aplicaciones, herramientas CASE (Computer Aided Software Engineering)

Nmero y calidad de estas herramientas es imporu tante para evaluar el DBMS (o SGBD). Separacin del back-end y el front-end en dos partes o permite que cada parte pueda estar en nodos f sicos diferentes. SISTEMAS DISTRIBUIDOS
32

Sistemas Distribuidos
PROCESAMIENTO DISTRIBUIDO: Varias mquinas pueden conectarse entre s en red. a Tarea de procesamiento puede abarcar varias ma quinas de la red.

Diferentes estructuras: Sistema Cliente/Servidor Sistema completo de Base de Datos

33

SISTEMA CLIENTE/SERVIDOR
Seccin Posterior: Servidor, despachador. o Ejecucin del DBMS en una mquina. o a Seccin Frontal: Cliente. o Ejecucin de la aplicacin en otra mquina. o o a

34

Ventajas:
o o Paralelizacin: Procesamiento de la seccin posterior y la seccin frontal en paralelo, mejorando el o tiempo de respuesta y el rendimiento. back-end especializado en Base de Datos. front-end: estacin de trabajo personal, adaptada o a las necesidades del usuario nal. Varias mquinas cliente capaces de acceder a la a misma mquina servidora, con lo cual nicamente a u se mantiene UNA SOLA BASE DE DATOS.

35

SISTEMA COMPLETO DE BASE DE DATOS


Distribucin f o sica de los datos en computadores. Cada mquina contiene un Sistema de Base de Datos a entero, con el cual funcionar como a
Servidor para ciertos usuarios Cliente para otros usuarios

36

Una sola mquina ha de ser capaz de acceder a diversos a servidores. Dos posibilidades: 1. Aplicacin front-end puede acceder a n mquinas o a pero slo en una simultaneamente. o Desventajas:
No se pueden combinar datos de dos o ms back-ends en a una sola solicitud. o Usuario ha de saber buscar informacin.

2. Aplicacin front-end puede acceder a n mquinas o a simultaneamente.


Se pueden combinar datos de varios back-ends en una sola solicitud. front-end Ve los n back-ends como un slo back-end o lgico. o Usuario no ha de saber cuantos back-ends.

SISTEMAS DE BD DISTRIBUIDOS

37

SISTEMAS DE BD DISTRIBUIDOS
Implica que una sola aplicacin ser capaz de trabajar o a de forma transparente con
Diferentes BD

Diferentes SO

Diferentes DBMS

En realidad, aplicacin trabaja desde un punt de vista o lgico con o


Una sola BD

Un slo SO o

Un slo DBMS o 38

También podría gustarte